This is a discussion on Different boot, same kernel? within the Slackware Linux Support forums, part of the Unix Operating Systems category; --> Well, I've gone and shot myself in the foot again. ISTR reading something about a dual-boot system, or at ...
| |||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| Well, I've gone and shot myself in the foot again. ISTR reading something about a dual-boot system, or at least two different kernels, and someone said that they have to have different names. OK, fair enough. But, I thought, isn't having them on different partitions enough? i.e.: Here's the relevant parts of my lilo.conf: # Start LILO global section boot = /dev/hda prompt timeout = 50 vga = ext image = /boot/vmlinuz root = /dev/hdb1 label = Slack-10.0 read-only # Non-UMSDOS filesystems should be mounted read-only for checking other = /dev/hda1 label = W2K table = /dev/hda image = /boot/vmlinuz root = /dev/hdb8 label = Slack-9.1 read-only # Non-UMSDOS filesystems should be mounted read-only for checking image = /boot/vmlinuz root = /dev/hdb7 label = Boot0 read-only # Non-UMSDOS filesystems should be mounted read-only for checking ------------------------- I guess I had assumed that when I pick option 1, it loads vmlinuz from /dev/hdb1/boot, option 3, /dev/hdb8/boot, option 4, /dev/hdb7/boot. Obviously, I was wrong, because now, (this lilo.conf was done while in 10.0, and written to the MBR) when I select option 3, boot Slack 9.1, it loads kernel 2.4.26, which is on /hda1. Does that mean that lilo itself reads the "image" values before it decides which partition to boot from? Like, it can only get it from hdb1? So, I should put: image = /boot/vmlinuz-2.4.22 root = /dev/hdb8 label = Slack-9.1 read-only # Non-UMSDOS filesystems should be mounted read-only for checking image = /boot/vmlinuz-2.4.22 root = /dev/hdb7 label = Boot0 read-only # Non-UMSDOS filesystems should be mounted read-only for checking in my lilo.conf, and copy the 2.4.22 kernel over to /dev/hdb1 with that other name? It sounds logical, and also the way to try other kernels with the same rest of the system, but somehow my misunderstanding of the way lilo works feels like a gotcha. Thanks, Rich |
| |||
| On Sun, 27 Jun 2004 17:56:32 +0000, Rich Grise wrote: > Well, I've gone and shot myself in the foot again. ISTR reading > something about a dual-boot system, or at least two different > kernels, and someone said that they have to have different names. Erm, well it does help, but its not the only way to skin a cat. > OK, fair enough. > > But, I thought, isn't having them on different partitions enough? Yes it is but what i see is all kernels are in the same directory or partition. You are telling lilo to use the same kernel for all systems, NOT such a good idea as you have well found out. > i.e.: Here's the relevant parts of my lilo.conf: > > # Start LILO global section > boot = /dev/hda > prompt > timeout = 50 > vga = ext > image = /boot/vmlinuz > root = /dev/hdb1 > label = Slack-10.0 > read-only # Non-UMSDOS filesystems should be mounted read-only for > checking > other = /dev/hda1 > label = W2K > table = /dev/hda > image = /boot/vmlinuz > root = /dev/hdb8 > label = Slack-9.1 > read-only # Non-UMSDOS filesystems should be mounted read-only for > checking > image = /boot/vmlinuz > root = /dev/hdb7 > label = Boot0 > read-only # Non-UMSDOS filesystems should be mounted read-only for > checking > ------------------------- > > I guess I had assumed that when I pick option 1, it loads vmlinuz from > /dev/hdb1/boot, option 3, /dev/hdb8/boot, option 4, /dev/hdb7/boot. Wrong yes you were wrong, however you can do it this way, BUT the kernel image names _must_ be different and have thier "root device" changed with the program rdev OR you need to give an 'init' option to lilo. > > Obviously, I was wrong, because now, (this lilo.conf was done while in > 10.0, and written to the MBR) when I select option 3, boot Slack 9.1, it > loads kernel 2.4.26, which is on /hda1. > > Does that mean that lilo itself reads the "image" values before it > decides which partition to boot from? Like, it can only get it from > hdb1? lilo -v -v -v will show you what it does. Yes 3 times -v > > So, I should put: Nope wrong... [snip] I have chaged your lilo.conf to; image = /boot/vmlinuz-2.4.22 root = /dev/hdb8 label = Slack-9.1 read-only image = /mnt/boot/vmlinuz-2.4.22 root = /dev/hdb7 label = Boot0 read-only Mount /dev/hdb7 under mnt and do the folloing. rdev /mnt/boot/vmlinuz-2.4.22 /dev/hdb7 run lilo with the -t option and make sure there are no errors, if no errors run without -t to update everything, reboot and you should be on your way. If i have missed somethig let me know, i am not perfect today. > > Thanks, > Rich -- If the Linux community is a bunch of thieves because they try to imitate windows programs, then the Windows community is built on organized crime. Regards Richard pa3gcu@zeelandnet.nl http://people.zeelandnet.nl/pa3gcu/ |
| ||||
| On Sun, 27 Jun 2004 17:56:32 +0000, Rich Grise wrote: > But, I thought, isn't having them on different partitions enough? Of course. But you don't understand how LILO works. LILO creates a map for the BIOS to follow to load the kernel. It can only access mounted filesystems, and only using the paths and filenames in lilo.conf. Since each "image" points to the same file ... > image = /boot/vmlinuz > image = /boot/vmlinuz > image = /boot/vmlinuz .... you get the same kernel mapped. If you want to boot multiple Linuces on one machine, you really should set aside a small partition to mount as /boot in each one. Keep your lilo.conf in there and make /etc/lilo.conf in each install a symlink to /boot/lilo.conf. I was just posting about this in the past day or 2, and I've written this before as well. Yes, as Richard points out, if you're unconcerned about cruelty to animals there are many ways to skin this cat. Pity the poor skinless felines. But my way is much easier to manage. By keeping your kernels and lilo.conf in a shared place, you can manage your boot loader no matter which one is booted. Another excellent boot loader, which can be configured in ANY OS, is some variant of DOS (FreeDOS should work) and loadlin.exe. On my old 386 (which is now in its 3rd retirement) I used a 10MB FAT12 partition for this. My /boot was actually UMSDOS. I don't know much about FreeDOS, but MS-DOS 6.x[1] has a very nice boot menu feature. I used to have a sample config.sys when I was on the old slackware.com forums; if you do a search at them (now located at userlocal.{com,net,org}) you can probably find it. [1] The same feature was continued through Win98SE. Actually it can be used in WinME too, if you are a masochist. You have to patch the io.sys to disable MS's lame attempt to make people think ME != DOS, but there are (were?) simple instructions on the Web how to do it. -- /dev/rob0 - preferred_email=i$((28*28+28))@softhome.net or put "not-spam" or "/dev/rob0" in Subject header to reply |