File tree Expand file tree Collapse file tree 2 files changed +8
-10
lines changed Expand file tree Collapse file tree 2 files changed +8
-10
lines changed Original file line number Diff line number Diff line change 13
13
14
14
- name : Install NASM
15
15
run : sudo apt install nasm -y
16
-
17
- - name : Build Kernel
18
- run : make kernel.elf
19
-
20
- - name : Build Programs
21
- run : cd programs && make && cd ..
22
16
23
17
- name : Build Image
24
18
run : make myos.img
Original file line number Diff line number Diff line change @@ -2,10 +2,10 @@ C_SRC = $(wildcard *.c)
2
2
ASM_SRC = $(wildcard * .asm)
3
3
OBJ = $(ASM_SRC:.asm=.o ) $(C_SRC:.c=.o )
4
4
5
- run : kernel.elf
6
- qemu-system-i386 --gdb tcp::1234 -m 4G -kernel $^
5
+ run : myos.img
6
+ qemu-system-i386 --gdb tcp::1234 -m 4G -hda $^
7
7
8
- myos.img : kernel.elf grub.cfg myos.sfdisk programs/shell.bin programs/test.bin
8
+ myos.img : kernel.elf grub.cfg myos.sfdisk pgms
9
9
dd if=/dev/zero of=$@ bs=1M count=10
10
10
cat myos.sfdisk | sfdisk $@
11
11
sudo losetup -P loop8 $@
@@ -19,14 +19,18 @@ myos.img: kernel.elf grub.cfg myos.sfdisk programs/shell.bin programs/test.bin
19
19
sudo losetup -d /dev/loop8
20
20
rmdir build
21
21
22
+ pgms :
23
+ $(MAKE ) -C programs
24
+
22
25
kernel.elf : ${OBJ}
23
26
ld $^ -melf_i386 -e kmain -Ttext 0x0 -o $@
24
27
25
28
% .o : % .asm
26
29
nasm -g -f elf32 $^
27
30
28
31
% .o : % .c
29
- gcc -ffreestanding -g -m32 -Wall -c $^ -mgeneral-regs-only -fno-pie
32
+ gcc -ffreestanding -g -m32 -Wall -c $^ -mgeneral-regs-only -fno-pie -fno-stack-protector
30
33
31
34
clean :
32
35
rm -rf * .o * .elf * .img build
36
+ $(MAKE ) -C programs clean
You can’t perform that action at this time.
0 commit comments