A UNIX-like Operating System (based on the Linux Kernel) with a Userland mostly written in Go (Golang).
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
James Mills d8755bba8d
Fix signal handling for the shell
2 months ago
.chglog Initial codebase, structure and build tools 5 months ago
.vscode Refactor getty spawning process 5 months ago
artefacts Initial codebase, structure and build tools 5 months ago
clouddrive Add config file support, rc and cleanup filesystem layout 5 months ago
cmd Fix cgroups v2 mounts 2 months ago
internal Fix signal handling for the shell 2 months ago
ports Update box checksum and fix build 2 months ago
rootfs Initial codebase, structure and build tools 5 months ago
tests Add config file support, rc and cleanup filesystem layout 5 months ago
.dockerignore Initial codebase, structure and build tools 5 months ago
.gitignore updated box's checksum and added *.idea in .gitignore file (#23) 3 months ago
.yamllint.yml Initial codebase, structure and build tools 5 months ago
AUTHORS Initial codebase, structure and build tools 5 months ago
CHANGELOG.md Initial codebase, structure and build tools 5 months ago
CODE_OF_CONDUCT.md Initial codebase, structure and build tools 5 months ago
CONTRIBUTING.md Initial codebase, structure and build tools 5 months ago
Dockerfile Cleanup filesystem layout and set hostname 5 months ago
LICENSE Update LICENSE 4 months ago
Makefile Integrate our own coreutils based on toybox 5 months ago
README.md Update 'README.md' 3 months ago
build.sh Integrate our own coreutils based on toybox 5 months ago
customize.sh Initial codebase, structure and build tools 5 months ago
defs.sh Remove unused ports and combine everything into filesystem port 5 months ago
download.sh Initial codebase, structure and build tools 5 months ago
functions.sh Initial codebase, structure and build tools 5 months ago
go.mod Revert "Use Elvish as the primary shell (#25)" 2 months ago
go.sum Revert "Use Elvish as the primary shell (#25)" 2 months ago
images.sh Add config file support, rc and cleanup filesystem layout 5 months ago
logo.png Add logo 4 months ago
main.sh Initial codebase, structure and build tools 5 months ago
release.sh Initial codebase, structure and build tools 5 months ago
screenshot.png Update README with better instructions 4 months ago
test.sh Use raw disk format 4 months ago

README.md

GoNIX - a UNIX-like Operating System with a mostly Go Userspace

GoNix Logo

gonix is a UNIX-like Operating System (based on the Linux Kernel) with a Userland mostly written in Go including Networking, Services, Device Management and an integrated SSH service.

Quick Start

Building GoNix rrquires Docker:

docker build -t builder .
docker run -i -t --rm -v $PWD/artefacts:/build/artefacts builder

A boot.iso should have been created which can be booted on any x86 system such as VirtualBox, QEMU or any Cloud Provider.

Running GoNix in QEMU:

./test.sh

License

GoNix is licensed under the terms of the MIT License