brent s. <bts@square-r00t.net> 于2019年11月6日周三 下午12:33写道:
On 11/5/19 10:50 PM, Hongyi Zhao via arch-general wrote:
Are you using the appropriate kernel cmdline args in the menu entry? They're different from Arch's grub loopback menu entry.
This is just what I stucked on. I failed to figure out the correct cmdline args used for linux and initrd.
Useless. This is for Debian *live* instead of Debian *install* iso, the image I use for install Debian is:
http://mirrors.ustc.edu.cn/debian-cd/10.1.0/amd64/iso-dvd/debian-10.1.0-amd6...
The live CD contains the installer. They're functionally the same, more or less, and are created by the same tool/use the same init.
The only difference from that article is:
bootoptions="findiso=$iso_path boot=live components quiet splash"
would instead match the boot entry of the installer ISO. e.g. these are directly from the install ISO's grub menu ([iso]/boot/grub/grub.cfg):
menuentry --hotkey=g 'Graphical install' { set background_color=black linux /install.amd/vmlinuz vga=788 --- quiet initrd /install.amd/gtk/initrd.gz } menuentry --hotkey=i 'Install' { set background_color=black linux /install.amd/vmlinuz vga=788 --- quiet initrd /install.amd/initrd.gz } (...)
SO you can either:
1.) Use the following:
set iso_path=path/to/debian-10.1.0-amd64-DVD-1.iso loopback loop "$iso_path"
menuentry --hotkey=g 'Graphical install' { set background_color=black linux (loop)/install.amd/vmlinux vga=788 findiso=$iso_path components --- quiet
IMO, this is the most difficult thing to figure out a workable menuentry, I mean, the follownig code inserted here: findiso=$iso_path components And from where can I find the full manual for this? I have inspected the following webpage: https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt And I cannot find out the parameters/arguments used here: `findiso' and `components'.
initrd (loop)/install.amd/gtk/initrd.gz } menuentry --hotkey=i 'Install' { set background_color=black linux (loop)/install.amd/vmlinuz vga=788 findiso=$iso_path components --- quiet initrd /install.amd/initrd.gz }
or even, 2.) Use the ISO's grub file directly:
set iso_path=path/to/debian-10.1.0-amd64-DVD-1.iso loopback loop "$iso_path"
menuentry 'Debian' { configfile (loop)/boot/grub/grub.cfg
No, this is not the initial grub.cfg used by the iso when running in the efi mode which is the de-facto nowsdays. The first grub.cfg used by the iso is: /EFI/debian/grub.cfg This file will then source all of the other grub.cfg, including the one in /boot/grub/grub.cfg, which is the last grub.cfg in the chain.
}
But the latter is unlikely to work because again, that config is expecting to be running grub itself so the paths are probably not going to be correct.
I recommend instead using a generic name for the ISOs (e.g. "debian.iso") so you don't need to edit/regenerate the grub.cfg for the USB device every time you update the ISO.
-- brent saner https://square-r00t.net/ GPG info: https://square-r00t.net/gpg-info
-- Hongsheng Zhao <hongyi.zhao@gmail.com> Institute of Semiconductors, Chinese Academy of Sciences GnuPG DSA: 0xD108493