brent s. <bts@xxxxxxxxxxxxxxx> 于2019年11月6日周三 下午1:15写道: > > On 11/6/19 12:01 AM, Hongyi Zhao via arch-general wrote: > >> 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'. > > "findiso" and "components" are unique to Debian's initialization > scripts. The ones at > https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt > are generic ones that the *kernel* uses, but others are used by the OS > itself during initialization. They're both passed to /proc/cmdline > (because it's the only reliable way of passing boot-time parameters to > runtime kernel operations and the initrd/initramfs). > > "findiso" is documented here: > https://manpages.debian.org/testing/live-boot-doc/live-boot.7.en.html > > As for "components", I have no idea what it does. You can extract the > ISO's initrd and check the init system in there, though, to find out. > > > > 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. > > All that does is call other cfgs and do insmods. Follow the "source" > directives and you will find that, yes, the one I mentioned is the menu > config (the one you actually want, because you want to create *menu > entries*) that is used by the Debian ISO. > > You *definitely* will not be able to use the "linking"/parent configs > because they refer to paths inside the Debian ISO, not your USB drive. Ok, again I promote the dd-based method here. If use the dd-based method, than just do the following: # changing the ($root)/EFI/debian/grub.cfg as follows to make it more robust: search --label --set=root 'Debian 10.1.0 amd64 1' set prefix=($root)/boot/grub source $prefix/x86_64-efi/grub.cfg Repack the iso with above changed file and then dd it to usb's arbitrary partition, and do the following: grub> set root=(root-of-dd-iso-on-usb-partition) grub> set prefix=($root)/boot/grub grub> chainloader /EFI/boot/grubx64.efi grub> boot This will let all of the grub.cfg's invoked in order and obtain a complete same effect with the one done by burning-on-dvd. But, this method is not so convenient due change and repack the iso. > > > -- > brent saner > https://square-r00t.net/ > GPG info: https://square-r00t.net/gpg-info > -- Hongsheng Zhao <hongyi.zhao@xxxxxxxxx> Institute of Semiconductors, Chinese Academy of Sciences GnuPG DSA: 0xD108493