1

I can only run the rescue, install, graphical install, and so on with boot parameters. I am not able to insmod ls or echo and I can't change/edit the initrd to some-other-file.

What is it about this ISO/DVD1 that makes it so unpleasantly special? I wanted to load a different initrd.gz - one that's on USB. My understanding is that since a CDROM is being used, insmod pata will be loaded by default and therefore the hard disk is inaccessible anyway except via the kernel drivers?

But aren't we loading the kernel first via linux /install.amd/vmlinuz <--so we will have a functional kernel - however the modules come from initrd.gz So there is some rational for disabling GRUB command line editing on DVD-GRUB perhaps?

However I mounted the DVD and took a look in /boot and it's got heaps of modules in boot/grub/x86_64-efi/ there's echo.mod ls.mod etc none of which I can insmod??? Why not? (is this problem got something to do with EFI? I'm trying to boot from a system that has no EFI)

1

Since you said your system has no EFI, your system is booting in old BIOS style. And what you're dealing with is a typical BIOS limitation.

And the bootloader that is used when booting using the old BIOS style from a DVD is not GRUB but ISOLINUX, a variant of Syslinux that is meant specifically for booting from CDs, DVDs and other media that uses the ISO9660 filesystem.

You are trying to apply commands intended for GRUB to ISOLINUX, and that definitely won't work.

Another issue is that the bootloader is typically not using its own drivers, but relying on the firmware support. In your case that means BIOS support, and there is an added wrinkle: in order to maximize BIOS-level backward compatibility all the way back to the original IBM PC/AT (released in 1986 or so), the CD/DVD drive support and USB storage support in the BIOS are add-on modules that typically only come into play when you specifically choose to boot from them in the BIOS settings.

So, if you choose to boot from DVD, the BIOS will provide support for accessing the DVD, but not for accessing an USB storage device; and vice versa if you choose to boot from an USB storage device. If you boot from a regular HDD, support for both DVD and USB storage support will typically be disabled until your OS loads drivers for them.

(In newer systems I've seen some exceptions for this: some systems have a BIOS option to enable "legacy USB storage support" which allows the BIOS-level USB storage support to be enabled all the time. But this is definitely not a standard feature.)

The /boot/grub/x86_64-efi directory is only used when you're booting from the DVD in EFI style: in that case, the bootloader will be GRUB, and the insmod commands you described could be available. But since EFI, unlike BIOS, usually provides full support for USB storage and CD/DVD devices at all times, you probably would not need them anywaym unless the system's EFI firmware is buggy. (Which is unfortunately more common than with BIOS, as EFI still lacks the 30 or so years of development history the BIOS has.)

The Debian 9 DVD 1 also appears to have been prepared with isohybrid or a similar tool, so that it can be written to a USB storage device with a simple dd or similar tool.

When treated that way, it has yet another layer of hybrid partitioning: it has a MBR partition table that indicates two partitions, one covering almost the whole image, with a ISO9660 filesystem, and another presented as MBR partition type 0xef containing an EFI boot partition. The actual Master Boot Record seems to have some code that attempts to load isolinux.bin if you attempt to boot from this ISO-on-USB in BIOS style.

But you can also choose to treat it as a GPT-formatted HDD: it also has a GPT partition table that describes the same thing.

  • thank you - cool answer - i'm checking out the syslinux and el-torito stuff which seem to have some bearing on sticking an MBR within an iso96660 – putty Oct 20 '18 at 16:16
  • El-Torito is the standard used when booting from an actual CD/DVD. It works fine and makes no assumptions about placing a MBR at the very beginning of the CD/DVD image. But when a .ISO file is transferred to a USB storage device, El-Torito will be meaningless: most BIOSes treat USB storage like regular hard disks, and won't go looking for ISO-9660/El-Torito structures from them. The isohybrid technique was invented to get around this difficulty. – telcoM Oct 20 '18 at 17:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.