Nullable

旧レガシーガジェット研究所

Unix xv6 ~ 起動 ~

概要

xv6のコードリーティングを通してUnixの動作を追う。今回はCPUの起動からカーネルの起動直前までを見ていく。

xv6

xv6は、ANSI Cによる、6th Edition Unixマルチプロセッサx86システムへの再実装である。 xv6はMITにおけるオペレーティングシステムエンジニアリング(6.828)コースにて、教育を目的として使われている。 引用: https://ja.wikipedia.org/wiki/Xv6

ソースコードは以下。コード内にも多くのコメントが記述されており非常に理解し易くなっている。

https://github.com/mit-pdos/xv6-public

続きを読む

Unix xv6 ~ イメージ ~

概要

xv6のコードリーティングを通してUnixの動作を追う。今回は起動イメージを見ていく。

リポジトリは以下。

https://github.com/mit-pdos/xv6-public

xv6

xv6は、ANSI Cによる、Sixth Edition Unixマルチプロセッサx86システムへの再実装である。 xv6はMITにおけるオペレーティングシステムエンジニアリング(6.828)コースにて、教育を目的として使われている。 LinuxBSDとは異なり、xv6は1セメスターで学習するのに十分なほどシンプルであり、Unixの重要な概念と構造を含んでいる。 引用: https://ja.wikipedia.org/wiki/Xv6

続きを読む

CVE-2019-5736に関して

概要

当該脆弱性を悪用して細工したコンテナをユーザが実行した場合、ホスト上のruncバイナリが上書きされ、コンテナが起動しているホスト上でroot権限でコマンドが実行される恐れがある。

ここからは以下のドキュメントを雑に訳したものとなる(間違いがあれば指摘いただけると・・・

https://blog.dragonsector.pl/2019/02/cve-2019-5736-escape-from-docker-and.html

続きを読む

Raspberry Pi 3でGPIOライブラリを書く

概要

Raspberry PiのGPIOを対象としたライブラリを作成する。既存のライブラリなどは数多く存在するが実際に自分で作成することでその内部を理解できると思う。

環境

Paspberry Pi 3 Model B

$ sudo cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"
NAME="Raspbian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
$ sudo uname -a
Linux raspberrypi 4.9.41-v7+ #1023 SMP Tue Aug 8 16:00:15 BST 2017 armv7l GNU/Linux
続きを読む