Wednesday, April 1, 2009

Installing Debian from harddisk

Files for Hard Disk Booting

The installer may be booted using boot files placed on an existing hard drive partition, either launched from another operating system or by invoking a boot loader directly from the BIOS.

A full, “pure network” installation can be achieved using this technique. This avoids all hassles of removable media, like finding and burning CD images or struggling with too numerous and unreliable floppy disks.

The installer cannot boot from files on an NTFS file system.

Hard disk installer booting using LILO or GRUB

This section explains how to add to or even replace an existing linux installation using either LILO or GRUB.

At boot time, both bootloaders support loading in memory not only the kernel, but also a disk image. This RAM disk can be used as the root file-system by the kernel.

Copy the following files from the Debian archives to a convenient location on your hard drive, for instance to /boot/newinstall/.
Normally on Debian Net Install /install.386/

vmlinuz (kernel binary)
initrd.gz (ramdisk image)

Booting from Linux Using LILO or GRUB

To boot the installer from hard disk, you must first download and place the needed files, “Preparing Files for Hard Disk Booting”.

If you intend to use the hard drive only for booting and then download everything over the network, you should download the netboot/debian-installer/i386/initrd.gz file and its corresponding kernel netboot/debian-installer/i386/linux. This will allow you to repartition the hard disk from which you boot the installer, although you should do so with care.

Alternatively, if you intend to keep an existing partition on the hard drive unchanged during the install, you can download the hd-media/initrd.gz file and its kernel, as well as copy a CD iso to the drive (make sure the file is named ending in .iso). The installer can then boot from the drive and install from the CD image, without needing the network.

For LILO, you will need to configure two essential things in /etc/lilo.conf:

to load the initrd.gz installer at boot time;

have the vmlinuz kernel use a RAM disk as its root partition.

Here is a /etc/lilo.conf example:

image=/boot/newinstall/vmlinuz
label=newinstall
initrd=/boot/newinstall/initrd.gz

For more details, refer to the initrd(4) and lilo.conf(5) man pages. Now run lilo and reboot.

The procedure for GRUB is quite similar. Locate your menu.lst in the /boot/grub/ directory (sometimes in the /boot/boot/grub/), add the following lines at the end:

title New Install
kernel (hd0,0)/boot/newinstall/vmlinuz
initrd (hd0,0)/boot/newinstall/initrd.gz

and reboot.

Note that the value of the ramdisk_size may need to be adjusted for the size of the initrd image. From here on, there should be no difference between GRUB or LILO.

Note: Please do not change downloaded ISO file name. In some cases it doesn't work.

1 comment:

Rakesh Kumar said...

Hi Dannybuntu,

Hope this article will help you.

Thanks and regards,
Rakesh