# Port DragonFly to the AMD64 architecture A [Google Summer of Code](http://code.google.com/soc/2008) project. Student: Jordan Gordeev Mentor: Matthew Dillon # What's this all about? This project is about mixing DragonFly/i386 code and FreeBSD/amd64 code with human intelligence in order to produce DragonFly/amd64. # What I promised to deliver 1. Functioning 64-bit kernel (Linux emulation and NDIS wrapper support not included) - available by midterm 2. Working non-threaded 64-bit userland. - available by midterm 3. 64-bit SMP. 4. Working threaded 64-bit programs. 5. 64-bit vkernels. 6. 32-bit apps working on 64-bit kernels. - optional, if nothing goes wrong # Where's the code? The code is in a Subversion repository available at svn://sometimes.studgrad.net/amd64. # What's the current status? * The kernel crashes in the boot sequence soon after leavecrit. * The serial console works. * ddb supposedly works. * Current hot areas: pmap & vm code. # Various questions with answers Q: **How do I build a 64-bit kernel for testing?** A: Execute the following steps: 1. `cd /usr/src` 1. `make TARGET_ARCH=amd64 TARGET_PLATFORM=pc64 buildworld` 1. `make TARGET_ARCH=amd64 TARGET_PLATFORM=pc64 KERNCONF=JG64 buildkernel` Your kernel is now in `/usr/obj/usr/src/sys/AMD64_GENERIC/kernel.debug`. Q: **How do I boot the 64-bit kernel?** A: Copy the 64-bit kernel to a convenient location, e.g. '/kernel64'. Reboot your 64-bit system and at the loader menu choose option 6 (escape to prompt). Enter the following commands: 1. `unload` 1. `unset acpi_load` 1. `load /kernel64` 1. `boot` Q: ***'I get an error when trying to boot the 64-bit kernel: "can't load file '/kernel64': input/output error". What's wrong?***' A: Your boot loader isn't prepared to load a 64-bit kernel. You need to recompile and reinstall your boot loader. If you've got other questions, add them here or e-mail me at jgordeev@dir.bg.