https://github.com/malinoos/malino
The Malino Linux-based OS development toolkit
https://github.com/malinoos/malino
go golang linux linux-based os osdev toolkit
Last synced: 6 months ago
JSON representation
The Malino Linux-based OS development toolkit
- Host: GitHub
- URL: https://github.com/malinoos/malino
- Owner: malinoOS
- License: gpl-2.0
- Created: 2024-05-16T02:31:13.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-06-02T19:51:43.000Z (about 2 years ago)
- Last Synced: 2024-06-03T19:07:48.937Z (about 2 years ago)
- Topics: go, golang, linux, linux-based, os, osdev, toolkit
- Language: Go
- Homepage:
- Size: 9.78 MB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

### malino is a toolkit that allows people to create their own operating systems, easily.
#### It supports both Go & C#, and you get to use Linux as your base.
#### And also has a library that helps you make an OS with the toolkit.
##### (in beta)
## Features
- Direct Linux system call access
- Advanced file system, supports many filesystems, and works on real hardware
- Most features found in both the C# and Go standard library
- BIOS & EFI support on real hardware, almost all features work on real hardware
- Framebuffer support to the point where it can [run DOOM](https://youtu.be/JERv-ocRCW4).
- Including files in the system, allows lots of apps (with their libraries) to be ran (including apps like `ffmpeg`)
- Faster than Cosmos in almost every way
### How to install
#### [GitHub Wiki: Installation](https://github.com/malinoOS/malino/wiki/Installation)
### How to use
#### [GitHub Wiki: Getting Started](https://github.com/malinoOS/malino/wiki/Getting-Started)
#### [GitHub Wiki: Toolkit usage](https://github.com/malinoOS/malino/wiki/Toolkit-usage)
# Directory structure
## libmalino
libmalino is the Go module that your OS imports, so you don't need 50 lines just to read a line from the user.
Include it in your Go file with `import "github.com/malinoOS/malino/libmalino"`.
## libmalino-cs
libmalino-cs is libmalino but for C#. It uses .NET 8.0 to compile, and is placed in `/opt/malino/libmalino-cs.dll`.
malino automatically "links" libmalino-cs with your project if you have your project configured to build for C#.
## libmsb
MSB stands for "Malino Syscall Bridge". This is only used with C# projects, and it's used to allow C# to make Linux system calls, since for some reason it can't by default. And it uses `clang` to build since this is a syscall bridge and must be written in C.
## malino
malino is the toolkit and command you use to create projects, build, export, etc...