More bootloader cleanup

This commit is contained in:
K. Lange 2018-06-09 19:19:21 +09:00
parent 19db3ed744
commit e813056b64
3 changed files with 9 additions and 5 deletions

View File

@ -170,7 +170,7 @@ image.iso: cdrom/ramdisk.img cdrom/boot/boot.sys cdrom/kernel ${MODULES}
cdrom/boot/boot.sys: boot/boot.o boot/cstuff.o boot/link.ld | cdrom/boot
${KLD} -T boot/link.ld -o $@ boot/boot.o boot/cstuff.o
boot/cstuff.o: boot/cstuff.c boot/ata.h boot/atapi_imp.h boot/elf.h boot/iso9660.h boot/multiboot.h boot/text.h boot/types.h boot/util.h
boot/cstuff.o: boot/cstuff.c boot/*.h
${KCC} -c -Os -o $@ $<
boot/boot.o: boot/boot.s

View File

@ -26,6 +26,10 @@
#define MIGRATE_CMDLINE "start=--migrate _"
#define DEBUG_LOG_CMDLINE "logtoserial=3 "
#define KERNEL_PATH "KERNEL."
#define RAMDISK_PATH "RAMDISK.IMG"
#define MODULE_DIRECTORY "MOD"
/* Where to dump kernel data while loading */
#define KERNEL_LOAD_START 0x300000

View File

@ -147,7 +147,7 @@ static void do_it(struct ata_device * _device) {
done:
restore_root();
if (navigate("KERNEL.")) {
if (navigate(KERNEL_PATH)) {
print("Found kernel.\n");
print_hex(dir_entry->extent_start_LSB); print(" ");
print_hex(dir_entry->extent_length_LSB); print("\n");
@ -156,7 +156,7 @@ done:
ata_device_read_sector_atapi(device, i, (uint8_t *)KERNEL_LOAD_START + offset);
}
restore_root();
if (navigate("MOD")) {
if (navigate(MODULE_DIRECTORY)) {
memcpy(mod_dir, dir_entry, sizeof(iso_9660_directory_entry_t));
print("Scanning modules...\n");
char ** c = modules;
@ -181,7 +181,7 @@ done:
}
print("Done.\n");
restore_root();
if (navigate("RAMDISK.IMG")) {
if (navigate(RAMDISK_PATH)) {
clear_();
ramdisk_off = KERNEL_LOAD_START + offset;
ramdisk_len = dir_entry->extent_length_LSB;
@ -259,7 +259,7 @@ void show_menu(void) {
toggle(BASE_SEL + 1 + i, *boot_options[i].value, boot_options[i].title);
}
attr = 0x07;
y = 16;
print_("\n\n");
print_banner(HELP_TEXT);
print_("\n");