W odpowiedzi na wiadomość z dnia 19.06.2015, 19:21, od Jacek Konieczny:

W sumie to pewnie coś związanego z nVidia/Optimus - pierwsze wywołanie
wrzuca właściwy font (nie wiem tylko czy z właściwą mapą), po czym ładuje
się nvidia i jest standardowy font en

Próbowałeś sterownik grafiki do initramfs wrzucić? Dracut wydaje się zbyt
głupi, żeby samemu na to wpaść, ale jak mu się w konfig wpisze co trzeba, to
załaduje sterownik grafiki i ustawi fonty jeszcze przed startem właściwego
inita.
Używam genintrd przy pomocy skryptu z załącznika. Dorzuciłem PREMODS="nvidia"
do /etc/sysconfig/genintrd, niczego to nie zmieniło na lepsze, tylko initramfs
urósł sporo, a systemd-vconsole-setup.service nawet fontu nie ładuje…
Mam wrażenie, ze w przypadku takiej hybrydy grafiki nie da się inaczej niż w rc.local wywołać ponowną konfigurację font/key-map.
Zresztą używanie na tym Xorg to też zabawa w oskryptowywanie xrandr.
--
Pozdrawiam,
Light-I

#!/usr/bin/env python2
# -*- encoding: utf-8 -*-
# -*- coding: utf-8 -*-

from os import path as ph, getcwd as pwd, chdir as cd, remove as rm
from glob import glob as ls
class bootCleanup:
        def __init__(self):
                cdir = pwd()
                self.main()
                cd(cdir)

        def lsFileVer(self, fileminor, cut=None):
                lsVer = ls(fileminor)
                ver_list = []
                for key_ver in lsVer:
                        if cut:
                                key_ver = key_ver.replace(cut, '')
                        ver_list.append(key_ver.split('-', 1)[1])
                ver_list = sorted(ver_list, key=lambda x: map(int, 
x.replace('-', '.').split('.')), reverse=True)
                print("%s:" % fileminor)
                for ver in ver_list:
                        print("\t<%s>" % ver)
                return ver_list

        def main(self):
                cd('/boot')
                ver_kernel = self.lsFileVer('vmlinuz-*')
                ver_initrd = self.lsFileVer('initrd-*.xz', cut='.xz')
                ver_initram = self.lsFileVer('initramfs-*.img', cut='.img')
                for ver in ver_kernel:
                        if ver not in ver_initrd:
                                self.run("geninitrd -v -f initrd-%s.xz %s" % 
tuple((ver,)*2))
                for ver in ver_initrd:
                        if ver not in ver_kernel:
                                print("> rm initrd-%s.xz" % ver)
                                rm("initrd-%s.xz" % ver)
                if ver_kernel:
                        self.run("ln -sf vmlinuz-%s vmlinuz" % (ver_kernel[0]))
                        self.run("ln -sf initrd-%s.xz initrd" % (ver_kernel[0]))
                        self.run("ln -sf initramfs-%s.img initram" % 
(ver_kernel[0]))
                if len(ver_kernel)>1:
                        self.run("ln -sf vmlinuz-%s vmlinuz.old" % 
(ver_kernel[1]))
                        self.run("ln -sf initrd-%s.xz initrd.old" % 
(ver_kernel[1]))
                        self.run("ln -sf initramfs-%s.img initram.old" % 
(ver_kernel[1]))
                for gz_inrd in ls("initrd*.gz"):
                        print("> rm %s" % gz_inrd)
                        rm(gz_inrd)
                bMemT = False
                memTdst = 'memtest'
                for memt in ('memtest86+', '/usr/bin/memtester'):
                        if ph.isfile(memt):
                                self.run("ln -sf %s %s"% (memt, memTdst))
                                bMemT = True
                                break
                if not bMemT and ph.islink(memTdst):
                        print("> rm %s" % memTdst)
                        rm(memTdst)

        def run(self, cmd, echo=True):
                from subprocess import Popen
                from time import sleep
                from shlex import split as shs
                if echo:
                        print("> %s" % cmd)
                process = Popen(shs(cmd))
                while process.poll() == None: # poll()=None means still running
                        sleep(.4)
                return

if __name__=='__main__':
        gogo = bootCleanup()
_______________________________________________
pld-devel-pl mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-devel-pl

Odpowiedź listem elektroniczym