-
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Makefile
80 lines (77 loc) · 2.87 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
all:
@echo "\x1B[0;1;35m make\x1B[0m lxfs"
@make -C lxfs
@echo "\x1B[0;1;35m make\x1B[0m boot-x86_64"
@make -C boot-x86_64
@echo "\x1B[0;1;35m make\x1B[0m kernel"
@make -C kernel
@echo "\x1B[0;1;35m make\x1B[0m lucerna"
@make -C lucerna
@echo "\x1B[0;1;35m make\x1B[0m install lucerna"
@make install -C lucerna
@echo "\x1B[0;1;35m make\x1B[0m servers"
@make -C servers
@echo "\x1B[0;1;35m make\x1B[0m install servers"
@make install -C servers
@echo "\x1B[0;1;35m make\x1B[0m lumen"
@make -C lumen
@echo "\x1B[0;1;35m make\x1B[0m utilities"
@make -C utilities
@echo "\x1B[0;1;35m make\x1B[0m install utilities"
@make install -C utilities
@echo "\x1B[0;1;35m lxfs\x1B[0m create"
@./lxfs/lxfs create lux.hdd 10
@echo "\x1B[0;1;35m lxfs\x1B[0m format"
@./lxfs/lxfs format lux.hdd 9
@echo "\x1B[0;1;35m lxfs\x1B[0m mbr"
@./lxfs/lxfs mbr lux.hdd boot-x86_64/mbr.bin
@echo "\x1B[0;1;35m lxfs\x1B[0m boot"
@./lxfs/lxfs boot lux.hdd 0
@echo "\x1B[0;1;35m lxfs\x1B[0m bootsec"
@./lxfs/lxfs bootsec lux.hdd 0 boot-x86_64/bootsec.bin
@echo "\x1B[0;1;35m lxfs\x1B[0m bootblk"
@./lxfs/lxfs bootblk lux.hdd 0 boot-x86_64/lxboot.bin
@echo "\x1B[0;1;35m lxfs\x1B[0m cp lxboot.conf"
@./lxfs/lxfs cp lux.hdd 0 lxboot.conf lxboot.conf
@echo "\x1B[0;1;35m lxfs\x1B[0m cp lux"
@./lxfs/lxfs cp lux.hdd 0 kernel/lux lux
@cp lumen/lumen ramdisk/
@cp -r servers/out/* ramdisk/
@cp -r utilities/out/* ramdisk/
@echo "\x1B[0;1;35m tar \x1B[0m c ramdisk.tar"
@cd ramdisk; tar --format ustar -c * > ../ramdisk.tar; cd ..
@echo "\x1B[0;1;35m lxfs\x1B[0m cp ramdisk.tar"
@./lxfs/lxfs cp lux.hdd 0 ramdisk.tar ramdisk.tar
@./lxfs/lxfs mkdir lux.hdd 0 /bin
@./lxfs/lxfs mkdir lux.hdd 0 /dev
@./lxfs/lxfs mkdir lux.hdd 0 /proc
@./lxfs/lxfs cp lux.hdd 0 ramdisk/nterm /bin/nterm
@./lxfs/lxfs cp lux.hdd 0 ramdisk/hello /bin/hello
@./lxfs/lxfs cp lux.hdd 0 ramdisk/lush /bin/lush
@./lxfs/lxfs cp lux.hdd 0 ramdisk/echo /bin/echo
@./lxfs/lxfs cp lux.hdd 0 ramdisk/unbash /bin/unbash
@./lxfs/lxfs cp lux.hdd 0 ramdisk/pwd /bin/pwd
@./lxfs/lxfs cp lux.hdd 0 ramdisk/ls /bin/ls
@./lxfs/lxfs cp lux.hdd 0 ramdisk/cat /bin/cat
@./lxfs/lxfs cp lux.hdd 0 ramdisk/luxfetch /bin/luxfetch
clean:
@echo "\x1B[0;1;35m make\x1B[0m clean lxfs"
@make -C lxfs clean
@echo "\x1B[0;1;35m make\x1B[0m clean boot-x86_64"
@make -C boot-x86_64 clean
@echo "\x1B[0;1;35m make\x1B[0m clean kernel"
@make -C kernel clean
@echo "\x1B[0;1;35m make\x1B[0m clean lucerna"
@make -C lucerna clean
@echo "\x1B[0;1;35m make\x1B[0m clean lumen"
@make -C lumen clean
@echo "\x1B[0;1;35m make\x1B[0m clean servers"
@make -C servers clean
@echo "\x1B[0;1;35m make\x1B[0m clean utilities"
@make -C utilities clean
toolchain:
@cd toolchain-x86_64; ./build-toolchain.sh
qemu:
@qemu-system-x86_64 -monitor stdio -m 4096 -smp 4 -cpu Skylake-Client \
-drive file=lux.hdd,format=raw,if=none,id=disk \
-device nvme,serial=12345678,drive=disk