Table of Contents

Notes

Performance

Limits

Commit c248e23 Memory Storage Network Speed
Condition Single-user mode Installation onto MFS AMD Lance/PCI Intel PRO/1000 MT
Minimum 16 MiB 598 MB1 2 0 Bps 0 Bps
Maximum 4 GiB ? 2 TB ? ~1200 kBps3 ~1.19 MiB/s4
  1. There might be an off-by-one error in setup or VirtualBox: when a VirtualBox VDI (disk) of 597 MB is created, setup states that the 596 MB disk doesn't meet the requirement of 597 MB.
  2. More space is needed for normal operation. Subsystems show errors when there isn't sufficient storage space for additional tasks.
  3. The test involved using fetch to download a 356 MB file from the Apache Web server on Mac OS X (10.5.8) with 4 GiB of memory and a gigabit network adapter and router. MINIX ran in VirtualBox (4.1.23) with 512 MiB of memory and an SATA (AHCI) storage controller.
  4. cd /usr; make pkgsrc-create on minix3_2_1_ide_20121207_1118489.iso in Qemu 0.15.1 with 1 GiB of memory.

Build times

Version Time taken Build environment
custom: building-on-darwin ~20 minutes 4GiB RAM on Mac OS X (10.5.8)
current ~3.5 hours 1 GiB RAM in VirtualBox on Mac OS X (10.5.8)
current ~3.5 hours 1 GiB RAM in QEMU 0.15.1 on Windows 7

Installation

Installing with ext2

export FSTYPE=ext2

setup

Building

Cross-compiling

git clone git://git.minix3.org/minix.git minix

cd minix

sh build.sh -m i386 distribution

Packages

How to create a package repository

  1. Build the packages you want in pkgsrc.
  2. Find and enter into the repository (in /usr/pkgsrc/packages/[release]/[architecture]/All).
  3. Run the following in each [architecture]/All directory:
# pkg_info -X *.tgz | gzip > pkg_summary.gz
# pkg_info -X *.tgz | bzip2 > pkg_summary.bz2
  1. Copy the packages directory recursively, with symbolic-links, to its destination.
  2. Point pkg_add or pkgin at the repository. See their manual pages for details.

Voilà! Your repository should now be up and running.

Virtual machines

Using Qemu on Windows 7

Sometimes I need a virtual machine system that doesn't install anything. This means no installer, no kernel modules, and no virtual network adapter.

For this I use “Qemu-0.15.1-windows-Medium.zip,” from Eric Lassauge's Qemu release directory. This has everything required by the Qemu tutorial.

How make NE2000 work in Bochs on Windows 7

On Windows 7, Bochs 2.5.1 emulates the NE2000 network adapter. By default, its settings are incompatible with MINIX. While I didn't get it working, here's how I got it recognized by MINIX.

In Bochs, I opened “networking,” enabled the NE2000, and set it to use I/O address 0x300 and interrupt (or IRQ) 5.

In MINIX, I edited…

  1. /bin/netconf:
     3) driver=dp8390;  driverargs="dp8390_0_arg='DPETH0=300:5'"


    (The “:5” refers to IRQ 5.)

  2. system.conf for “dp8390”:
     irq 5;
    
     io 0x300:20;


    (Here, the “:20” is the number of ports to use. This is probably unrelated to how DPETH0 works.)

Upon start-up I see:

dp8390#0: NE2000 at 300:5

This is great, but next I'd have to get Bochs integrated with Windows' networking. I found out that Qemu does this far better, so I'll be using that instead.

Pasting From MINIX

Need to paste something from MINIX to a pastebin site?

1. Install Python

pkgin search python

pkgin install pythonNN (python24, python25, python27, etc.)

ln -s /usr/pkg/bin/pythonN.N /usr/pkg/bin/python

2. Install the Python Setuptools

cd /usr/pkgsrc/devel/py-setuptools

bmake bin-install

3. Install Dpaster

cd ~

git clone git://github.com/zodman/dpaster.git dpaster

cd dpaster

python setup.py install

4. Use it

cat something.txt | dpaster paste

5. Open it

A URL will appear. Type it into a Web browser, and then press Enter.