Install the missing grub-pc-bin
grub-mkrescue did not work otherwise.
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
# x86 Bare Metal Examples
|
# x86 Bare Metal Examples
|
||||||
|
|
||||||
Dozens of minimal operating systems to learn x86 system programming. Userland cheat at: <https://github.com/cirosantilli/x86-assembly-cheat>
|
Dozens of minimal operating systems to learn x86 system programming. Tested on Ubuntu 17.10 host. Userland cheat at: <https://github.com/cirosantilli/x86-assembly-cheat>
|
||||||
|
|
||||||
1. [**Getting started**](getting-started.md)
|
1. [**Getting started**](getting-started.md)
|
||||||
1. [About](about.md)
|
1. [About](about.md)
|
||||||
|
|||||||
21
configure
vendored
Normal file
21
configure
vendored
Normal file
@@ -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\
|
||||||
|
;
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
# Getting started
|
# 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:
|
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 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.
|
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?
|
TODO: boot sectors that load STAGE2 are not working with the big image chainloader. TODO why?
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
# GRUB
|
# GRUB
|
||||||
|
|
||||||
TODO not working: https://github.com/cirosantilli/x86-bare-metal-examples/issues/5#issuecomment-377948357
|
|
||||||
|
|
||||||
cd chainloader
|
cd chainloader
|
||||||
make run
|
make run
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
qemu-system-x86_64 -hda main.img
|
||||||
|
|
||||||
TODO: can't get it working anymore: <https://github.com/cirosantilli/x86-bare-metal-examples/issues/5#issuecomment-377948357>
|
|
||||||
|
|
||||||
## Introduction
|
## Introduction
|
||||||
|
|
||||||
<https://en.wikipedia.org/wiki/Multiboot_Specification>
|
<https://en.wikipedia.org/wiki/Multiboot_Specification>
|
||||||
|
|||||||
Reference in New Issue
Block a user