Cześć, być może czegoś nie rozumiem w geninitrd ale nie wiem jak to miałoby pomóc, ale po kolei:
W dniu 19 lipca 2013 12:23 użytkownik Arkadiusz Miśkiewicz <[email protected]> napisał: > Może coś w stylu (nietestowane, u mnie problem nie występuje niestety): > > Index: functions > =================================================================== > --- functions (wersja 12710) > +++ functions (kopia robocza) > @@ -104,6 +104,25 @@ > return 0 > } > > +# waits for specified device until device is found or timeout happens > +wait_for_device() { > + local dev="$1" > + local timeout="$2" > + local i > + > + # default = 10s > + [ -z "$timeout" ] && timeout=5 ^^^^^^^^^^^ miało być 10s nie 5s > + i=0 > + while [ "$i" -lt "$(( timeout * 10 ))" ]; then ^^^^^^ "do" zamiast "then" > + > + [ -e "$dev" ] && return 0 > + > + i=$(( i + 1 )) > + usleep 0.1 ^^^^^^^^^^^ usleep ma parametr w usek więc 1/10 sek to 100000 > + done > + return 1 > +} > + > # resolve /dev/dm-0 to lvm2 node > # which they got from blkid program fs was specifed as UUID= in fstab > dm_lvm2_name() { > Index: geninitrd > =================================================================== > --- geninitrd (wersja 12710) > +++ geninitrd (kopia robocza) > @@ -1515,6 +1515,8 @@ > initrd_gen_tuxonice > initrd_gen_suspend > > +wait_for_device "$rootdev" > + I tego nie rozumiem. Jeśli dobrze odczytuje pacha to (po poprawkach jak wyżej) spowoduje oczekiwanie na dyski przy generowaniu initrd. Jeśli dobrze rozumiem zamysł to wait_for_device powinna zostać dodana do linuxrc i wywołana gdzieś na początku (przed skanem /proc/partitions), prawda? > # clean up env > add_linuxrc <<-'EOF' > if [ ! "$DEBUGINITRD" ]; then Pozdr., Łukasz _______________________________________________ pld-devel-pl mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-devel-pl
