Login Status


ShareSource Site » Projects » marionette » marionetteWiki

Project: marionette [Wiki]

(*) Summary   [^] Files   [^] Screenshots   [!] Bug Tracker   (») Mercurial Repository  
Project Wiki (Page: Home)
Last Changed 3 weeks ago, by xlq

Getting started

Marionette is very immature, so unless you want to do some operating system development, there's no point in downloading it.

Building

For building, you'll need SCons. Debian/Ubuntu users can run aptitude install scons while Slackware users can use the SCons slackbuild. Users of other operating systems will have to find out for themselves.


[1] Fetch the tip, either using Mercurial:

hg clone https://sharesource.org/hg/marionette

Or not using Mercurial:

wget --no-check-certificate https://sharesource.org/hg/marionette/archive/tip.tar.bz2
tar -xvvjf tip.tar.bz2

[2] Enter the project directory.

[3] Run scons --help to show a list of build options. Although you can set the compiler and linker to use, toolchains other than GNU gcc/binutils haven't been tested, and probably won't understand the linkerscript (kernel/linker.ld).

[4] Run scons to build the kernel.

[5] If you get an error about __stack_chk_fail, run scons gcc4=yes. SCons will remember this option, and you can just run scons without this option later.

[6] Hopefully, you will get a Multiboot/ELF image, kernel/kernel.img. Boot it with a multiboot-compliant bootloader (I use GRUB 0.97 and I haven't tested any others). If you don't know how to do this, this article might help (wiki.osdev.org).

[7] You can run the kernel on an emulator, for example QEMU (wiki.osdev.org). Although, at the time of writing, the kernel doesn't attempt to write to the hard disk, I cannot accept any liability for damage, in hardware or software, caused by running the kernel, so I don't advise running it on expensive or important hardware.

[8] There is a little bit of documentation about the kernel here (sharesource.org).

SCons options

  • You can run scons -jN to run up to N compiler processes at once.
  • You can suppress some verbal garbage by enabling quiet mode with scons -Q
  • You can run SCons from any subdirectory with scons -D
  • SCons will not remember these options.
  • You can put these options in an environment variable, so you don't have to keep typing them: export SCONSFLAGS="-QDj2"
  • Run scons -c to clean all generated files. SCons uses checksums instead of comparing datestamps, so you'll never have to do this for fear of broken dependency checking. However you may wish to clean if you don't want the object files (to save a little disk space or to look through the source files more easily).
  • Putting the -c options in SCONSFLAGS is very foolish indeed.
  • Read the SCons manpage or user guide for more SCons options and information about the excellent SCons build system.

Contact

Please join #marionette on the ShareSource IRC network:

  • #marionette on irc.tty2.org:6697 with SSL
  • or irc.sharesource.org:6667 without SSL

Or e-mail jp <dot> sittingduck <at> gmail <dot> com (public key)