Skip to content
No description, website, or topics provided.
Rust Assembly C Makefile GDB
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Code is based these tutorials:

To build a cross compiler for OSX, combine these guides to something working: note that it's ok that the c library fails to compile as we only need the assembler and linker that were compiled before (so as long as it fails after compiling basic gcc we are good)

My config is ct-ng.config. copy it to .config and build (on macos create 4gb, case sensitive disk volume fist). you can then build cross platform gcc:

ct-ng arm-unknown-linux-gnueabi
ct-ng build
export PATH="${PATH}:${PWD}/.build/arm-unknown-linux-gnueabi/bin"
see about creating case sensistive disk image

This will most likely to fail. as long as it failed after building the assembler and linker, you are good. (I use .build folder because my build failed in the middle and never installed.)

I called my volume Crosstool, so i build it with:

export PATH=/Volumes/Crosstool/.build/armv7-unknown-linux-gnueabihf/buildtools/bin/:/Volumes/Crosstool/.build/arm-unknown-linux-gnueabi/buildtools/bin/:$PATH
make toolchain # do this just once
make kernel.img
make emulate

Stub: builds page table - identity page table for itself and devices, and proper virtual table for the kernel. kernel will later remove the stub and remap memory

Resources: |


princeton os course:

You can’t perform that action at this time.