6 ms·
Xv6, a simple Unix-like teaching operating system
- jlappi 11y agoThis 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.
- shavenwarthog2 11y agoThis 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. Highly recommended.
- luckydude 11y agoHuh, I think HN killed their git server, I started the clone and it's just sitting there doing nothing after 100K. Eventually dies with: 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 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 :(
- jey 11y agoI think this is the official mirror: https://github.com/mit-pdos/xv6-public https://github.com/mit-pdos/xv6-public
- luckydude 11y agoI contacted them and they said use this: 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 https://pdos.csail.mit.edu/6.828/2014/xv6.html
- luckydude 11y agoHas anyone gotten their qemu to compile? I patched around this problem (I have gcc 4.something): 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.
- achernya 11y agoWhich 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 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)
- luckydude 11y agoI 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. Thanks for your help.
- jbangert 11y agoMIT 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...
- gravypod 11y agoAre 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. I have yet to find something on bootloader code.
- Samathy 11y agoThe BrokenThorn OS Dev tutorials have a great section for bootloader development. [1] You can find a whole bunch more stuff on the OS Dev Wiki too. [2] [1] http://www.brokenthorn.com/Resources/OSDevIndex.html http://www.brokenthorn.com/Resources/OSDevIndex.html [2] wiki.osdev.org
- sfishman 11y agoHarvard also has something similar for their OS course (now used outside of Harvard as well) called OS/161. http://os161.eecs.harvard.edu http://os161.eecs.harvard.edu
- mveety 11y agoI really like the System/161 simulator that they use with it. They made some good choices sticking to the simple R3000 MMU model.
- IshKebab 11y agoSeems a bit sad to me that we're still teaching a 40 year old OS. Hasn't computing advanced since then? Where's the Plan9-like teaching OS?