boot directly from knoppix iso files
environments
- OS
- Ubuntu 12.04 LTS (precise)
- packages:
- grub2-common 1.99-21ubuntu3.1
- p7zip-full 9.20.1~dfsg.1-4
- ISO images
- knoppix_v6.7.1CD_20110914-20111018.iso
- knoppix_v7.0.2DVD_20120530-20120615.iso
usage
- sudo cp 50_knoppix /etc/grub.d/50_knoppix
- sudo mkdir /boot/knoppix
- (download knoppix_v7.0.2DVD_20120530-20120615.iso)
- sudo cp knoppix_v7.0.2DVD_20120530-20120615.iso /boot/knoppix/knoppix_v7.0.2DVD_20120530-20120615.iso
- sudo update-grub
- reboot
- “KNOPPIX v7.0.2DVD_20120530-20120615” で起動
partial example of /boot/grub/grub.cfg
### BEGIN /etc/grub.d/50_knoppix ### submenu "KNOPPIX v6.7.1CD_20110914-20111018" { menuentry "DEFAULT knoppix" --class knoppix --class gnu-linux --class gnu --class os { insmod part_msdos insmod ext2 set root='(hd0,msdos2)' search --no-floppy --fs-uuid --set=root 33d00cd6-2ba2-4aed-9409-4e70519a6576 loopback loop0 /boot/knoppix/knoppix_v6.7.1CD_20110914-20111018.iso linux (loop0)/boot/isolinux/ ramdisk_size=100000 lang=ja vt.default_utf8=0 apm=power-off nomce libata.force=noncq hpsa.hpsa_allow_any=1 loglevel=1 tz=Asia/Tokyo bootfrom=/dev/sda2/boot/knoppix/knoppix_v6.7.1CD_20110914-20111018.iso initrd (loop0)/boot/isolinux/minirt.gz } menuentry "adriane" --class knoppix --class gnu-linux --class gnu --class os { insmod part_msdos insmod ext2 set root='(hd0,msdos2)' search --no-floppy --fs-uuid --set=root 33d00cd6-2ba2-4aed-9409-4e70519a6576 loopback loop0 /boot/knoppix/knoppix_v6.7.1CD_20110914-20111018.iso linux (loop0)/boot/isolinux/linux ramdisk_size=100000 lang=ja vt.default_utf8=0 apm=power-off video=640x480 nomce libata.force=noncq hpsa.hpsa_allow_any=1 loglevel=1 tz=Asia/Tokyo adriane bootfrom=/dev/sda2/boot/knoppix/knoppix_v6.7.1CD_20110914-20111018.iso initrd (loop0)/boot/isolinux/minirt.gz } menuentry "adriane64" --class knoppix --class gnu-linux --class gnu --class os { insmod part_msdos insmod ext2 set root='(hd0,msdos2)' search --no-floppy --fs-uuid --set=root 33d00cd6-2ba2-4aed-9409-4e70519a6576 loopback loop0 /boot/knoppix/knoppix_v6.7.1CD_20110914-20111018.iso linux (loop0)/boot/isolinux/linux64 ramdisk_size=100000 lang=ja vt.default_utf8=0 apm=power-off video=640x480 nomce libata.force=noncq hpsa.hpsa_allow_any=1 loglevel=1 tz=Asia/Tokyo adriane bootfrom=/dev/sda2/boot/knoppix/knoppix_v6.7.1CD_20110914-20111018.iso initrd (loop0)/boot/isolinux/minirt.gz } menuentry "knoppix" --class knoppix --class gnu-linux --class gnu --class os { insmod part_msdos insmod ext2 set root='(hd0,msdos2)' search --no-floppy --fs-uuid --set=root 33d00cd6-2ba2-4aed-9409-4e70519a6576 loopback loop0 /boot/knoppix/knoppix_v6.7.1CD_20110914-20111018.iso linux (loop0)/boot/isolinux/linux ramdisk_size=100000 lang=ja vt.default_utf8=0 apm=power-off nomce libata.force=noncq hpsa.hpsa_allow_any=1 loglevel=1 tz=Asia/Tokyo bootfrom=/dev/sda2/boot/knoppix/knoppix_v6.7.1CD_20110914-20111018.iso initrd (loop0)/boot/isolinux/minirt.gz } menuentry "knoppix64" --class knoppix --class gnu-linux --class gnu --class os { insmod part_msdos insmod ext2 set root='(hd0,msdos2)' search --no-floppy --fs-uuid --set=root 33d00cd6-2ba2-4aed-9409-4e70519a6576 loopback loop0 /boot/knoppix/knoppix_v6.7.1CD_20110914-20111018.iso linux (loop0)/boot/isolinux/linux64 ramdisk_size=100000 lang=ja vt.default_utf8=0 apm=power-off nomce libata.force=noncq hpsa.hpsa_allow_any=1 loglevel=1 tz=Asia/Tokyo bootfrom=/dev/sda2/boot/knoppix/knoppix_v6.7.1CD_20110914-20111018.iso initrd (loop0)/boot/isolinux/minirt.gz } menuentry "debug" --class knoppix --class gnu-linux --class gnu --class os { insmod part_msdos insmod ext2 set root='(hd0,msdos2)' search --no-floppy --fs-uuid --set=root 33d00cd6-2ba2-4aed-9409-4e70519a6576 loopback loop0 /boot/knoppix/knoppix_v6.7.1CD_20110914-20111018.iso linux (loop0)/boot/isolinux/linux ramdisk_size=100000 lang=ja vt.default_utf8=0 apm=power-off nomce libata.force=noncq hpsa.hpsa_allow_any=1 loglevel=1 tz=Asia/Tokyo debug bootfrom=/dev/sda2/boot/knoppix/knoppix_v6.7.1CD_20110914-20111018.iso initrd (loop0)/boot/isolinux/minirt.gz } menuentry "debug64" --class knoppix --class gnu-linux --class gnu --class os { insmod part_msdos insmod ext2 set root='(hd0,msdos2)' search --no-floppy --fs-uuid --set=root 33d00cd6-2ba2-4aed-9409-4e70519a6576 loopback loop0 /boot/knoppix/knoppix_v6.7.1CD_20110914-20111018.iso linux (loop0)/boot/isolinux/linux64 ramdisk_size=100000 lang=ja vt.default_utf8=0 apm=power-off nomce libata.force=noncq hpsa.hpsa_allow_any=1 loglevel=1 tz=Asia/Tokyo debug bootfrom=/dev/sda2/boot/knoppix/knoppix_v6.7.1CD_20110914-20111018.iso initrd (loop0)/boot/isolinux/minirt.gz } menuentry "grub" { insmod part_msdos insmod ext2 set root='(hd0,msdos2)' search --no-floppy --fs-uuid --set=root 33d00cd6-2ba2-4aed-9409-4e70519a6576 loopback loop0 /boot/knoppix/knoppix_v6.7.1CD_20110914-20111018.iso linux (loop0)/boot/isolinux/grub.exe --config=; } menuentry "fb1024x768" --class knoppix --class gnu-linux --class gnu --class os { insmod part_msdos insmod ext2 set root='(hd0,msdos2)' search --no-floppy --fs-uuid --set=root 33d00cd6-2ba2-4aed-9409-4e70519a6576 loopback loop0 /boot/knoppix/knoppix_v6.7.1CD_20110914-20111018.iso linux (loop0)/boot/isolinux/linux ramdisk_size=100000 lang=ja vt.default_utf8=0 apm=power-off vga=791 video=1024x768 xmodule=fbdev nomce libata.force=noncq hpsa.hpsa_allow_any=1 loglevel=1 tz=Asia/Tokyo bootfrom=/dev/sda2/boot/knoppix/knoppix_v6.7.1CD_20110914-20111018.iso initrd (loop0)/boot/isolinux/minirt.gz } menuentry "fb1280x1024" --class knoppix --class gnu-linux --class gnu --class os { insmod part_msdos insmod ext2 set root='(hd0,msdos2)' search --no-floppy --fs-uuid --set=root 33d00cd6-2ba2-4aed-9409-4e70519a6576 loopback loop0 /boot/knoppix/knoppix_v6.7.1CD_20110914-20111018.iso linux (loop0)/boot/isolinux/linux ramdisk_size=100000 lang=ja vt.default_utf8=0 apm=power-off vga=794 video=1280x1024 xmodule=fbdev nomce libata.force=noncq hpsa.hpsa_allow_any=1 loglevel=1 tz=Asia/Tokyo bootfrom=/dev/sda2/boot/knoppix/knoppix_v6.7.1CD_20110914-20111018.iso initrd (loop0)/boot/isolinux/minirt.gz } menuentry "fb800x600" --class knoppix --class gnu-linux --class gnu --class os { insmod part_msdos insmod ext2 set root='(hd0,msdos2)' search --no-floppy --fs-uuid --set=root 33d00cd6-2ba2-4aed-9409-4e70519a6576 loopback loop0 /boot/knoppix/knoppix_v6.7.1CD_20110914-20111018.iso linux (loop0)/boot/isolinux/linux ramdisk_size=100000 lang=ja vt.default_utf8=0 apm=power-off vga=788 video=800x600 xmodule=fbdev nomce libata.force=noncq hpsa.hpsa_allow_any=1 loglevel=1 tz=Asia/Tokyo bootfrom=/dev/sda2/boot/knoppix/knoppix_v6.7.1CD_20110914-20111018.iso initrd (loop0)/boot/isolinux/minirt.gz } menuentry "fb640x480" --class knoppix --class gnu-linux --class gnu --class os { insmod part_msdos insmod ext2 set root='(hd0,msdos2)' search --no-floppy --fs-uuid --set=root 33d00cd6-2ba2-4aed-9409-4e70519a6576 loopback loop0 /boot/knoppix/knoppix_v6.7.1CD_20110914-20111018.iso linux (loop0)/boot/isolinux/linux ramdisk_size=100000 lang=ja vt.default_utf8=0 apm=power-off vga=785 video=640x480 xmodule=fbdev nomce libata.force=noncq hpsa.hpsa_allow_any=1 loglevel=1 tz=Asia/Tokyo bootfrom=/dev/sda2/boot/knoppix/knoppix_v6.7.1CD_20110914-20111018.iso initrd (loop0)/boot/isolinux/minirt.gz } menuentry "memtest" { insmod part_msdos insmod ext2 set root='(hd0,msdos2)' search --no-floppy --fs-uuid --set=root 33d00cd6-2ba2-4aed-9409-4e70519a6576 loopback loop0 /boot/knoppix/knoppix_v6.7.1CD_20110914-20111018.iso linux16 (loop0)/boot/isolinux/memtest foo } menuentry "dos" { insmod part_msdos insmod ext2 set root='(hd0,msdos2)' search --no-floppy --fs-uuid --set=root 33d00cd6-2ba2-4aed-9409-4e70519a6576 loopback loop0 /boot/knoppix/knoppix_v6.7.1CD_20110914-20111018.iso linux16 (loop0)/boot/isolinux/memdisk initrd16 (loop0)/boot/isolinux/balder.img } menuentry "failsafe" --class knoppix --class gnu-linux --class gnu --class os { insmod part_msdos insmod ext2 set root='(hd0,msdos2)' search --no-floppy --fs-uuid --set=root 33d00cd6-2ba2-4aed-9409-4e70519a6576 loopback loop0 /boot/knoppix/knoppix_v6.7.1CD_20110914-20111018.iso linux (loop0)/boot/isolinux/linux ramdisk_size=100000 lang=ja vt.default_utf8=0 vga=normal atapicd nosound noapic nolapic noacpi pnpbios=off acpi=off nofstab noscsi nodma noapm nousb nopcmcia nofirewire noagp nomce libata.force=noncq hpsa.hpsa_allow_any=1 nonetwork nodhcp xmodule=vesa bootfrom=/dev/sda2/boot/knoppix/knoppix_v6.7.1CD_20110914-20111018.iso initrd (loop0)/boot/isolinux/minirt.gz } } submenu "KNOPPIX v7.0.2DVD_20120530-20120615" { menuentry "DEFAULT knoppix" --class knoppix --class gnu-linux --class gnu --class os { insmod part_msdos insmod ext2 set root='(hd0,msdos2)' search --no-floppy --fs-uuid --set=root 33d00cd6-2ba2-4aed-9409-4e70519a6576 loopback loop0 /boot/knoppix/knoppix_v7.0.2DVD_20120530-20120615.iso linux (loop0)/boot/isolinux/ ramdisk_size=100000 lang=ja apm=power-off nomce libata.force=noncq hpsa.hpsa_allow_any=1 loglevel=1 tz=Asia/Tokyo bootfrom=/dev/sda2/boot/knoppix/knoppix_v7.0.2DVD_20120530-20120615.iso initrd (loop0)/boot/isolinux/minirt.gz } menuentry "adriane" --class knoppix --class gnu-linux --class gnu --class os { insmod part_msdos insmod ext2 set root='(hd0,msdos2)' search --no-floppy --fs-uuid --set=root 33d00cd6-2ba2-4aed-9409-4e70519a6576 loopback loop0 /boot/knoppix/knoppix_v7.0.2DVD_20120530-20120615.iso linux (loop0)/boot/isolinux/linux ramdisk_size=100000 lang=ja apm=power-off video=640x480 nomce libata.force=noncq hpsa.hpsa_allow_any=1 loglevel=1 tz=Asia/Tokyo adriane bootfrom=/dev/sda2/boot/knoppix/knoppix_v7.0.2DVD_20120530-20120615.iso initrd (loop0)/boot/isolinux/minirt.gz } menuentry "adriane64" --class knoppix --class gnu-linux --class gnu --class os { insmod part_msdos insmod ext2 set root='(hd0,msdos2)' search --no-floppy --fs-uuid --set=root 33d00cd6-2ba2-4aed-9409-4e70519a6576 loopback loop0 /boot/knoppix/knoppix_v7.0.2DVD_20120530-20120615.iso linux (loop0)/boot/isolinux/linux64 ramdisk_size=100000 lang=ja apm=power-off video=640x480 nomce libata.force=noncq hpsa.hpsa_allow_any=1 loglevel=1 tz=Asia/Tokyo adriane bootfrom=/dev/sda2/boot/knoppix/knoppix_v7.0.2DVD_20120530-20120615.iso initrd (loop0)/boot/isolinux/minirt.gz } menuentry "knoppix" --class knoppix --class gnu-linux --class gnu --class os { insmod part_msdos insmod ext2 set root='(hd0,msdos2)' search --no-floppy --fs-uuid --set=root 33d00cd6-2ba2-4aed-9409-4e70519a6576 loopback loop0 /boot/knoppix/knoppix_v7.0.2DVD_20120530-20120615.iso linux (loop0)/boot/isolinux/linux ramdisk_size=100000 lang=ja apm=power-off nomce libata.force=noncq hpsa.hpsa_allow_any=1 loglevel=1 tz=Asia/Tokyo bootfrom=/dev/sda2/boot/knoppix/knoppix_v7.0.2DVD_20120530-20120615.iso initrd (loop0)/boot/isolinux/minirt.gz } menuentry "knoppix64" --class knoppix --class gnu-linux --class gnu --class os { insmod part_msdos insmod ext2 set root='(hd0,msdos2)' search --no-floppy --fs-uuid --set=root 33d00cd6-2ba2-4aed-9409-4e70519a6576 loopback loop0 /boot/knoppix/knoppix_v7.0.2DVD_20120530-20120615.iso linux (loop0)/boot/isolinux/linux64 ramdisk_size=100000 lang=ja apm=power-off nomce libata.force=noncq hpsa.hpsa_allow_any=1 loglevel=1 tz=Asia/Tokyo bootfrom=/dev/sda2/boot/knoppix/knoppix_v7.0.2DVD_20120530-20120615.iso initrd (loop0)/boot/isolinux/minirt.gz } menuentry "debug" --class knoppix --class gnu-linux --class gnu --class os { insmod part_msdos insmod ext2 set root='(hd0,msdos2)' search --no-floppy --fs-uuid --set=root 33d00cd6-2ba2-4aed-9409-4e70519a6576 loopback loop0 /boot/knoppix/knoppix_v7.0.2DVD_20120530-20120615.iso linux (loop0)/boot/isolinux/linux ramdisk_size=100000 lang=ja apm=power-off nomce libata.force=noncq hpsa.hpsa_allow_any=1 loglevel=1 tz=Asia/Tokyo debug bootfrom=/dev/sda2/boot/knoppix/knoppix_v7.0.2DVD_20120530-20120615.iso initrd (loop0)/boot/isolinux/minirt.gz } menuentry "debug64" --class knoppix --class gnu-linux --class gnu --class os { insmod part_msdos insmod ext2 set root='(hd0,msdos2)' search --no-floppy --fs-uuid --set=root 33d00cd6-2ba2-4aed-9409-4e70519a6576 loopback loop0 /boot/knoppix/knoppix_v7.0.2DVD_20120530-20120615.iso linux (loop0)/boot/isolinux/linux64 ramdisk_size=100000 lang=ja apm=power-off nomce libata.force=noncq hpsa.hpsa_allow_any=1 loglevel=1 tz=Asia/Tokyo debug bootfrom=/dev/sda2/boot/knoppix/knoppix_v7.0.2DVD_20120530-20120615.iso initrd (loop0)/boot/isolinux/minirt.gz } menuentry "grub" { insmod part_msdos insmod ext2 set root='(hd0,msdos2)' search --no-floppy --fs-uuid --set=root 33d00cd6-2ba2-4aed-9409-4e70519a6576 loopback loop0 /boot/knoppix/knoppix_v7.0.2DVD_20120530-20120615.iso linux (loop0)/boot/isolinux/grub.exe --config=; } menuentry "fb1024x768" --class knoppix --class gnu-linux --class gnu --class os { insmod part_msdos insmod ext2 set root='(hd0,msdos2)' search --no-floppy --fs-uuid --set=root 33d00cd6-2ba2-4aed-9409-4e70519a6576 loopback loop0 /boot/knoppix/knoppix_v7.0.2DVD_20120530-20120615.iso linux (loop0)/boot/isolinux/linux ramdisk_size=100000 lang=ja apm=power-off vga=791 video=1024x768 xmodule=fbdev nomce libata.force=noncq hpsa.hpsa_allow_any=1 loglevel=1 tz=Asia/Tokyo bootfrom=/dev/sda2/boot/knoppix/knoppix_v7.0.2DVD_20120530-20120615.iso initrd (loop0)/boot/isolinux/minirt.gz } menuentry "fb1280x1024" --class knoppix --class gnu-linux --class gnu --class os { insmod part_msdos insmod ext2 set root='(hd0,msdos2)' search --no-floppy --fs-uuid --set=root 33d00cd6-2ba2-4aed-9409-4e70519a6576 loopback loop0 /boot/knoppix/knoppix_v7.0.2DVD_20120530-20120615.iso linux (loop0)/boot/isolinux/linux ramdisk_size=100000 lang=ja apm=power-off vga=794 video=1280x1024 xmodule=fbdev nomce libata.force=noncq hpsa.hpsa_allow_any=1 loglevel=1 tz=Asia/Tokyo bootfrom=/dev/sda2/boot/knoppix/knoppix_v7.0.2DVD_20120530-20120615.iso initrd (loop0)/boot/isolinux/minirt.gz } menuentry "fb800x600" --class knoppix --class gnu-linux --class gnu --class os { insmod part_msdos insmod ext2 set root='(hd0,msdos2)' search --no-floppy --fs-uuid --set=root 33d00cd6-2ba2-4aed-9409-4e70519a6576 loopback loop0 /boot/knoppix/knoppix_v7.0.2DVD_20120530-20120615.iso linux (loop0)/boot/isolinux/linux ramdisk_size=100000 lang=ja apm=power-off vga=788 video=800x600 xmodule=fbdev nomce libata.force=noncq hpsa.hpsa_allow_any=1 loglevel=1 tz=Asia/Tokyo bootfrom=/dev/sda2/boot/knoppix/knoppix_v7.0.2DVD_20120530-20120615.iso initrd (loop0)/boot/isolinux/minirt.gz } menuentry "fb640x480" --class knoppix --class gnu-linux --class gnu --class os { insmod part_msdos insmod ext2 set root='(hd0,msdos2)' search --no-floppy --fs-uuid --set=root 33d00cd6-2ba2-4aed-9409-4e70519a6576 loopback loop0 /boot/knoppix/knoppix_v7.0.2DVD_20120530-20120615.iso linux (loop0)/boot/isolinux/linux ramdisk_size=100000 lang=ja apm=power-off vga=785 video=640x480 xmodule=fbdev nomce libata.force=noncq hpsa.hpsa_allow_any=1 loglevel=1 tz=Asia/Tokyo bootfrom=/dev/sda2/boot/knoppix/knoppix_v7.0.2DVD_20120530-20120615.iso initrd (loop0)/boot/isolinux/minirt.gz } menuentry "memtest" { insmod part_msdos insmod ext2 set root='(hd0,msdos2)' search --no-floppy --fs-uuid --set=root 33d00cd6-2ba2-4aed-9409-4e70519a6576 loopback loop0 /boot/knoppix/knoppix_v7.0.2DVD_20120530-20120615.iso linux16 (loop0)/boot/isolinux/memtest foo } menuentry "dos" { insmod part_msdos insmod ext2 set root='(hd0,msdos2)' search --no-floppy --fs-uuid --set=root 33d00cd6-2ba2-4aed-9409-4e70519a6576 loopback loop0 /boot/knoppix/knoppix_v7.0.2DVD_20120530-20120615.iso linux16 (loop0)/boot/isolinux/memdisk initrd16 (loop0)/boot/isolinux/balder.img } menuentry "failsafe" --class knoppix --class gnu-linux --class gnu --class os { insmod part_msdos insmod ext2 set root='(hd0,msdos2)' search --no-floppy --fs-uuid --set=root 33d00cd6-2ba2-4aed-9409-4e70519a6576 loopback loop0 /boot/knoppix/knoppix_v7.0.2DVD_20120530-20120615.iso linux (loop0)/boot/isolinux/linux ramdisk_size=100000 lang=ja vga=normal atapicd nosound noapic nolapic noacpi pnpbios=off acpi=off nofstab noscsi nodma noapm nousb nopcmcia nofirewire noagp nomce libata.force=noncq hpsa.hpsa_allow_any=1 nonetwork nodhcp xmodule=vesa bootfrom=/dev/sda2/boot/knoppix/knoppix_v7.0.2DVD_20120530-20120615.iso initrd (loop0)/boot/isolinux/minirt.gz } } ### END /etc/grub.d/50_knoppix ###
known issues
DEFAULT
がついているのが、そのまま起動したときと同じオプションなのがわかりにくい。/dev/sda2
のようなデバイス名決め打ち回避- bootfrom が
/dev/disk/by-uuid/UUID
だとマウントしてくれなかった。
- bootfrom が
change log
- isolinux.cfg から複数メニュー項目の抜き出し
- memtest なども除外せずに linux16 などで起動するようにした。
- サブメニューにしてトップの項目を減らした。