Github Guide

Welcome to GFS Guide!

Here's how to make own distro in gib from scratch.


1: Getting kernel

1.0: Clone repository with kernel

$ git clone https://github.com/maldidev/gib

Then, go to this directory.

1.1: Understanding folders

Name Point
CC32/ C-Compiler 32
configs/ Configurations to ./etc
execs/ Init Executables Help
prts/ Disks help
shell/ Classic gibsh shell
snowflake/ Package Manager
uefi/ GibCore UEFI
uefi-img/ GibCore UEFI Image
utils/ Utils for GFS and binarys.

1.2: Selecting firmware

You can select:

GibCore UEFI Classic
Custom Your owned firmware (in .sh)

2: Starting

2.0: Readme

From all we have now, we can just start make our distro.

For first steps, you need to create folders.

bin/ Executables
etc/ Configs
src/ Sources of firmware & etc.
home/local/ User folder (basically)

You need to write and compile your programs, then paste to bin/, source to src/

Something like 'fetch.c', or another (you can anything language)

You can get some base-programs from whitedevil-os (gib-based): diabloblanco/whitedevil-os


WARNING! You will need to copy utils/gibutils.py to ALL folders, and your gfs-os-root to.

2.1: Making configs

All configs is in etc/.

Making configs is easy. Lets do to the first config

gpm.conf: What is is? gpm - Gib Package Manager; gpm.conf is a list with packages.

Example to configs is:


# gpm.conf

# gpm is working with github, so make/search packages with bin/compiled-file

package_name=author/package


# sys.conf

# shell helper

hostname : "localhost"

admin : "root"

prompt : "$"


2.2: Copy all firmware files and bootloader

Copy firmware and giboot (bootloader) to main folder.

Change source of giboot.c and compile it (gcc or clang)


3: Making shell

We will make shell in python. Its easy! So, lets go.

You need to clone the official repository of shell:

$ git clone https://github.com/maldidev/gibsh

$ chmod 775 path-to-gibsh/gibsh && cp path-to-gibsh/gibsh path-to-your-os/

Done!

For first step to finish you need to give executable-advice to files.

$ chmod 775 ./* && chmod 775 ./bin/*

And then, just run bootloader:

$ ./giboot