DragonFly BSD


Port DragonFly to the AMD64 architecture

A Google Summer of Code 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?

Various questions with answers

Q: How do I build a 64-bit kernel for testing?

A: Execute the following steps:

  1. cd /usr/src

  2. make TARGET_ARCH=amd64 TARGET_PLATFORM=pc64 buildworld

  3. 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

  2. unset acpi_load

  3. load /kernel64

  4. 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.