Newer
Older
To boot the system in QEMU, first enter the development shell:
Then run the boot script:
```
$ ./boot.sh
```
With only 1 CPU some thigs are soo slow to work. For example, the ttyS0 device
doesn't arrive on time and the login fails. Or the SSH daemon doesn't start
until the third try. With -smp 32 seems to work ok.
## Compressed instructions
To see if a binary has compressed instructions or not, you can use objdump:
hut% nix shell -vL nixpkgs#pkgsCross.riscv64.bintools
hut% objdump -M no-aliases -D result/u-boot | grep 'c\.' | head -5
80200000: 822a c.mv tp,a0
80200002: 84ae c.mv s1,a1
80200018: 52c1 c.li t0,-16
8020001e: 0356 c.slli t1,0x15
80200024: 850a c.mv a0,sp
To dump a ROM without the ELF header:
hut% objdump -b binary -m riscv:rv64 -M no-aliases -D result/u-boot.bin