1 # Port DragonFly to the AMD64 architecture
\r
2 A [Google Summer of Code](http://code.google.com/soc/2008) project.<<BR>>
\r
3 Student: Jordan Gordeev<<BR>>
\r
4 Mentor: Matthew Dillon<<BR>>
\r
6 # What's this all about?
\r
7 This project is about mixing DragonFly/i386 code and FreeBSD/amd64 code with human intelligence in order to produce DragonFly/amd64.
\r
9 # What I promised to deliver
\r
11 1. Functioning 64-bit kernel (Linux emulation and NDIS wrapper support not included) - available by midterm<<BR>>
\r
12 2. Working non-threaded 64-bit userland. - available by midterm<<BR>>
\r
13 3. 64-bit SMP.<<BR>>
\r
14 4. Working threaded 64-bit programs.<<BR>>
\r
15 5. 64-bit vkernels.<<BR>>
\r
16 6. 32-bit apps working on 64-bit kernels. - optional, if nothing goes wrong<<BR>>
\r
18 # Where's the code?
\r
19 The code is in a Subversion repository available at svn://sometimes.studgrad.net/amd64.
\r
21 # What's the current status?
\r
23 * The kernel crashes in the boot sequence soon after leavecrit.
\r
25 * The serial console works.
\r
27 * ddb supposedly works.
\r
29 * Current hot areas: pmap & vm code.
\r
31 # Various questions with answers
\r
32 Q: **How do I build a 64-bit kernel for testing?** <<BR>>
\r
33 A: Execute the following steps:
\r
35 1. `make TARGET_ARCH#amd64 TARGET_PLATFORMpc64 buildworld`
\r
36 1. `make TARGET_ARCH#amd64 TARGET_PLATFORMpc64 KERNCONF=JG64 buildkernel`
\r
38 Your kernel is now in `/usr/obj/usr/src/sys/AMD64_GENERIC/kernel.debug`.<<BR>>
\r
40 Q: **How do I boot the 64-bit kernel?** <<BR>>
\r
41 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:
\r
43 1. `unset acpi_load`
\r
47 Q: ***'I get an error when trying to boot the 64-bit kernel: "can't load file '/kernel64': input/output error". What's wrong?***'<<BR>>
\r
48 A: Your boot loader isn't prepared to load a 64-bit kernel. You need to recompile and reinstall your boot loader.<<BR>>
\r
50 If you've got other questions, add them here or e-mail me at jgordeev@dir.bg.
\r