This chapter details the environment needed to setup a JNode development environment.
JNode has been divided into several sub-projects in order to keep it "accessible". These sub-projects are:
|JNode-All||The root project where everything comes together
JNode-Core The core java classes, the Virtual Machine, the OS kernel and the Driver framework
|JNode-FS||The Filesystems and the various block device drivers|
|JNode-GUI||The AWT implementation and the various video & input device drivers|
|JNode-Net||The Network implementation and the various network device drivers|
|JNode-Shell||The Command line shell and several system commands|
Each sub-project has the same directory structure:
|<subprj>/build||All build results|
|<subprj>/descriptors||All plugin descriptors|
|<subprj>/lib||All sub-project specific libraries|
|<subprj>/.classpath||The eclipse classpath file|
|<subprj>/.project||The eclipse project file|
|<subprj>/build.xml||The Ant buildfile|
JNode is usually developed in Eclipse. (It can be done without)
The various sub-projects must be imported into eclipse. Since they reference each other, it is advisably to import them in the following order:
For a more details please have a look at this Howto.
JetBrains Inc has donated a Open Source License for Intellij IDEA to the dedicated developers working on JNode.
Developers can get a license by contacting Martin.
Setup of the sub-projects is done with using the modules feature like with Eclipse.
One should increase the max memory used in the bin/idea.exe.vmoptions or bin/idea.sh.vmoptions file, edit the -Xmx line to about 350mb. IntelliJ can be downloaded at http://www.jetbrains.com/idea/download/ Use at least version 5.1.1. Note that this version can import Eclipse projects.
Requirements for building under Windows
Now, can start a Windows command prompt, change directory to the JNode root, and build JNode as explained the next section.
Requirements for building under Linux
Running "build.sh" or "build.bat" with no arguments to list the available build targets. Then choose the target that best matches your target environment / platform.
Alternatively, from within Eclipse, execute the "all" target of all/build.xml. Building in Eclipse is not advised for Eclipse version 2.x because of the amount of memory the build process takes. From Eclipse 3.x make sure to use Ant in an external process.
A JNode build will typically generate in the following files:
|all/build/jnodedisk.pln||A disk image for use in VMWare 3.0|
|all/build/x86/netboot/jnodesys.gz||A bootable kernel image for use in Grub.|
|all/build/x86/netboot/full.jgz||A initjar for use in Grub.|
Some builds also generate an ISO image which you can burn to disk, and then use to boot into JNode from a CD / DVD drive.
This chapter explains how to use IntelliJ IDEA 4.5.4 with JNode. JetBrains Inc has donated a Open Source License to the dedicated developers working on JNode. The license can optained by contacting Martin.
New developers not yet on the JNode project can get a free 30-day trial license from JetBrains Inc.
JNode contains several modules within a single CVS module. To checkout and import these modules in IntelliJ, execute the following steps:
Dedicated developer should use a Cvs root like ":ssh:firstname.lastname@example.org:/cvsroot/jnode"
Other should use Anonymous CVS Access and use Cvs root ":pserver:email@example.com:/cvsroot/jnode"
The rest has been setup in the project and you should now be able to start.
You can build JNode within IntelliJ by using the build.xml Ant file. In the right side of IntelliJ you find a "Ant Build" tab where the ant file is found. Run the "help" Target to get help on the build system.
Due to the memory requirements of the build process, it could be better to run the build from the commandline using build.bat (on windows) or build.sh (on unix).