Friday, 24 May 2019

ソースコード読み会

明日明後日、朝から読んでいるはずです。

今回は、QEMU 読もうかと思ってます。でも、

  tmux
  Docker

と言う話も。

QEMU読める docker image 作ろうと言うのもやったらしいですが、だめだったっぽい。VM ではできたらしい。

QEMU はバイナリ変換するので、結構楽しそうです。VMの研究が流行ったのは20年前くらい? 日の丸VMもあったはずだが...

6809のバイナリ変換書いてみたい。x86_64の速度で動く6809とか面白い気がする。

Docker 少し読んだのですが、単にAPIを叩くだけの golang だからなぁ。 もっとも使い方忘れてる。

  docker build .
  docker image ls
docker start image-id

ここで、「sleep 1000とか終わらないコマンドをDockerScript に入れておく」

すると、

docker exec container-id /bin/bash

で接続できると。しかし、死んだ後もcontainer-idは残るので

docker rm `docker ps -a -q`

で消せと。このまったく便利でないものなんとかならんのかな。

Docker 側は go なので go の debugger を使うわけですが、

dvr で golang を debug できるが、debbug build が必要
  debug build してない

ってことが判明。いろいろやったんですが、

  Moby という名前に変わってる
  build は docker 内部で行われるらしい

しかし、

  Docker Script が動かない

FROMの前にコマンドがあると動かないとか、FROM .. AS ... が動かないとか。

もしかして、Docker が古い? Fedora の最新でやってるらしいんですが確かに古い。が、

  dnf で docker-ce を読もうとすると sync failed

あ、そ。この前日に準備ができてないことが判明するって毎年のことではあるが、ちょっと残念かな。

まぁ、QEMUが読めればいいかな。

No comments: