I've had a few questions from people wanting to take a run at NIX again. We tried this two years ago, and we did it wrong. As I explained to someone recently, at lsub in 2011 we had a top tier of people gathered together, who had been working with the k8 kernel for 6 years,for both amd64 and blue gene, and in the space of 2 weeks we got NIX going. Everyone added critical ideas and code, and somehow it all came together. The changes included small tweaks to rc to make getting to ACs really easy.
It is easy to forget how tricky the code could be, as evidenced by our failure 2 years ago. People jumped in to "forward port" it, without seeing if they could get it running first. Bad move. So here is my suggestion. Start here: [email protected]:rminnich/nix-os.git with this commit: commit 94c84cdd4fe4bf20bdee32966b61c1d8bd3de742 (HEAD, origin/first_commit, first_commit) Author: Noah Evans <[email protected]> Date: Thu Jul 28 01:36:18 2011 +0900 and you will see: ls sys/src/nix/k8/9k8cpu, cpufs, and so on. also, in the root of that tree is a 2m boot image. The only possible problem with that tree: I came home from lsub around june 1; that tree is dated july 28; I don't know what Noah might have done to it. So there are no guarantees. The pre-built kernels *used* to work with qemu (15 years ago!) but they don't today: they take all kinds of exceptions. The cpu model you want is whatever the dual-docket k8 would be; turn off hpet and acpi; make sure you have an _MP_. If you can get that kernel to boot, I think you should take that tree, bind /path/to/nix / and then see if mk will work. Just take it slowly. There are a few very sharp edges in there, and it's easy to miss them. Good luck. Here is one failing command line: qemu-system-x86_64 \ -machine pc,acpi=off,hpet=off -vga std \ -cpu max,misalignsse=off,xop=off,fma4=off,tbm=off \ -smp 2,sockets=2,cores=1,threads=1 \ -m 1024M \ -drive file=/home/rminnich/nix-os/nix-os/bootdisk.img,format=raw,index=0,media=disk -boot c \ $* and another qemu-system-x86_64 \ -machine pc,acpi=off,hpet=off -vga std \ -cpu max,misalignsse=off,xop=off,fma4=off,tbm=off \ -smp 2,sockets=2,cores=1,threads=1 \ -m 1024M \ -kernel sys/src/nix/k8/9k8cpu.elf \ -nographic NIX with 2M pages cpu0: registers for kernel ax 0x0000000070cb875c bx 0x0000000000000000 cx 0x0000000000000000 dx 0x0000000000000000 di 0xffffffff8010b200 si 0xffffffff80212821 bp 0x0000000000000040 r8 0xffffffff801cab26 r9 0xffffffff80105f97 r10 0x000000001fffffff r11 0x0000000000000000 r12 0xffffffff801cab10 r13 0xffffffff80105f88 r14 0x0000000580233991 r15 0xffffffff80181a79 ds 0x57b5 es 0x8021 fs 0xffff gs 0xffff type 0x0 error 0xffffffff80110477 pc 0xffffffff8011346f cs 0x8 flags 0x46 sp 0xffffffff80105f18 ss 0x0 type 0x0 m 0xffffffff8010b000 up 0x0000000000000000 cr0 0x0000000080010011 cr2 0x0000000000000000 cr3 0x0000000000106000 vno 0: buggeration @ 0xffffffff8011346f... ------------------------------------------ 9fans: 9fans Permalink: https://9fans.topicbox.com/groups/9fans/Ta20bdef5171bc207-M33f807141c72c9157032304b Delivery options: https://9fans.topicbox.com/groups/9fans/subscription
