Fork us on GitHub Follow us on Google+ Follow us on Facebook Follow us on Twitter

Version 4 (modified by Jiri Svoboda, 10 days ago) (diff)

Update for /w and no longer need HelenOS-CD in a specific HW path

Installing HelenOS to a disk device

Introduction

This is not for beginners! In most cases you can just use the live 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 must be inserted
  • 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.

Using and shutting down/rebooting the installed system

The installed system has a persistent file system configured under /w. If you make a Tetris high score, it will be stored there. However, you need to be careful when shutting down or rebooting the system. You must eject the system volume before rebooting the system or removing power, otherwise the file system could be corrupted.

To reboot your system, you can do, for example:

# vol eject /w
# kcon
kconsole> reboot

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