[boot/initrd] Add stage2 to initial ramdisk, move kernel.

This commit is contained in:
Kevin Lange 2011-03-22 01:14:54 -04:00
parent 781659d67b
commit bcd06ac136
3 changed files with 19 additions and 7 deletions

2
.gitignore vendored
View File

@ -4,7 +4,7 @@ toaruos-initrd
*.swp *.swp
bootloader/stage1.bin bootloader/stage1.bin
bootloader/stage2.bin bootloader/stage2.bin
initrd/kernel initrd/boot
.gdb_history .gdb_history
bootdisk.img bootdisk.img
*.log *.log

View File

@ -65,8 +65,9 @@ kernel/start.o: kernel/start.s
################ ################
# Ram disk # # Ram disk #
################ ################
toaruos-initrd: initrd/kernel toaruos-initrd: initrd/boot/kernel bootloader/stage2.bin
@${ECHO} -n "\033[32m initrd Generating initial RAM disk\033[0m" @${ECHO} -n "\033[32m initrd Generating initial RAM disk\033[0m"
@# Get rid of the old one
@-rm -f toaruos-initrd @-rm -f toaruos-initrd
@${GENEXT} -d initrd -q -b 249 toaruos-initrd @${GENEXT} -d initrd -q -b 249 toaruos-initrd
@${ECHO} "\r\033[32;1m initrd Generated initial RAM disk image\033[0m" @${ECHO} "\r\033[32;1m initrd Generated initial RAM disk image\033[0m"
@ -74,9 +75,15 @@ toaruos-initrd: initrd/kernel
### Ram Disk installers... ### Ram Disk installers...
# Second stage bootloader
initrd/boot/stage2: bootloader/stage2.bin
@mkdir -p initrd/boot
@cp bootloader/stager2.bin initrd/boot/stage2
# Kernel # Kernel
initrd/kernel: toaruos-kernel initrd/boot/kernel: toaruos-kernel
@cp toaruos-kernel initrd/kernel @mkdir -p initrd/boot
@cp toaruos-kernel initrd/boot/kernel
################ ################
# Utilities # # Utilities #
@ -145,7 +152,7 @@ clean:
@-rm -f bootloader/stage1/*.o @-rm -f bootloader/stage1/*.o
@-rm -f bootloader/stage2.bin @-rm -f bootloader/stage2.bin
@-rm -f bootloader/stage2/*.o @-rm -f bootloader/stage2/*.o
@-rm -f initrd/kernel @-rm -f initrd/boot
@-rm -f bootdisk.img @-rm -f bootdisk.img
@-rm -f docs/*.pdf docs/*.aux docs/*.log docs/*.out @-rm -f docs/*.pdf docs/*.aux docs/*.log docs/*.out
@-rm -f docs/*.idx docs/*.ind docs/*.toc docs/*.ilg @-rm -f docs/*.idx docs/*.ind docs/*.toc docs/*.ilg

View File

@ -6,10 +6,15 @@
* architecture you feel like running me on, though I much * architecture you feel like running me on, though I much
* prefer something simple and 32-bit. * prefer something simple and 32-bit.
*/ */
#include <stdint.h>
#include <stdio.h> #include <stdio.h>
/* The EXT2 header is smart enough to know to grab us stdint.h rather than types.h... */
#include "../kernel/include/ext2.h" #include "../kernel/include/ext2.h"
int main(int argc, char ** argv) { int main(int argc, char ** argv) {
printf("Mr. Boots Installer\n"); if (argc < 3) {
fprintf(stderr, "Expected two additional arguments: a ramdisk, and a file path to second stage to find in it.\n");
return -1;
}
fprintf(stderr, "I will look for %s in %s and generate appropriate output.\n", argv[2], argv[1]);
} }