= Installing HelenOS to a disk device = == Introduction == '''WARNING! This is not for beginners! You don't need to install HelenOS, just build or use the provided CD or ROM image!''' This document explains how to use the HelenOS prototype installer to install the system to a hard disk. This produces a 'live hard disk image', which has exactly the same functionality as the 'live CD image', i.e. it boots from a ram disk image and has no persistent file system mounted by default. The only difference is that the system is now stored on a hard disk. == Pre-requisities == The installer can only expected to work with a very specific system configuration. Realistically this will only work in Qemu. The system architecture must be ia32 or amd64, the Grub platform must be 'pc' (i.e. not EFI). Also the paths to CD-ROM and disk devices are hard-coded into the installer. * HelenOS live CD (which you booted from) 2must be on /hw/pci0/00:01.0/ata-c2/d0 (i.e. {{{-cdrom}}} of Qemu) * Target disk must be on /hw/pci0/00:01.0/ata-c1/d0 (i.e. {{{-hda}}} of Qemu) * Target disk must have enough space to hold the system (recommend at least 128 MBytes for regular build) The target disk must be empty. This can be achieved for example, if you supply a freshly created zero-filled image file to Qemu. If you are using an existing image or device, you can use {{{fdisk}}} within HelenOS to delete any label or other data from the disk. == Installation steps == Supposing the above mentioned requirements are met, just run {{{sysinst}}} and wait for shell prompt. The installation can take a few minutes (2-3), mostly spend in copying initrd.img. (This can probably be mostly attributed to the inefficiency of the ATA disk driver). On success the last message printed will be: {{{ sysinst_copy_boot_blocks: OK }}} Now you can shut the system down. E.g. by closing Qemu window. == Finishing and Booting the installed system == Now you need to configure your system to boot from the hard disk. With Qemu you can, for example, remove the {{{-cdrom}}} and {{{-boot}}} options. It might be possible to run the installation within Qemu and then boot the disk bare metal, as long as Grub device name is the same as in Qemu, i.e. {{{hd0}}}. == Troubleshooting == * If the installer fails, you might have problem with paths to your HelenOS live CD, or the target disk * If the installer fails, there might not be enough space on the target disk * If the system drops into Grub prompt during boot, likely the Grub device name differs from what is hardcoded in core.img ({{{hd0}}}) Still you might be able to boot the system by manually typing the required commands