- User guide
- Classlib developers guide
- Developer guide
- Getting the sources
- Configuration process
- Build process
- Source files & packages
- Plugin framework
- Command Line Interface
- Operating System
- Test frameworks
- Virtual Machine
- Tester guide
- Porting guide
- Project development
- Papers & presentations
The build process of JNode consists of the following steps.
- Compilation - Compiles all java source to class files.
- Assembling - Combines all class files into a jar file.
- Boot image building - Preloads the core object into a bootable image.
- Boot disk building - Creates a bootable disk image.
- CD-ROM creation (optional) - Creates a bootable CD-ROM (iso) image
Boot image building
When JNode boots, the Grub bootload is used to load a Multiboot compliant kernel image and boot that image. It is the task of the BootImageBuilder to generate that kernel image.
The BootImageBuilder first loads java classes that are required to start JNode into there internal Class structures. These classes are resolved and the most important classes are compiled into native code.
The object-tree that results from this loading & compilation process is then written to an image in exactly the same layout as an object in memory is. This means that the the necessary heap headers, object headers and instance variables are all written in the correct sequence and byte-ordering.
The memory image of all of these objects is linked with the bootstrapper code containing the microkernel. Together they form a kernel image loaded & booted by Grub.
Boot disk building
To run JNode, in a test environment or create a bootable CD-ROM, a bootable disk image is needed. It is the task of the BootDiskBuilder to create such an image.
The bootable disk image is a 16Mb large disk image containing a bootsector, a partition table and a single partion. This single partition contains a FAT16 filesystem with the kernel image and the Grub stage2 and configuration files.