[LUGargano] come faccio a capire il device in cui montare la root durante l'initramfs?

Marco Baldinetti marcobaldinetti@tele2.it
Lun 28 Gen 2008 19:36:58 CET


ciao a tutti,

contento di gentoo, l'ho appena installara su una pendrive kingston da
2gb con grub come bootloader.
il mio scopo è quello di arrivare a creare un sistema in grado di essere
"portabile", ossia di autoriconoscere l'hardware e di configurarsi di
conseguenza.
Mi sono imbattuto nella strada dei livecd ma ho scartato subito l'idea
dato che in pratica non permettono la modifica del sistema dato che
occorre passare per squashfs e unionfs.

Attualmente la pendrive sul mio pc è riconosciuta come /dev/sdc in cui ho:
/dev/sdc1 --> share (fat32)
/dev/sdc2 --> boot (ext3)
/dev/sdc3 --> swap
/dev/sdc4 --> root (ext3)

dato che sul mio pc ho anche un fake-raid ho creato la initramfs con il
DMRAID per permettermi di leggere il contenuto dell'hard disk.

grub è configurato per avviare la initramfs e montare la real_root in
/dev/sdc4.

e fino qui tutto funziona alla grande. il sistema effettua il boot ed è
tutto configurato.

ora il problema è: creare uno script che mi permetta di autodeterminare
la root e di montarla di conseguenza dato che su altri pc può essere
identificata come /dev/sda4 ecc...

spulciando l'initramfs ho trovato le seguenti linee:

REAL_ROOT=''
FAKE_ROOT=''
REAL_ROOTFLAGS=''
CRYPT_SILENT=0
for x in ${CMDLINE}
do
        case "${x}" in
                real_root\=*)
                        REAL_ROOT=`parse_opt "${x}"`
                ;;
                root\=*)
                        FAKE_ROOT=`parse_opt "${x}"`
                ;;
                subdir\=*)
                        SUBDIR=`parse_opt "${x}"`
                ;;
                real_init\=*)
                        REAL_INIT=`parse_opt "${x}"`
                ;;
                init_opts\=*)
                        INIT_OPTS=`parse_opt "${x}"`
                ;;

da quello che ho letto qua e là in giro per il web, la linea
REAL_ROOT=`parse_opt "${x}"` serve per assegnare alla variabile
REAL_ROOT il valore di real_root del grub.conf tramite la funzione
parse_opt.

ora mi servirebbe qualche consiglio su come autodeterminare la root da
montare. se non sbaglio i LiveCD permettono questa cosa.

c'è qualche anima pia in grado di aiutarmi?

grazie!

ciao ciao



Maggiori informazioni sulla lista LUGargano