run-old (2792B)
1 #!/bin/bash 2 3 gcc -I/usr/include/efi -fpic -ffreestanding -fno-stack-protector -fno-stack-check -fshort-wchar -mno-red-zone -maccumulate-outgoing-args -c main.c -o ./objects/main.o 4 gcc -I/usr/include/efi -fpic -ffreestanding -fno-stack-protector -fno-stack-check -fshort-wchar -mno-red-zone -maccumulate-outgoing-args -c ./util/font.c -o ./objects/font.o 5 gcc -I/usr/include/efi -fpic -ffreestanding -fno-stack-protector -fno-stack-check -fshort-wchar -mno-red-zone -maccumulate-outgoing-args -c ./util/print.c -o ./objects/print.o 6 gcc -I/usr/include/efi -fpic -ffreestanding -fno-stack-protector -fno-stack-check -fshort-wchar -mno-red-zone -maccumulate-outgoing-args -c ./kernel/kernel.c -o ./objects/kernel.o 7 gcc -I/usr/include/efi -fpic -ffreestanding -fno-stack-protector -fno-stack-check -fshort-wchar -mno-red-zone -maccumulate-outgoing-args -c ./boot/gdt.c -o ./objects/gdt.o 8 gcc -I/usr/include/efi -fpic -ffreestanding -fno-stack-protector -fno-stack-check -fshort-wchar -mno-red-zone -maccumulate-outgoing-args -c ./util/strcmp.c -o ./objects/strcmp.o 9 gcc -I/usr/include/efi -fpic -ffreestanding -fno-stack-protector -fno-stack-check -fshort-wchar -mno-red-zone -maccumulate-outgoing-args -c ./util/commands.c -o ./objects/commands.o 10 gcc -I/usr/include/efi -fpic -ffreestanding -fno-stack-protector -fno-stack-check -fshort-wchar -mno-red-zone -maccumulate-outgoing-args -c ./drivers/keyboard/oldholeps2.c -o ./objects/keyboard.o 11 gcc -I/usr/include/efi -fpic -ffreestanding -fno-stack-protector -fno-stack-check -fshort-wchar -mno-red-zone -maccumulate-outgoing-args -c ./util/isspace.c -o ./objects/isspace.o 12 #gcc -I/usr/include/efi -fpic -ffreestanding -fno-stack-protector -fno-stack-check -fshort-wchar -mno-red-zone -maccumulate-outgoing-args -c ./util/io.c -o ./objects/io.o 13 #gcc -I/usr/include/efi -fpic -ffreestanding -fno-stack-protector -fno-stack-check -fshort-wchar -mno-red-zone -maccumulate-outgoing-args -c ./boot/idt.c -o ./objects/idt.o 14 #nasm "./boot/idt.asm" -f elf64 -o "./objects/idt_s.o" 15 #nasm "./boot/gdt.asm" -f elf64 -o "./objects/gdt_s.o" 16 ld -shared -Bsymbolic -Lgnu-/usr/lib -L/usr/lib -T/usr/lib/elf_x86_64_efi.lds /usr/lib/crt0-efi-x86_64.o ./objects/gdt.o ./objects/main.o ./objects/font.o ./objects/print.o ./objects/kernel.o ./objects/strcmp.o ./objects/commands.o ./objects/keyboard.o ./objects/isspace.o -o ./objects/main.so -lgnuefi -lefi 17 objcopy -j .text -j .sdata -j .data -j .rodata -j .dynamic -j .dynsym -j .rel -j .rela -j .rel.* -j .rela.* -j .reloc --output-target efi-app-x86_64 --subsystem=10 ./objects/main.so main.efi 18 cp main.efi ./esp/EFI/BOOT/BOOTX64.EFI 19 rm main.efi 20 qemu-system-x86_64 -cpu qemu64 -drive if=pflash,format=raw,unit=0,file=/usr/share/ovmf/OVMF.fd,readonly=on -drive format=raw,file=fat:rw:esp -net none -vga std -d int