go による OS 実装 biscuit を試す

go

biscuit は go で POSIX 準拠の OS カーネルを実装するという、MIT のプロジェクトです。

Biscuit is a monolithic, POSIX-subset operating system kernel in Go for x86-64 CPUs.
https://pdos.csail.mit.edu/projects/biscuit.html

github
https://github.com/mit-pdos/biscuit

n月刊ラムダノート Vol.2, No.1(2020)
#3 Biscuitで学ぶ、GoならわかるOS実装(渋川よしき)
https://www.lambdanote.com/collections/n/products/nmonthly-vol-2-no-1-2020

macOS Catalina 上で docker を用いて実行します。

まず clone

% git clone https://github.com/mit-pdos/biscuit.git
% cd biscuit

biscuit/Dockerfile を以下の内容で作成します

FROM amd64/golang:1.15

RUN apt-get update && apt-get install -y \
    vim \
    qemu-system \
    && rm -rf /var/lib/apt/lists/*

COPY . /home

WORKDIR /home/biscuit

RUN cd ../src && \
    bash ./make.bash

RUN make clean

ENV GOPATH /home/biscuit

docker image を作成

% docker build -t test_biscuit_image .

作成したイメージでコンテナを作り、bashでログインします

% docker run -it test_biscuit_image bash

コンテナ内で、以下のコマンドを打つと biscuit に入れます

# LANG=C make qemu CPUS=2

go 言語の学習でオススメ書籍

docker の学習でオススメ書籍

コメント

タイトルとURLをコピーしました