User Tools

Site Tools


usersguide:x86usbworkaround

Installing MINIX 3 using USB

This is an step by step guide to install MINIX using USB on Intel PC.

Disclaimer: this is only a workaround, because there is no actual USB support. Use it as your own risk!

Preparation & Booting

Please make sure your system meets the Installation Requirements.

  • First step: make a bootable USB of your favorite Linux or *BSD flavor, in which you can install Qemu. USB persistency is recommended, though normal USB without persistency can also be used if Qemu can be installed on RAM, as Qemu isn't necessary after a successful installation.
  • Second step: boot the target machine with your live USB, set up the network, then download and install Qemu. Alternatively, if there are network issues with the live USB, Qemu can be installed by downloading its packages or sources separately, along with the Minix ISO (see below), and then copied to the bootable USB disk. Don't worry, an Internet connection won't be necessary during the MINIX install.
  • Third step: download the Minix ISO from this location and save it in your persistent USB or any normal FAT USB. If there are network issues, download it before the second step (as mentioned above). Save it as normal ISO file. You're now ready to perform the installation.

Performing the workaround installation

Now it's time to launch Qemu. Other virtualization or emulation platforms could also work, but Qemu is an open source emulator that is ported to nearly all OSes.

Issue the following command: (explained below). You will have to customize the command for your bootable USB platform. Be patient, as it may be very slow if not used in conjunction with KVM:

qemu-system-i386 -m 512 -drive file=/dev/wd0c,format=raw,media=disk -cdrom /tmp/minix_R3.3.0.iso -boot d &

Explanation of Command Line options

First part

qemu-system-i386 -m 512

Fire up a VM using x86 platform and 512MB memory.

Second part

-drive file=/dev/wd0c,format=raw,media=disk

Target machine physical hard disk. This is the drive where Minix is going to be installed. An OpenBSD live USB is used in this guide. If using NetBSD, change wdXc to wdXe. For linux change wdXc to sdX (where X is the hard disk letter, e.g.: sda, without partition number). This is very important, the idea is to point to whole physical hard disk, not to a partition! The format=raw part is to bypass the qemu protection of the MBR sector of the target disk: the installation program in the VM need to write Master Boot Record and Partition Boot Sector in the hard disk to boot the kernel. If Minix doesn't have full access to the disk, the system won't boot natively when rebooted.

Third part

-cdrom /tmp/minix_R3.3.0.iso -boot d

Boot from MINIX iso as CD-ROM. Replace with the correct folder location and filename of the ISO downloaded in step 3.

Installing

When the above command is issued, the VM will start. Now install normally, by following the Installation guide.

Be careful with partitions if there are any other OSes installed in the target hard disk. It is recommended that Minix be installed on its own dedicated hard disk. During installation, select the appropriate target machine's native ethernet card, not what MINIX selects automatically, as this selection will only work within Qemu.

Post installation

When the installation is finished, shutdown virtual machine.

At this point, if you don't have any bootloader installed, install one. There are some bootloaders that don't require a partition, like GAG. Or edit the one you are using if you are multibooting. In some weird cases, marking the partition active isn't enough. It requires a bootloader in MBR

Shutdown your live USB instance and reboot natively from the hard disk, and if everything goes well, congratulations, you have MINIX installed via USB!

Now you should also read the Post Installation guide.

Tested and successfully on Acer AO751h Netbook/Ultrabook with versions 3.3.0 (stable), 3.4.0rc2 (current development snapshot) and 3.2.1 (previous stable), everything works except wireless.

usersguide/x86usbworkaround.txt · Last modified: 2016/07/12 11:36 by antoineleca