Hey, I watched "How to get started hacking NetBSD" and it was great, I just noticed that some things didn't work when cross compiling for amd64. and frankly, I'm not sure what I did wrong.
I use the following script to build the kernel ``` #/usr/bin/sh export DESTDIR=/home/jared/Projects/netbsd/obj/destdir export RELEASEDIR=/home/jared/Projects/netbsd/obj/releasedir export KERNDIR=/home/jared/Projects/netbsd/obj/sys/arch/amd64/compile/DEBUG_KERNEL cd src/ ./build.sh -u -O ../obj -U -m amd64 -N1 -j24 -V MKCROSSGDB=yes tools kernel.gdb=DEBUG_KERNEL cd ../ ``` And this creates the following directory ``` /home/jared/Projects/netbsd/obj/releasedir/amd64/binary/kernel/DEBUG_KERNEL ├── MD5 ├── netbsd-DEBUG_KERNEL.gz ├── netbsd-GENERIC.gz ├── netbsd-GENERIC_KASLR.gz ├── netbsd-GENERIC.symbols.gz ├── netbsd-INSTALL.gz ├── netbsd-INSTALL.symbols.gz ├── netbsd-INSTALL_XEN3_DOMU.gz ├── netbsd-XEN3_DOM0.gz ├── netbsd-XEN3_DOMU.gz └── SHA512 ``` I unzipped the `netbsd-DEBUG_KERNEL.gz` file and redirected the output to `vm/disk.img` with: ``` gunzip -c <netbsd-DEBUG_KERNEL.gz > ~/Projects/netbsd/vm/disk.img ``` And I created a sparse disk image with (note: `-oseek` is not a valid switch on my machine and `10g` didn't work, so I substituted it with `2^30` which is `1073741824` ): ``` $ dd if=/dev/zero of=disk.img seek=1073741824 bs=1 count=1 1+0 records in 1+0 records out 1 byte copied, 0.000180831 s, 5.5 kB/s ``` And I cannot figure out why, but I don't have a `netbsd.img` under ``` /home/jared/Projects/netbsd/obj/sys/arch/amd64/compile ``` so the following does not work: ``` #!/urs/bin/sh /usr/bin/qemu-system-x86_64 \ -kernel netbsd.img \ # This file does not exist -machine 'ubuntu' -append "root=dk1" \ -M virt \ -smp 2 \ -m 1g \ -drive if=none,file=disk.img,id=disk,format=raw \ -device virtio-blk-device,drive=disk \ -device virtio-rng-device \ -nic user,model=virtio-net-pci \ -nographic ``` And when I run that, I get: ``` qemu: could not open kernel file 'netbsd.img': No such file or directory ``` I'm also not sure what to substitute `-cpu` for when using `amd64`. Some guidance would be great!