Thanks to visit codestin.com
Credit goes to github.com

Skip to content

laurinyev/goonix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Goonix

Un*x for g**ns

Dependencies

Any make command depends on GNU make (gmake) and is expected to be run using it. This usually means using make on most GNU/Linux distros, or gmake on other non-GNU systems.

It is recommended to build this project using a standard UNIX-like system, using a Clang/LLVM toolchain capable of cross compilation.

Additionally, building an ISO with make all requires xorriso, and building a HDD/USB image with make all-hdd requires sgdisk (usually from gdisk or gptfdisk packages) and mtools.

Toolchain selection

The TOOLCHAIN and TOOLCHAIN_PREFIX make variables can be used to set the toolchain. TOOLCHAIN can be set to llvm to use Clang/LLVM.

For example:

make TOOLCHAIN=llvm

or:

make TOOLCHAIN_PREFIX=x86_64-elf-

Architectural targets

The ARCH make variable determines the target architecture to build the kernel and image for.

The default ARCH is x86_64. Other options include: aarch64, loongarch64, and riscv64.

Makefile targets

Running make all will compile the kernel (from the kernel/ directory) and then generate a bootable ISO image.

Running make all-hdd will compile the kernel and then generate a raw image suitable to be flashed onto a USB stick or hard drive/SSD.

Running make run will build the kernel and a bootable ISO (equivalent to make all) and then run it using qemu (if installed).

Running make run-hdd will build the kernel and a raw HDD image (equivalent to make all-hdd) and then run it using qemu (if installed).

For x86_64, the run-bios and run-hdd-bios targets are equivalent to their non -bios counterparts except that they boot qemu using the default SeaBIOS firmware instead of OVMF.

About

Un*x for g**ns

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published