diff --git a/README.md b/README.md index 3a04f7e..d7e9c6f 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # x86 Bare Metal Examples -Dozens of minimal operating systems to learn x86 system programming. Userland cheat at: +Dozens of minimal operating systems to learn x86 system programming. Tested on Ubuntu 17.10 host. Userland cheat at: 1. [**Getting started**](getting-started.md) 1. [About](about.md) diff --git a/configure b/configure new file mode 100644 index 0000000..98846ec --- /dev/null +++ b/configure @@ -0,0 +1,21 @@ +#!/usr/bin/env bash +# +# grub-pc-bin: without it, grub-mkrescue just fails, and you have no idea why! +# We love you, GRUB. +# https://superuser.com/questions/603051/grub-mkrescue-not-producing-bootable-image/973021#973021 +# https://github.com/cirosantilli/x86-bare-metal-examples/issues/5#issuecomment-377948357 +# https://wiki.osdev.org/Bare_Bones +# +sudo apt-get install \ + bochs \ + bochs-sdl \ + build-essential \ + gcc-multilib \ + gdb \ + gnu-efi \ + grub \ + grub-pc-bin \ + nasm \ + qemu \ + xorriso\ +; diff --git a/getting-started.md b/getting-started.md index 71e75c8..e558c36 100644 --- a/getting-started.md +++ b/getting-started.md @@ -1,8 +1,8 @@ # Getting started -Tested on Ubuntu 14.04 AMD64: +Ubuntu: - sudo apt-get install bochs bochs-sdl build-essential gcc-multilib gdb gnu-efi grub qemu nasm xorriso + ./configure Make all operating systems: @@ -58,6 +58,10 @@ Now if you do: you can test several examples with a single USB burn, which is much faster. +You can also try out the big image on QEMU for fun with: + + qemu-system-i386 -hda big.img + You will also want to change the boot order to put the USB first from the F12 BIOS menu. This way you don't have to hit F12 like a madman every time. TODO: boot sectors that load STAGE2 are not working with the big image chainloader. TODO why? diff --git a/grub/README.md b/grub/README.md index 4e86f4a..47a35e8 100644 --- a/grub/README.md +++ b/grub/README.md @@ -1,7 +1,5 @@ # GRUB -TODO not working: https://github.com/cirosantilli/x86-bare-metal-examples/issues/5#issuecomment-377948357 - cd chainloader make run diff --git a/multiboot/README.md b/multiboot/README.md index 2c867e6..1dc3823 100644 --- a/multiboot/README.md +++ b/multiboot/README.md @@ -17,8 +17,6 @@ Or you can use `grub-mkrescue` to make a multiboot file into a bootable ISO or d qemu-system-x86_64 -hda main.img -TODO: can't get it working anymore: - ## Introduction