NetBSD/ia64 Frequently Asked Questions

General problems and questions


General problems and questions

How do I get started?

Development for NetBSD/ia64 is on HP's "SKI" emulator:

  1. Install the ski emulator: pkgsrc/emulators/ski. See the DESCR file for details about installing and running ski.
  2. Build the ia64 toolchain:

      build.sh -mia64 tools
    

    Build the bootloader:

      cd arch/ia64/stand/ia64/ski
      $TOOLDIR/bin/nbmake-ia64
    

    The bootloader binary is arch/ia64/stand/ia64/skiload

    Build the kernel:

      build.sh -mia64 kernel=GENERIC.SKI
    

    The kernel binary is arch/ia64/compile/GENERIC.SKI/netbsd

  3. With both bootloader and kernel binaries (or softlinks to them) in the current directory, type:

      ski skiload
    

    This will launch the ski debugger prompt.

    Type 'c' to continue. This will launch the bootloader in a pseudo terminal window. Type 'boot netbsd' to boot the kernel. Have fun!

What needs to be done to make the port functional?

Must have tasks:

  1. pmap module: Clean ups and debug.
  2. Boot Code Cleanup: clean up glue code between FreeBSD's boot code and NetBSD's standalone library.
  3. IA64 Stack unwind code: Support remaining unwind descriptor types. (See arch/ia64/unwind/TODO)

Nice to have tasks:

  1. Kernel module pre-loading via the bootloader.
  2. Write a ski network driver.
  3. Enable SMP support.

How can I help?

Pick a task you like, send mail to [email protected] to avoid duplication of work, and start hacking!

What are the goals of this port

Currently our focus is to make NetBSD/ia64 to run reasonably well on the ski emulator. In order to enable NetBSD to run on a real Itanium machine, further code needs to be written. Some important tasks are:

  1. The uga console driver.
  2. The bus_dma framework.
  3. device drivers.