This is for building MINIX from within MINIX. To cross-compile MINIX from another Unix-like system, check this page instead.
The easiest way is to execute
make build. It will rebuild and install the operating system, as well as all the utilities.
Supposing you have the MINIX source code under the
/usr/src directory, these commands
$ su # cd /usr/src # make build
will create the necessary directories, proceed to install the new includes, create the necessary .depend files then build and install the new libraries; and then, create the necessary .depend files then build and install the commands and the system (servers, drivers, and kernel), and finally install it as a new image ready for reboot.
make build does nothing with configuration (/etc) files. Sometimes, it might be necessary to get new or updated /etc files. There is no automated procedure for that, though. Compare files in src/etc and /etc, and see if any updates have happened. Especially, an outdated /etc/system.conf (or /etc/drivers.conf) file can cause all sorts of problems.
In some instances, some necessary commands will have to be updated before, in order to make the new compiling work. Therefore, if
make build fails unexpectedly, revise the
docs/UPDATING document for instructions along the lines of running
make -C usr.bin/foobar && make -C usr.bin/foobar install. Then,
make build again.
<!> In general, you should follow the process in “Rebuilding World”.
$ su # cd /usr/src/releasetools # this directory contains tools that make creating and installing the kernel easier # make hdboot # this installs the kernel to your hard disk
$ cd /usr/src/releasetools $ make
to see the various options available.
These instructions need revisiting and checking.
To rebuild SMP version of Minix set the following environment variables and follow the steps for compilation with gcc.
$ CONFIG_SMP=y CONFIG_MAX_CPUS=N
where N stands for the number of supported CPUs. If N ⇒ than the number of CPUs in your system, all CPUs are booted, if N < the number of available CPUs only N are booted.
At the moment, a SMP configured image will enable ACPI and APIC by default. These are hard requirements for SMP to work.