• Stars
    star
    1,308
  • Rank 35,971 (Top 0.8 %)
  • Language
    C
  • License
    GNU General Publi...
  • Created over 10 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A minimalist kernel

mkernel

This is a minimalist kernel which prints "my first kernel" on the screen and then hangs.

  • The kernel is multi-boot compliant and loads with GRUB.

Blog post

Kernel 101 – Let’s write a Kernel

Build commands

nasm -f elf32 kernel.asm -o kasm.o
gcc -m32 -c kernel.c -o kc.o
ld -m elf_i386 -T link.ld -o kernel kasm.o kc.o

Test on emulator

qemu-system-i386 -kernel kernel

Get to boot

GRUB requires your kernel executable to be of the pattern kernel-<version>.

So, rename the kernel:

mv kernel kernel-701

Copy it to your boot partition (assuming you are superuser):

cp kernel-701 /boot/kernel-701

Configure your grub/grub2 similar to what is given in _grub_grub2_config folder.

Reboot.

Voila!

kernel screenshot

The next step

See mkeykernel repo

More Repositories

1

mkeykernel

A kernel that can read from keyboard and print on-screen
C
650
star
2

memalloc

A simple memory allocator - Memory allocation 101
C
214
star
3

socketfun

collection of well commented socket programming code
C
99
star
4

facebook-friends-ranking-score

Find your Facebook Friends Ranking Score http://arjunsreedharan.org/post/65979958297/find-your-facebook-friends-ranking-score
JavaScript
84
star
5

systemd-example-startup

example file to tell systemd to start a shell script at boot
Shell
51
star
6

turn-off-screen

Turn off your screen display
Python
46
star
7

hide-data-in-ptr

how to hide data inside pointers
C
32
star
8

actions-dashboard

Github Actions dashboard
Shell
30
star
9

get-a-random-proxy-address

returns a random working proxy address
Python
17
star
10

tiny-elf

Tiniest ELF (Executable and Linkable Format) executable
Assembly
11
star
11

linux-0.01

Historic linux kernel from ftp://ftp.kernel.org/pub/linux/kernel/Historic/
C
11
star
12

wikicoding

the code that powers Wikicoding, the wikipedia of code.
Python
11
star
13

pystorage

A simple python file-storage solution using dropbox and google app engine
Python
11
star
14

whats

a tool to quickly lookup something from the command line, written in Go
Go
10
star
15

findrep

A tool to easily find and replace from files
C
10
star
16

golang-101

some trivial examples in golang
Go
8
star
17

strbuf

standalone version of git's strbuf api
C
6
star
18

actions-dashboard-paketo

Shell
4
star
19

imagetweet

tweet longer messages using Images. Code that powers imagetweet.com
PHP
4
star
20

oauthRequest

a simple php wrapper for making OAuth Requests
PHP
4
star
21

arjun024.github.io

user page
JavaScript
1
star
22

ruby-nginx-multi-app

HTML
1
star
23

arjunsreedharan.org

backup code for template of http://arjunsreedharan.org
HTML
1
star
24

nitcbot

the code that powers @nitcbot
PHP
1
star
25

extract-mp3-from-playlist

Extract mp3 files from a Windows Media Player playlist (.wpl) to a folder
Python
1
star
26

heuristic-based-bgp-hjack-analysis

Measuring the propagation of BGP Hijacks
Python
1
star