Hallo, unten habe ich ein funktionierendes grub Script, was ein ISO Arch LInux Image booten kann.
Das Image befindet sich auf einem BTRFS Volume, das Script soll nun auf mehrern Rechner verwendet werden, der reale Pfad zum Iso Image ist aber immer wieder anders.
Das BTRFS Subvolume und das /dev/disk/.. sind variabel - in gelb markiert.
Frage: Wie kann ich am einfachsten zur Laufzeit herausfinden, wo sich das ISO Image befindet? Beispiel: das ISO liegt hier im Dateisystem: /daten/iso/archlinux-2016.09.03-dual.iso Wie ermittle ich daraus /dev/disk/... und das BTRFS Subvolume?
export ISOFILE="/@data/iso/archlinux-2016.09.03-dual.iso" echo "Found ISOFILE image: ${ISOFILE}" >&2 export imgdevpath=/dev/disk/by-label/root cat << EOF menuentry "${ISOFILE}" { load_video search -n -f --set=root ${ISOFILE} loopback loop ${ISOFILE} linux (loop)/arch/boot/x86_64/vmlinuz img_dev=$imgdevpath img_loop=${ISOFILE} earlymodules=loop initrd (loop)/arch/boot/x86_64/archiso.img } EOF exit 0
Vielen Dank u1000