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)コースにて、教育を目的として使われている。 LinuxやBSDとは異なり、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続きを読む