aryalaadi/zinit-xv6-riscv
init system for xv6-riscv in zig
zinit: init system for xv6-riscv in zig
to build: % git clone https://github.com/mit-pdos/xv6-riscv % mkdir xv6-riscv/zig % git clone https://aryalaadi/zinit xv6-riscv/zinit
% cd xv6-riscv/zinit % zig build-obj zinit.zig -target riscv64-linux-gnu -O ReleaseSmall % riscv64-linux-gnu-ld -o init zinit.o ../user/initcode.o ../user/printf.o ../user/ulib.o ../user/usys.o -T ../user/user.ld
to install and run:
% cd ../
% ./mkfs/mkfs fs.img README init user/_sh user/_cat user/_ls ...
% qemu-system-riscv64 --machine virt -bios none -kernel kernel/kernel -m 128
-nographic -global virtio-mmio.force-legacy=false -drive
file=fs.img,if=none,format=raw,id=x0
-device virtio-blk-device,drive=x0,bus=virtio-mmio-bus.0