Brak oczekiwania na dyski w initrd.
Łukasz Krotowski
lukasz.krotowski at gmail.com
Thu Jul 25 22:39:21 CEST 2013
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
<arekm w maven.pl> 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
More information about the pld-devel-pl
mailing list