[UBK dev] Az init szkript javítandó!
Kiss Attila
attus at enterpriseforever.com
2017. Már. 13., H, 09:49:44 CET
2017-03-12 15:20 keltezéssel, Kiss Attila írta:
>
> *Tehát a grub linux sorában lévő **"rootflags=subvol=@" **nem jut
> érvényre!*
Nézegetem ezt az egykor ragyogóan megírt ősi rendszerindító szkriptet,
nagy bash tudással rendelkeztek az egykori alkotói. Csak a lehetőségek
azóta már jócskán kitágultak, amikkel nem tud élni, ezért *mindenképp
javítandó!*
Úgy látom, hogy nem veszi figyelembe a kernel parancssorában megadott
root partíció csatolási opcióit, nemcsak a rootflags, hanem még a ro és
rw opciók sem érvényesülhetnek*.*
A rootmount funkció a megkapott $o paraméterekkel csatolja fel a a neki
megadott $1 eszközt a /mnt alá.
Ezt a $o paramétert kiegészíti előbb: o="noatime,nodiratime,$o", majd
csatolja: mount -o "$o" "$1" /mnt
A case "$boot" in részben hívja meg a rootmount funkciót, melyben
felcsatolja az UUID= után talált eszközt a /mnt alá, előtte a $o nem kap
értéket sehol.
Ezért a leendő gyökér partíció csatolása az intramdiszkben szereplő init
szkripttel a default értékekkel történik mindig.
UUID=*)
dev="/dev/disk/by-uuid/${boot#UUID=}"
btrfs device scan
udevadm settle
if [ -e "$dev" ]; then
rootmount "$dev"
else
raid_start
if [ -e "$dev" ]; then
rootmount "$dev"
else
lvm_start
rootmount "$dev"
fi
fi
;;
Azt, hogy ez a $boot változó mikor és hol kap értéket, még nem tudtam
kibogozni.
Van még egy érdekes rész ebben a szkriptben.
# ugly hack for kernel 3.4.0-rc3
eval "$(tr ' ' '\n' </proc/cmdline |grep =|while read x; do echo export
$x; done)"
Ez még számomra nagyon ködös, csak azt tudom, hogy az = jelekkel
rendelkező részeket szűri ki, de, hogy ez mibe megy, nem tudom.
Próbaképp beírtam a futó RIA telepítményem indításakor a grup
parancssorba egy kis kiegészítést, ami alapján el lehetne indulni.
És az eredmény:
attila at localhost:/usr/src/UHUBUILD/UB-UBK1$ cat /proc/cmdline
BOOT_IMAGE=/kernel-4.4.52-1.i386
root=UUID=63a3497d-6f3b-4d91-9566-2236069bd718 ro rootflags=subvol=@
nomodeset
attila at localhost:/usr/src/UHUBUILD/UB-UBK1$
A gond az, hogy a btrfs telepítményem indításakor, mikor a sikertelen
gyökércsatolás után visszalök az init a bash-ba, akkor még a cat parancs
nem létezik, a szkriptbe beépíthetetlen.
--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: <http://lists.ubk.hu/pipermail/dev/attachments/20170313/87252421/attachment.html>
More information about the dev
mailing list