You can compile a kernel for 9.0 in 10.1, but it would probably be simpler to get 9.0 working, and then compile the kernel there. It shouldn't be too hard. Try this: (Without the parts after #
*** I had this hdd drive only to start with and successfully got dual booting with it before consigning it to be slave when I went to update to Mandrake10. ***
*** Now everything Mikkel writes here has finely woken me up to what needs to be done and I look forward to the challenge because Mikkel has 'hit the nail on the head', so to speak.
As Mandrake 9 was installed whilst the slave was the only hdd on my system then of course everything in the config files " points " to hda and of course will need to be changed. So where do I start and what do I look for once I have booted into this system ?
[ This is an exercise only for me and not a mission critical requirement so I will, hopefully with the help offered here, take this one step at a time and if it is worthwhile and others agree, I will post it to the TWiki as a possible system recovery idea.]
Anyway, with sleeves rolled up I venture forth.
Here are the files I need to investigate that I know about to date - please add others as you think of them. I'm of course referring to the hdb files only here.
/etc/fstab
/etc/lilo.config
>mkdir /boot-9 >mount /dev/hdb2 /boot-9
>Use this in lilo:
>image=/boot-9/vmlinuz label="linux90" > root=/dev/hdb5 > initrd=/boot-9/initrd.img > append="noapic devfs=mount acpi=ht splash=silent" > vga=788 > read-only
>Add a line in /etc/fstab to mount boot-9 in the future. >(Coppy the line for /boot, and change > /boot to /boot-9 and /dev/hda2 to /dev/hdb2)
>Now, if /dev/hdb was /dev/hda when you installed MDK9, >then you will have to edit /etc/fstab on that version, >and change everything that refers to /dev/hda to >/dev/hdb.
>Another way to do it is use:
>other=/dev/hdb > label="linux90"
>Then, in 9.0, change /etc/lilo.conf so that it installs in the MBR of the second drive.
Hmmm.... Not sure I can do this without actually having MDK9 running at the time otherwise to my way of thinking, it will install directly to the master MBR surely?? Even then I'm not sure how to control running /sbin/lilo to be sure it actually installs onto the hdb MBR.
>"boot=/dev/hda" becomes "boot=/dev/hdb".
>What happens then is when you pick "linux90", you get a second boot screen.
>Again, if you installed 9.0 when the >drive was the first hard drive,
>you have some editing to do. Both in /etc/fstab, and /etc/lilo.conf.
>You will also need to run lilo when in 9.0 to update the boot loader >on the second drive.
>Can you boot 9.0 now, or do you need instructions >on how to mount the partitions, and make the changes?
I haven't gone this way yet Mikkel because I think things will only fall over until all changes to config files are made.
I do like your idea of having the second logon screen option and will venture that way first once files are changed.
One thought also for now so as to keep my options open, will " # ln -s " my MDK9 vmlinuz from within the master hdd /boot partition offer a way?
I'm not sure that the link would cross hdd's at this point of booting a system so thought I'd just ask. ( Once the config files are dealt with of course ).
Another issue I may need to face is the fact that I have updated my nVidia driver - is it possible to recompile a kernel on another harddrive? I think I ought to be able to re-configure the kernel from " text " mode once I have access to the old installation - just a'wondering again.
Well that ought to do for now, back to forming a project list so as to not waste any of the valuable help given here.
A great way to get to know more of Linux and my own system even.
mkdir /mnt/root-9 #Mount point for 9.0 / mount /dev/hdb5 /mnt/root-9 #Mount your 9.0 root file system. mount /dev/hdb2 /mnt/root-9/boot #Get the 9.0 boot directory mounted. chroot /mnt/root-9 #Change to 9.0 file system.
At this point, your file system for that login secion looks the same as if you had booted into 9.0. From here, you will want to edit 3 files.
/etc/lilo - change all references to /dev/hda to /dev/hdb.
(/dev/hda2 becomes /dev/hdb2, /dev/hda becomes /dev/hdb,
and so on.)
/etc/fstab - same changes. Also, if the CD-ROM changed, update that.
/etc/inittab - change "id:5:initdefault" to "id:3:initdefault". This
sets teh system to boot to the CLI.Now, after you have made the changes, run "lilo -v" to update the boot record on the slave hard drive. You can then type "exit" to return to 10.1. You should now be able to boot to 9.0 using the other=/dev/hdb entry in 10.1's lilo.conf. The trick to all this is the chroot command. It changes the "root" file system to the directory you specify, but only for the user running the command, and only for terminal. It works both in the command line, and in an xterm.
If you are not comfortable editing files with a command-line editor, you can edit the file from the GUI. Just remember that you have to prefix the path to the files with "/mnt/root-9". /etc/fstab becomes /mnt/root-9/etc/fstab.
You may want to have 10/1 always mount the 9.0 root file system at /mnt/root-9, just so you can access the files there. You can ether create mount points for the rest of the 9.0 directories, or mount then on there normal 9.0 mount points unter /mnt/root-9. Just remember, if the UID of a user is different under 9.0 and 10.1, accessing the home directory can be problem. (If frand is user number 500 under 9.0, but 501 under 10.1, then he can not access his 9.0 home directory under 10.1.)
Mikkel --
Do not meddle in the affairs of dragons, for you are crunchy and taste good with Ketchup!
____________________________________________________ Want to buy your Pack or Services from MandrakeSoft? Go to http://www.mandrakestore.com Join the Club : http://www.mandrakeclub.com ____________________________________________________
