Hallo Fabian,
super schnelle Antwort .. aber...
Fabian Hänsel fabtagon@gmx.de (So 22 Mär 2009 22:27:56 CET):
Hallo,
Es gibt mehrere Boot-Partitionen (/dev/sda1 (Platte), /dev/sdb1 (USB-Stick). Ich möchte jetzt, wenn das System gestartet ist, feststellen, von welchem der Geräte gebootet wurde. Die Geräte haben identische Inhalte.
$ mount | grep " / " | cut -d" " -f1
... das hilft nicht wirklich weiter. Die Frage war nicht nach dem "root"-Filesystem, sondern nach dem "boot"-Filesystem
ROOT: /dev/mapper/jumper-root on / type ext3 (rw,relatime,errors=remount-ro)
BOOT: /dev/sda1 on /boot type ext3 (rw)
Wobei das letztere gelogen ist, denn das wurde dort nur gemounted, weil's in der fstab so drin steht. Wirklich gebootet hat der Kasten vom USB-Stick (/dev/sdb1).
oder auch /proc/cmdline .
root=/dev/mapper/jumper-root ro quiet
Auch das ist nur das ROOT-FS. Und außerdem müsste dort nicht mal was stehen, denn der Kernel könnte ja auch mittels rdev(8) erfahren haben, woher gebootet wird.
Wo der Grub den Kernel hergeholt hat weiß dieser afaik nicht, da der Grub ja den Kernel lädt, selbst abtritt und den Kernel starten lässt, wodurch der Kernel damit, wie er in den RAM kommt, gar nichts zu tun hat und über seine Herkunft nur spekulieren kann
Ja eben -- genau danach suche ich - ob der GRUB irgendwo dem Kernel hinterläßt, welches Gerät (sicher irgend so eine BIOS 0x8? Zahl) er genutzt hatte, um vmlinuz und initrd (können ja durchaus auch verschiedene sein) zu laden.