8

I downloaded a Plan 9 (4th Edition) ISO from Bell Labs and gave the system twice the recommended memory and hard disk space. I followed the installation prompts, choosing the default options where possible. However, the installer warned that it ran out of space, despite completing the installation. When the machine tried to boot, it got multiple kernel panics and aborted.

How do I get Plan 9 installed and running on VirtualBox?

6
  • Background info.
    – user44370
    Oct 25, 2014 at 19:09
  • 1
    I have seen this behaviour. The solution was to pre-allocate the disk space for the virtual hard disk, rather than leave it on the default setting, which is to allocate disk space from the host only as and when needed. I realise this is a bit late, but it may help someone. Sep 12, 2018 at 13:49
  • Thanks, Liam. Can you elaborate on what you mean by "pre-allocate the disk space for the virtual hard disk". How do you go about doing that, if not setting a fixed-size for the virtual HDD when creating it? Sep 12, 2018 at 13:51
  • 1
    @LiamProven: Your comment is absolutely worth an answer here. It addresses the issue most directly. You got me up and running. Thank you :)
    – bbenne10
    May 4, 2021 at 11:47
  • Oh great! Glad to hear it. May 6, 2021 at 16:48

3 Answers 3

5

There is another wiki found from Google results:

Verbatim from source:

NOTE: VirtualBox is not a very good choice. Behavior changes dramatically from release to release, with some working out of the box, some needing just the right settings, and some not working at all. You are highly encouraged to pick a different VM. VMware, qemu (with or without kqemu), kvm, and xen are all known to work better.

See also: installing plan 9 on qemu, in xen, in xen 3.0.

Bell Labs' Plan 9 and networking works well in virtualbox 3.1.8 using Am79C973 virtual ethernet adapter in bridged mode, chipset PIIX3 selected and "Enable IO APIC" turned off.

Under Virtual Box 3.0, selecting the ICH6 chipset rather than PIIX3 or PIIX4, and deselecting all disks allows 9pccpu to run. AMD79C970 Ethernet PXE boots reliably but the Intel Ethernet emulations don't.

2
  • 3
    when you post a link that references something posted on an external resource, please summarize or quote the relevant parts of the resource you're linking against. This makes it easier to read your answer and helps preserve the answer in the case of link rot. unix.stackexchange.com/help/referencing
    – jayhendren
    Feb 5, 2015 at 21:57
  • Thanks for the link. I'll check it out when I've got access to my home computer. If I get time, I'll also try the qemu route. Feb 6, 2015 at 7:39
5

While getting Plan 9 installed on VirtualBox might pose a bit of a problem, it is possible to install 9front (a fork of plan 9, with patches and bug fixes) on VirtualBox. This YT video from/by Chris McGee contains some instructions for doing so. In summary:

  1. Download the latest 9front ISO
  2. Create a new VM, type of "Other/Unknown", 1024 MB RAM, 10 GB VDI
  3. Adjust settings:
    • Audio: SoundBlaster 16
    • Display: 32 MB of memory (optional)
    • Network: NAT/Bridged, Intel Pro/1000 MT Server (82545EM)
  4. Start the machine and begin installation. Use the defaults where applicable, except as follows:
    • Set your display resolution to 1024x768x32, not 1024x768x16
    • Set your mouse to ps2intellimouse, not ps2. This will enable scrolling/paging.
  5. In the terminal window that pops up, type inst/start to start the installation.
  6. Follow the prompts, using the defaults where possible. Watch out for the following:
    • The disk to partition with partdisk is sdC0 (VBOX HARDDISK)
    • When prompted to install the mbr, type yes (not just y). Use mbr, not gpt.
    • Simply type w and then q at the >>> prompts
    • Type yes when asked to ream the file system.
    • sysname may be any name you want. 9front is a good default.
    • Install the MBR and make it active.
    • When you reach the finish prompt, unmount the CD from the drive before continuing.
  7. Restart your machine when you receive the fshalt error message.

Useful info: To resize/move a window in rio (window manager):

  1. Right-click on an empty area of the screen. Select either 'Resize' or 'Move'.
  2. Position the crosshair over the window you wish to resize/move.
  3. Right-click and drag to move the window.
  4. Position the cursor at the edge/corner of the window. Left-click and drag to resize from that edge.
1
  • very many thanks for guidance!
    – jitter
    Dec 8, 2019 at 16:37
1

As a commenter's suggestion, I am promoting this from a comment to an answer. (Apologies if there is a better way of doing this.)

I have seen this behaviour. The solution was to pre-allocate the disk space for the virtual hard disk, rather than leave it on the default setting, which is to allocate disk space from the host only as and when needed.

By default, in Virtualbox, when you are creating a new VM, on the disk-creation screen, there are options to create a new disk (or to choose an existing virtual disk).

If you select the native VDI format, as well as asking the size, the wizard asks if you want the disk to be "Dynamically Allocated". If you choose this, a very small virtual disk file is created, but the hypervisor lies to the VM and tells it that this is the size of the maximum size you chose. As data is written to the virtual disk, the file grows.

For a description of this process, see Wikibooks.

This does not work with Plan 9. Somehow it can detect that the disk is not in fact the claimed size and formatting fails.

Instead, choose a fixed-size image. This will pre-allocate the whole virtual hard disk. It may take some time, but then, a Plan 9 disk does not need to be large by 2020s standards.

This is also described in the VirtualBox manual.

I found that if I created a fixed-size image, Plan 9 was able to format it and then install onto it without problems.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.