[Eisfair_dev] Update auf eiskernel 42e12e2 - auf einem USB-Datenträger

Stefan Puschek stefan.puschek at t-online.de
Mi Dez 4 12:00:39 CET 2019


Hallo Tom,
...
>> nun sind wir klucher :)
>> der sleep 2 HINTER udevadm settle hat den gewünschten Effekt.
> 
> Danke für den Test :-)

graag gedaan :)

>>> Ich versuche gerade eine Lösung zu bauen, die auf das Vorhandensein 
>>> der UUID des root-Devices unter /dev/disk/by-uuid prüft und erst bei 
>>> deren Erscheinen weitermacht. Die UUID bekomme ich per "cat 
>>> /proc/cmdline", dahin übergibt sie lilo.
>> das könnte dann wohl überflüssig sein...
> 
> Könntest Du noch etwas testen? Nimm den sleep oben noch einmal raus und 
> modifiziere bitte den folgenden Abschnitt der Datei init in der initramfs:
> 
> Original:
> 
> if $($GREP -q '^UUID' /rootdev)
> then
>      # UUID=2381eff1-9677-4a04-9faa-323247ec2f83
>      string="$($CAT /rootdev)"
>      echo "rootdev is a UUID: $string, converting it to device ..."
>      UUIDDEV="$(findfs "$string")"
>      echo "UUIDDEV is $UUIDDEV."
>      $RDEV "$UUIDDEV"
>      echo "rootdev is now $($CAT /rootdev)."
> fi
> 
> 
> Nach Änderung:
> 
> if $($GREP -q '^UUID' /rootdev)
> then
>      # UUID=2381eff1-9677-4a04-9faa-323247ec2f83
>      string="$($CAT /rootdev)"
>      echo "rootdev is a UUID: $string"
> 
>      root_uuid="$(echo "$string" | $AWK -F'=' '{print $2}')"
>      # 2381eff1-9677-4a04-9faa-323247ec2f83
>      for try in 0 1 2 3 4 5 6 7 8 9
>      do
>          # wait max 10 seconds
>          test -L /dev/disk/by-uuid/${root_uuid} && break
>          echo "Waiting for ${root_uuid} to appear in /dev/disk/by-uuid ..."
>          sleep 1
>      done
> 
>      if [ ! -L /dev/disk/by-uuid/${root_uuid} ]
>      then
>          echo ""
>          echo "Cannot find ${root_uuid} in /dev/disk/by-uuid/. Giving up 
> ..."
>          shell
>      fi
> 
>      echo "Converting $string to device ..."
>      UUIDDEV="$(findfs "$string")"
>      echo "UUIDDEV is $UUIDDEV."
>      $RDEV "$UUIDDEV"
>      echo "rootdev is now $($CAT /rootdev)."
> fi
> 
> Wie gehabt initramfs zusammen packen, nach /boot kopieren, lilo 
> ausführen und testen.

done

das Notebook hat 10 von 10 reboots überlebt - keine busybox

auch der Test auf meinen Atömchen ist positiv verlaufen

HTH

Groetjes
Stefan




Mehr Informationen über die Mailingliste Eisfair_dev