https://github.com/luoyudian/nullpotos
An Uefi and X86_64 UNIX like OS
https://github.com/luoyudian/nullpotos
bootloader drivers elf hal kernel os uefi unix-like x64 x86
Last synced: 4 months ago
JSON representation
An Uefi and X86_64 UNIX like OS
- Host: GitHub
- URL: https://github.com/luoyudian/nullpotos
- Owner: LuoYuDian
- License: mit
- Created: 2025-01-23T02:38:11.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2025-02-04T01:57:05.000Z (4 months ago)
- Last Synced: 2025-02-04T02:33:23.744Z (4 months ago)
- Topics: bootloader, drivers, elf, hal, kernel, os, uefi, unix-like, x64, x86
- Language: C++
- Homepage: https://github.com/LuoYuDian/NullPotOS
- Size: 37.8 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# NullPotOS Project

## Project brief introduction
NullPotOS is a UNIX like operating system, it is UEFI and X86_64 architecture.
--------------------------------
## Project status
##### Bootloader
- [X] UEFI
- [X] UEFI Memory Map
- [X] UEFI File System Protocol
- [X] UEFI Graphics Output Protocol##### Kernel
- [X] Uefi Init
- [X] Uefi Graphics Output Protocol
- [X] Format output
- [X] Bmp output
- [X] A20
- [X] GDT
- [ ] TSS
- [ ] IDT##### Hal
- [X] IO
##### Drivers
- [X] Serial Port Driver
- [X] Beep Driver
- [X] Gop## Build and run NullPotOS Project
#### Get ready
- Linux (Because use Linux to build the project,Windows use WSL2)
- Git (Because use Git to clone the project)
- Python 3.10+ (Because use Python to build the project)
- SignTool (Because use SignTool to sign the project)
- GCC (Because use GCC to build the Kernel)
- MinGW (Because use MinGW to build the Bootloader)
- QEMU (Because use QEMU to run the project)
- GDB (Because use GDB to debug the project)#### My build configuration
- Intel(R) Xeon(R) CPU E5-2676 v3 @ 2.40GHz 2.40 GHz(12 cores and 24 threads)
- 4 * 16GB DDR3
- 1 * 1TB SSD- Windows 11 24H2 Pro
- WSL2
- Python 3.12.7
- GCC 13.2.0
- MinGW 14.2.0
- QEMU 9.1.0
- GDB 14.2#### Start
``` Shell
git clone https://github.com/LuoYuDian/NullPotOS.git
cd NullPotOS
```Open your WSL2
#### Build
``` Shell
make all
```If you want to clean the project, you can use the following command
``` Shell
make Clean
```#### Run
``` Shell
make Run
```Of course, you can also boot it on a real machine.
###### Tip:
The premise is that you have a USB flash drive with a Fat32 file system and a computer with Uefi firmware
## Refer to the documentation
[Intel® 64 and IA-32 Architectures Software Developers' Manual-volumes-1-2abcd-3abcd-4](./Docs/Intel®%2064%20and%20IA-32%20Architectures%20Software%20Developers'%20Manual-volumes-1-2abcd-3abcd-4.pdf)
[UEFI Specification](./Docs/UEFI_Spec_2_10_Aug29.pdf)
## Project License
NullPotOS is licensed under the [MIT LISENSE](LICENSE.md) -You should see the LICENSE file for more details
## Project Developer
[LuoYuDian](https://github.com/LuoYuDian) - Project Founder
[MaxSinoh](https://github.com/MaxSinoh) - Project Developer and Contributor
## Code line
`117491`
## Project is read-only
Because LuoYuDian is working on a new version.
After the new version is successfully developed, it will be re-uploaded to this repository.