Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

A Micro Kernel

License

NotificationsYou must be signed in to change notification settings

mytchel/agatha

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A micro kernel.

Features

  • Message passing handled by the kernel for IPCand interrupts.
  • Virtual memory handled outside of the kernelwith support from the kernel.
  • Userspace device drivers for everything exceptthe interrupt controller, and the system timer.Currently the kernel also takes a serial devicefor debugging.

Inspired by

  • QNX
  • L4
  • Barrelfish OS
  • Minix
  • Plan9

Supported Hardware

It doesn't do much at the moment but it should start up andshow you that it isn't doing much on the following devices:

  • beaglebone black
  • qemu vexpress-a9, this hasn't been tested in a while.

Currently the kernel is not portable between devices andrelies on a board specificdevice.c file and kerneldevice drivers. Each board needs to have its own kerneland proc0 compiled.

Trying it out

You will need:

  • an arm cross compiler. I'm using arm-none-eabi6.3.1 on OpenBSD 6.2.
  • Make. I'm use BSD make but GNU should also work.
  • U-Boot tools/mkimage for the version of U-Bootyou are using.

Then go to the directory of the board you want to buildand run make. For example to build for vexpress-a9:

export CROSS=arm-none-eabicd arm/vexpress-a9make

The kernel should be built and bundled for U-Bootatarm/vexpress-a9/kern.umg. Copy that across to your devicesomehow and use U-Boot to load the kernel.

To run it I am currently using qemu to emulate, bootingU-Boot which is loading the kernel from dnsmasq's tftpserver. Look at the scriptarm/vexpress-a9/test. The U-Bootbinary is atarm/vexpress-a9/u-boot. There is a scriptarm/vexpress-a9/test which starts qemu and sets upthe networking loop back for U-Boot to load the kernel.You will probably have to make some changes to get it workingon your system.


[8]ページ先頭

©2009-2025 Movatter.jp