This is an excellent little project to play with if you want to learn more about the functions of the kernel. The accompanying book is a great resource and provides relatively simple projects.
This is an excellent tool for learning Unix-type systems. At < 10K lines, it's much smaller than Linux v1, but has most of the parts of a more mature kernel. The source code is clear, and well documented in its own booklet.
Which qemu are you cloning? When we taught 6.828 over IAP term we ported the patches to qemu 1.7.0 and put them up at https://github.com/geofft/qemu. I see the repo has a 2.3.0 and 2.4.0 branch now too. I last built 1.7.0 on Debian 6 (squeeze); newer Debian and Ubuntu should work fine. (Make sure you have libsdl1.2-dev installed)
I got it to work but I have no idea how. I tried all the branches and the official sources, they all failed the same way. I deleted and recloned the 1.7.0 branch and that worked. Shrug.
MIT PDOS also cleaned up its infrastructure a while back. Jon (a student there who does cool scalability research) replaced the old ailing server that hosted a lot of things and that wasn't really maintained by anybody with a set of modern vms, not sure if he also moved over the public git server...
Are there any projects like that that show people how to write a bootloader? I have been wanting to write something like Xv6 except I want to write everything that will be running except BIOS code.
14 comments
[ 0.16 ms ] story [ 40.0 ms ] threadHighly recommended.
pdos.csail.mit.edu[0: 128.52.129.126]: errno=Connection timed out
Just FYI for anyone else trying. I looked and this seems to be a mirror that contains the branch they mention:
https://github.com/sometimesfood/xv6
and you might need this (I did):
sudo apt-get install libc6-dev-i386
but the stock qemu didn't seem to work, their server is kaput, and no mirror on github :(
git://github.com/mit-pdos/xv6-public.git
And OP should correct the original link to:
https://pdos.csail.mit.edu/6.828/2014/xv6.html
ansel:~/xv6/qemu ./configure --disable-kvm ERROR: glib-2.12 required to compile QEMU
and then hit this one:
ansel:~/xv6/qemu ./configure --disable-kvm
ERROR: DTC not present. Your options: (1) Preferred: Install the DTC devel package (2) Fetch the DTC submodule, using: git submodule update --init dtc
got the submodule, did a make:
Makefile:116: * target pattern contains no `%'. Stop.
I'm on Ubuntu 14.04.3 and up to date.
Thanks for your help.
I have yet to find something on bootloader code.
You can find a whole bunch more stuff on the OS Dev Wiki too. [2]
[1] http://www.brokenthorn.com/Resources/OSDevIndex.html [2] wiki.osdev.org
http://os161.eecs.harvard.edu