Jordi Sanfeliu edited this page Aug 6, 2018 · 10 revisions

Welcome to the Fiwix wiki!

Fiwix is an operating system kernel, written by Jordi Sanfeliu from scratch, based on the UNIX architecture and fully focused on being POSIX compatible. It is designed and developed mainly as a hobby OS but also for educational purposes, therefore the kernel code is kept as simple as possible.

It runs on the i386 (x86 32bit) hardware architecture and is compatible with a good base of existing GNU applications.

Login

Compiling

Before compiling you might want to tweak the kernel configuration by changing the values in the include/fiwix/config.h file.

The command needed to make a full compilation of the Fiwix kernel is:

make clean ; make

This will create the files fiwix (the kernel itself) and System.map.gz (the ELF symbol table) in the root directory of the source code tree.

The kernel doesn't do anything on its own, you need to create a user-space environment to make use of it. Upon booting, the kernel mounts the root filesystem and tries to run /sbin/init on it, so you need to provide this program yourself.

Testing

To create a complete bootable floppy disk you need to insert a floppy disk into the drive and then type the following:

make floppy

If you only want to update an existing floppy disk with a newer or modified kernel version, then type the following:

make floppy_update

If you don't have a floppy drive but a bootable CDROM IDE/ATA drive, you can create your own Fiwix Installation CDROM by using your current operating system (i.e. Linux). To do this, you might want to download the Fiwix Test Suite archive. It comes with an old version of Busybox (1.01) which includes a lot of command line programs (including the /sbin/init), that forms a basic system environment. It also comes with a set of scripts to help you to create the bootable media.

The scripts to create such bootable images cannot be executed under Fiwix because they need support for the loop device and the ISO9660 creation tools.

To create your own bootable CDROM ISO image you must do the following steps:

  1. Download the Fiwix Installation CDROM ISO image.
  2. Download the Fiwix floppy image or create a new one with make_image.
  3. Edit the make_cdrom script and adjust the values of the $INSTALLCD and $FIWIX_VERSION variables.
  4. Execute ./make_cdrom.

Installing

Please keep in mind that this is a kernel in its very early stages and may well have serious bugs and broken features which have not yet been identified or resolved.

Let me repeat that

Please keep in mind that this is a kernel in its very early stages and may well have serious bugs and broken features which have not yet been identified or resolved.

		*****************************
		*** USE AT YOUR OWN RISK! ***
		*****************************

You can proceed to install the GNU/Fiwix on a hard disk either once booted from the Live CDROM or from the floppy disk. In any case, you will always need the Live CDROM inserted in order to install all the packages that form all the system environment.

I recommend using Qemu or VMware Player, but if you want to use it on a real hardware you will need a PC with either a bootable IDE/ATAPI CDROM drive or a floppy 1.44MB drive.

Let the system boot and when you are ready just type:

install.sh

Requirements

The minimal requirements to use GNU/Fiwix are as follows:

  • Standard IBM PC-AT architecture.
  • i386 processor or higher.
  • 2MB of RAM memory (64MB recommended).
  • IDE/ATAPI CDROM or Floppy disk (3.5", 1.44MB).
  • 500MB IDE/ATA Hard disk (1GB recommended).

Happy hacking!

License

Fiwix is free software licensed under the terms of the MIT License, see the LICENSE file for more details.

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.