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

Reply via email to