提交 cd1c7061 编写于 作者: R rain

0.490s-kernel: load kernel to 0x8200-0x9200

上级 95843608
......@@ -12,5 +12,7 @@
2021-2-15 0.487: 487 lines, 5 files, rain
2021-2-15 0.484: 484 lines, 5 files, rain
2021-2-23 0.484: 484 lines, 5 files, rain
2021-2-23 0.490: 490 lines, 6 files, rain
all:
touch boot/x86/bootloader.bin
make -C boot/x86/
make -C kernel/
clear:
rm boot/x86/*.bin kernel/*.bin cunix.img
......@@ -41,6 +41,10 @@ Cunix kernel
`0.484s-boot`:
&#9let `readdisk.inc` smaller, but we just can use CHS or LBA, not both.
`0.490s-kernel`:
&#9load kernel to 0x8200-0x9200 for 4KB, kernel.asm display 'K' to screen.
</pre>
......@@ -2,10 +2,10 @@ ASM_FLAGS = -I ../../include/
remake:
rm bootloader.bin
make cunix.img
make first
first:
make cunix.img
make bootloader.bin
boot.bin: boot.asm
nasm boot.asm -o boot.bin $(ASM_FLAGS)
......@@ -13,13 +13,8 @@ boot.bin: boot.asm
loader.bin: loader.asm
nasm loader.asm -o loader.bin $(ASM_FLAGS)
bootloader.bin: boot.bin loader.bin
bootloader.bin: boot.bin loader.bin
cat boot.bin loader.bin >> bootloader.bin
cunix.img: bootloader.bin
dd if=/dev/zero of=cunix.img bs=1024 count=1440
dd if=bootloader.bin of=cunix.img conv=notrunc
clear:
rm *.bin cunix.img
rm *.bin
......@@ -77,8 +77,8 @@ load_loader:
call read_sector
jc panic
; read 8 sectors
add cl, 0x02
; read 9 sectors (1 loader, 8 kernel)
add cl, 0x01
add bx, 0x0200
cmp cl, 0x0a
......
......@@ -175,9 +175,7 @@ init_long_mode:
mov ss, ax
mov rsp, 0x0000000000007c00
e:
hlt
jmp e
jmp 0x8200
message: db "Cunix is loading...", 0x0d, 0x0a, 0x00
......@@ -220,4 +218,5 @@ code64 equ gdt64_code - gdt64
data64 equ gdt64_data - gdt64
times 512 - ($ - $$) db 0x00
ASM_FLAGS = -I ../include
default:
make ../cunix.img
kernel.bin: kernel.asm
nasm kernel.asm -o kernel.bin $(ASM_FLAGS)
../cunix.img: kernel.bin
cat ../boot/x86/bootloader.bin kernel.bin >> boot.bin
dd if=boot.bin of=../cunix.img
bits 64
_start:
mov byte [0xb8000], 'K'
hlt
jmp $
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册