Improve getting started
This commit is contained in:
@@ -1,14 +1,22 @@
|
||||
# Getting started
|
||||
|
||||
Tested on Ubuntu 14.04 AMD64:
|
||||
|
||||
sudo apt-get install bochs bochs-sdl build-essential gdb gnu-efi qemu nasm xorriso
|
||||
|
||||
Make all operating systems:
|
||||
|
||||
make
|
||||
|
||||
Each `.S` file on the top-level is an operating system!
|
||||
|
||||
## Emulator
|
||||
|
||||
Run the default program on QEMU:
|
||||
Run the default OS on QEMU:
|
||||
|
||||
make run
|
||||
|
||||
Run a given program:
|
||||
Run a given OS:
|
||||
|
||||
make run RUN=min
|
||||
make run RUN=bios_one_char
|
||||
@@ -17,8 +25,6 @@ Use Bochs instead of QEMU:
|
||||
|
||||
make bochs RUN=min
|
||||
|
||||
Tested on Ubuntu 14.04 AMD64.
|
||||
|
||||
## Real hardware
|
||||
|
||||
Insert an USB, determine its device (`/dev/sdX`) with:
|
||||
|
||||
4
smp.S
4
smp.S
@@ -30,7 +30,7 @@ BEGIN
|
||||
Setup the code that will be run
|
||||
on the other processors when they start up.
|
||||
Should be somewhere into the first 1Mb,
|
||||
as processors starte in real mode.
|
||||
as processors start in real mode.
|
||||
*/
|
||||
cld
|
||||
mov $init_len, %ecx
|
||||
@@ -101,7 +101,7 @@ init:
|
||||
/*
|
||||
TODO mandatory?
|
||||
- is lock prefix enough?
|
||||
- is caching even on I think not because it is off
|
||||
- is caching even on? I not because of CR0.CD and CR0.NW
|
||||
*/
|
||||
wbinvd
|
||||
hlt
|
||||
|
||||
Reference in New Issue
Block a user