Po ostatnim upgrade klawisze sterujące w konsoli strzeliły focha [systemd]
Light-I
light-i at o2.pl
Fri Jun 19 21:17:04 CEST 2015
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
-------------- nast�pna cz��� ---------
#!/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()
More information about the pld-devel-pl
mailing list