[opensuse-autoinstall] openSUSE 11.0: Booting from USB stick for network install & GRUB
Hi, I tried this page here to create a bootable USB stick for workstations that don't have a DVD drive, just a CDROM: http://en.opensuse.org/SuSE_install_from_USB_drive It boots fine from Dell Precision workstations and one can perform a network based Autoyast installation by entering the hostip, gateway, autoyast and install parameters. The USB stick is removed as soon the installer has loaded. However, when the installation reaches the point where GRUB is installed, the installer thinks that the USB stick is still there and configures wrong device names. The first internal disk becomes hd1 instead of hd0. Then when it wants to boot for the first time, it does not work because GRUB wants to load from the second internal disk. When changing the root parameter from the boot menu, then it works. Is there a way to ignore/disable the USB stick during Autoyast GRUB configuration so that the first internal disk becomes hd0? I didn't find a hint in the Autoyast documentation. http://www.suse.com/~ug/autoyast_doc/CreateProfile.Bootloader.html The only I can think of is a chroot script that modifies /etc/grub.conf /boot/grub/device.map, /boot/grub/menu.lst and run grub-install. Sample GRUB config when USB stick was used for booting: adnws001:~ # cat /etc/grub.conf setup --stage2=/boot/grub/stage2 (hd1,0) (hd1,0) quit adnws001:~ # cat /boot/grub/device.map (fd0) /dev/fd0 (hd1) /dev/sda (hd2) /dev/sdb adnws001:~ # cat /boot/grub/menu.lst # Modified by YaST2. Last modification on Fri Oct 17 08:03:07 CEST 2008 default 0 timeout 8 gfxmenu (hd1,0)/message ##YaST - activate ###Don't change this comment - YaST2 identifier: Original name: linux### title openSUSE 11.0 - 2.6.25.16-0.1 (default) root (hd1,0) kernel /vmlinuz-2.6.25.16-0.1-default root=/dev/disk/by-id/scsi-SATA_ST380011A_3JV9NCQN-part3 resume=/dev/sda2 splash=silent showopts vga=0x31a initrd /initrd-2.6.25.16-0.1-default -- To unsubscribe, e-mail: opensuse-autoinstall+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-autoinstall+help@opensuse.org
Am Mittwoch 29 Oktober 2008 08:39:22 schrieb Bernd Nies:
However, when the installation reaches the point where GRUB is installed, the installer thinks that the USB stick is still there and configures wrong device names. The first internal disk becomes hd1 instead of hd0.
Is there a way to ignore/disable the USB stick during Autoyast GRUB configuration so that the first internal disk becomes hd0? I didn't find a hint in the Autoyast documentation.
no, there is no way that I know of. Did you try a static bootloader config in the XML file?
The only I can think of is a chroot script that modifies /etc/grub.conf /boot/grub/device.map, /boot/grub/menu.lst and run grub-install.
that's an option too -- ciao, Uwe Gansert Uwe Gansert, Server Technologies Team SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nürnberg) Business: http://www.suse.de/~ug listening to: "Don't Bust My Chops" by Ramones -- To unsubscribe, e-mail: opensuse-autoinstall+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-autoinstall+help@opensuse.org
Hi, Uwe Gansert wrote:
no, there is no way that I know of. Did you try a static bootloader config in the XML file?
No. I couldn't find an example here or produce one with yast. http://www.suse.com/~ug/autoyast_doc/CreateProfile.Bootloader.html
The only I can think of is a chroot script that modifies /etc/grub.conf /boot/grub/device.map, /boot/grub/menu.lst and run grub-install.
that's an option too
I created the following chroot script to fix this issue: ==CUT== # Fix following issues: # (1) When booting from an USB stick for installation then GRUB # labels the devices wrong - even after the USB stick is removed. # /dev/sda becomes hd1 and /dev/sdb becomes hd1. Detect and fix # this. # # (2) System hangs at reboot when installing 32bit Linux on dual # core CPU Dell Precision 490. Append 'reboot=b' to the kernel. cp -f /boot/grub/device.map /boot/grub/device.map.org cp -f /boot/grub/menu.lst /boot/grub/menu.lst.org cp -f /etc/grub.conf /etc/grub.conf.org sed -re ' s:^\(hd1\)(.*/dev/(hda|sda)):(hd0)\1: ' /boot/grub/device.map.org > /boot/grub/device.map sed -re ' s/\(hd1,([0-9]+)\)/(hd0,\1)/g ' /etc/grub.conf.org > /etc/grub.conf sed -re ' s/\(hd1,([0-9]+)\)/(hd0,\1)/g; s/ *reboot=b/reboot=b/; s/^ *kernel.*/\0 reboot=b/; ' /boot/grub/menu.lst.org > /boot/grub/menu.lst chmod 600 /etc/grub.conf chmod 600 /boot/grub/device.map chmod 600 /boot/grub/menu.lst ==CUT== Bye, Bernd -- To unsubscribe, e-mail: opensuse-autoinstall+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-autoinstall+help@opensuse.org
participants (2)
-
Bernd Nies
-
Uwe Gansert