How To Remotely Install Debian Over A RH Based Distro - Page 3

6) Prepare the boot partition

Now that we're back in the RH system, let's copy the Debian kernel and initrd images to the boot partition:

cp $ASD/boot/vmlinuz-* /boot
cp $ASD/boot/initrd.img-* /boot

Now edit the grub config file to boot into the new Debian system.  Make sure to add this before any of the other RH stanzas, since Grub will load the first operating system listed if you have not configured it to do otherwise:

vim /boot/grub/menu.lst

title Debian!
      root (hd0,1)
      kernel /boot/vmlinuz-2.6.18-6-686 root=/dev/hda2 ro
      initrd /boot/initrd.img-2.6.18-6-686

Change (hd0,1) to whatever drive,partition you're using.  Also check to make sure that you match the correct versions of the kernel and initrd files. Look at $ASD/boot to double check the kernel and initrd versions that will be used.

Copy our modified grub config to the Debian system:

cp /etc/grub.conf $ASD/etc/
cp /boot/grub/splash.xpm.gz $ASD/boot/
cp -r /boot/grub $ASD/

We'll skip the fsck performed on the reboot:

touch $ASD/fastboot

Lastly, we unmount the proc and chroot environment:

umount $ASD/proc
umount $ASD

If the umount command is giving you an error about the filesystem being busy, use the -l switch:

umount -l $ASD


7) Reboot into Debian for the first time

Here comes the cliff-hanging moment.  We reboot into our new Debian system for the first time.



8) Mount boot partition in Debian system

Now if everything went well, you should be booted into the new Debian system.  If it did not go well, give it a few minutes and try to login again.  If it still doesn't work you'll need to figure out a way to get console access to fix the problem or change to the old RH kernel.

Let's mount our old /boot partition since our skeleton fstab did not account for it.  We'll erase what's in there, but don't worry - we have a copy in our own /boot directory right now anyway so we'll just copy it back in:

mke2fs -j /dev/hda1

We create a temporary place to mount the partition:

mkdir /boot2

Then we mount it:

mount /dev/hda1 /boot2

Now we copy our boot files into the new partition:

cp /boot/* /boot2/
mv /grub /boot2/

Since that is done, let's unmount it and remove the mount point:

umount /boot2
rmdir /boot2

Now remove the old directory, since it will now be mounting a partition there:

rm -rf /boot/*

Add the new boot partition into fstab:

vim /etc/fstab

# filesystem mount fs-type options dump fsck-order

/dev/hda1 /boot ext3 defaults 1 2
/dev/hda2 / auto defaults 0 1
proc /proc proc defaults 0 0

This next command mounts all the mount points located in the fstab:

mount -a

Now we need to modify the grub config file, since our paths are now different:

vim /boot/grub/menu.lst

title Debian!
      root (hd0,0)
      kernel /vmlinuz-2.6.18-6-686 root=/dev/hda2 ro
      initrd /initrd.img-2.6.18-6-686

Note that we're changing hd0,1 to hd0,0 since we're now booting from the first partition.  We need to remove the /boot path from the vmlinuz and initrd images since they'll be in the root of the first partition.

Share this page:

1 Comment(s)

Add comment


From: at: 2008-08-11 16:55:56

Here is a post I made a couple years ago on remotely converting a Fedora system to Debian on software RAID-1.

Here is some of my guides and notes I made at the time.