Konrad Rzeszutek Wilk
2013-Nov-13 13:56 UTC
Re: [PATCH] remove dependency on /boot/config-* in grub.d/20_linux_xen
On Sun, Nov 10, 2013 at 09:40:29PM +0100, Vladimir 'φ-coder/phcoder' Serbinenko wrote:> On 15.07.2013 20:00, Konrad Rzeszutek Wilk wrote: > > Hey, > > > > There is a discussion on the linux-kernel mailing list in which the > > Linus states that "if you depend on any config file, you're broken > > by definition" (https://lkml.org/lkml/2013/7/15/368). > > > Please try my grub_file branch: > http://git.savannah.gnu.org/cgit/grub.git/log/?h=phcoder/grub_file > It should do what you want. >Oddly I get this after I installed it. /sbin/grub-probe: error: failed to get canonical path of `'. And I kind of fixed it by removing the 'set -e' at the start of the file. After that, and with me removing the /boot/config-3.12.0 file it generates an proper entry in grub.cfg for the Xen payload! Yeey! The other thing I saw was that the 'root' option for Linux ended up being 'root=' instead of the 'root=UUID=blabla'. See here: if [ x"$grub_platform" != xxen \( x"$grub_cpu" = xi386 -o x"$grub_cpu" = xx86_64 -o x"$grub_platform" = x \) ]; then menuentry 'Fedora GNU/Linux, with Xen hypervisor' --class fedora --class gnu-linux --class gnu --class os --class xen $menuentry_id_option 'xen-gnulinux-simple-' { insmod part_msdos insmod ext2 set root='hd0,msdos1' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 760e0266-1a60-4621-b332-0788cf687e33 else search --no-floppy --fs-uuid --set=root 760e0266-1a60-4621-b332-0788cf687e33 fi echo 'Loading Xen xen ...' if [ "$grub_platform" = "pc" -o "$grub_platform" = "" ]; then xen_rm_opts else xen_rm_opts="no-real-mode edd=off" fi multiboot /xen.gz placeholder guest_loglvl=all com1=115200,8n1 console=com1,vga loglvl=all iommu=no-amd-iommu-perdev-intremap,verbose,debug,no-intremap ${xen_rm_opts} echo 'Loading Linux 3.12.0 ...' module /vmlinuz-3.12.0 placeholder root= ro rd.md=0 rd.lvm=0 rd.dm=0 rd.luks=0 loglevel=8 radeon.modeset=0 xen-pciback.hide=(05:00.*) console=hvc0 echo 'Loading initial ramdisk ...' module /initramfs-3.12.0.img } _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel
Vladimir 'φ-coder/phcoder' Serbinenko
2013-Nov-14 11:50 UTC
Re: [PATCH] remove dependency on /boot/config-* in grub.d/20_linux_xen
On 13.11.2013 14:56, Konrad Rzeszutek Wilk wrote:> On Sun, Nov 10, 2013 at 09:40:29PM +0100, Vladimir ''φ-coder/phcoder'' Serbinenko wrote: >> On 15.07.2013 20:00, Konrad Rzeszutek Wilk wrote: >>> Hey, >>> >>> There is a discussion on the linux-kernel mailing list in which the >>> Linus states that "if you depend on any config file, you''re broken >>> by definition" (https://lkml.org/lkml/2013/7/15/368). >>> >> Please try my grub_file branch: >> http://git.savannah.gnu.org/cgit/grub.git/log/?h=phcoder/grub_file >> It should do what you want. >> > > Oddly I get this after I installed it. > > /sbin/grub-probe: error: failed to get canonical path of `''. > > And I kind of fixed it by removing the ''set -e'' at the start > of the file. > > After that, and with me removing the /boot/config-3.12.0 file > it generates an proper entry in grub.cfg for the Xen payload! > Yeey! > > The other thing I saw was that the ''root'' option for Linux > ended up being ''root='' instead of the ''root=UUID=blabla''. >I''ve applied a small fix. It should fix both problems you report. Could you retest?> See here: > > if [ x"$grub_platform" != xxen \( x"$grub_cpu" = xi386 -o x"$grub_cpu" = xx86_64 -o x"$grub_platform" = x \) ]; then > menuentry ''Fedora GNU/Linux, with Xen hypervisor'' --class fedora --class gnu-linux --class gnu --class os --class xen $menuentry_id_option ''xen-gnulinux-simple-'' { > insmod part_msdos > insmod ext2 > set root=''hd0,msdos1'' > if [ x$feature_platform_search_hint = xy ]; then > search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 760e0266-1a60-4621-b332-0788cf687e33 > else > search --no-floppy --fs-uuid --set=root 760e0266-1a60-4621-b332-0788cf687e33 > fi > echo ''Loading Xen xen ...'' > if [ "$grub_platform" = "pc" -o "$grub_platform" = "" ]; then > xen_rm_opts> else > xen_rm_opts="no-real-mode edd=off" > fi > multiboot /xen.gz placeholder guest_loglvl=all com1=115200,8n1 console=com1,vga loglvl=all iommu=no-amd-iommu-perdev-intremap,verbose,debug,no-intremap ${xen_rm_opts} > echo ''Loading Linux 3.12.0 ...'' > module /vmlinuz-3.12.0 placeholder root= ro rd.md=0 rd.lvm=0 rd.dm=0 rd.luks=0 loglevel=8 radeon.modeset=0 xen-pciback.hide=(05:00.*) console=hvc0 > echo ''Loading initial ramdisk ...'' > module /initramfs-3.12.0.img > } >_______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel