More bootloader cleanup
This commit is contained in:
parent
19db3ed744
commit
e813056b64
2
Makefile
2
Makefile
|
@ -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
|
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
|
${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 $@ $<
|
${KCC} -c -Os -o $@ $<
|
||||||
|
|
||||||
boot/boot.o: boot/boot.s
|
boot/boot.o: boot/boot.s
|
||||||
|
|
|
@ -26,6 +26,10 @@
|
||||||
#define MIGRATE_CMDLINE "start=--migrate _"
|
#define MIGRATE_CMDLINE "start=--migrate _"
|
||||||
#define DEBUG_LOG_CMDLINE "logtoserial=3 "
|
#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 */
|
/* Where to dump kernel data while loading */
|
||||||
#define KERNEL_LOAD_START 0x300000
|
#define KERNEL_LOAD_START 0x300000
|
||||||
|
|
||||||
|
|
|
@ -147,7 +147,7 @@ static void do_it(struct ata_device * _device) {
|
||||||
done:
|
done:
|
||||||
restore_root();
|
restore_root();
|
||||||
|
|
||||||
if (navigate("KERNEL.")) {
|
if (navigate(KERNEL_PATH)) {
|
||||||
print("Found kernel.\n");
|
print("Found kernel.\n");
|
||||||
print_hex(dir_entry->extent_start_LSB); print(" ");
|
print_hex(dir_entry->extent_start_LSB); print(" ");
|
||||||
print_hex(dir_entry->extent_length_LSB); print("\n");
|
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);
|
ata_device_read_sector_atapi(device, i, (uint8_t *)KERNEL_LOAD_START + offset);
|
||||||
}
|
}
|
||||||
restore_root();
|
restore_root();
|
||||||
if (navigate("MOD")) {
|
if (navigate(MODULE_DIRECTORY)) {
|
||||||
memcpy(mod_dir, dir_entry, sizeof(iso_9660_directory_entry_t));
|
memcpy(mod_dir, dir_entry, sizeof(iso_9660_directory_entry_t));
|
||||||
print("Scanning modules...\n");
|
print("Scanning modules...\n");
|
||||||
char ** c = modules;
|
char ** c = modules;
|
||||||
|
@ -181,7 +181,7 @@ done:
|
||||||
}
|
}
|
||||||
print("Done.\n");
|
print("Done.\n");
|
||||||
restore_root();
|
restore_root();
|
||||||
if (navigate("RAMDISK.IMG")) {
|
if (navigate(RAMDISK_PATH)) {
|
||||||
clear_();
|
clear_();
|
||||||
ramdisk_off = KERNEL_LOAD_START + offset;
|
ramdisk_off = KERNEL_LOAD_START + offset;
|
||||||
ramdisk_len = dir_entry->extent_length_LSB;
|
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);
|
toggle(BASE_SEL + 1 + i, *boot_options[i].value, boot_options[i].title);
|
||||||
}
|
}
|
||||||
|
|
||||||
attr = 0x07;
|
y = 16;
|
||||||
print_("\n\n");
|
print_("\n\n");
|
||||||
print_banner(HELP_TEXT);
|
print_banner(HELP_TEXT);
|
||||||
print_("\n");
|
print_("\n");
|
||||||
|
|
Loading…
Reference in New Issue