バベルの図書館は完成しない

Extended outer memory module
for my poor native memory.

Posts:
2022/02/13 クラビスの CTO になりました
2020/09/28 gendoc という YAML からドキュメントを生成するコマンドを作った
2020/09/13 ISUCON10 の予選を 7 位で通過した
2019/12/01 Puma の内部構造やアーキテクチャを追う
2019/05/27 Golang の正規表現ライブラリの処理の流れをざっくり掴む
2019/04/29 InnoDB の B+Tree Index について
2019/04/29 InnoDB における index page のデータ構造
2019/04/28 InnoDB はどうやってファイルにデータを保持するのか
2019/01/06 Designing Data-Intensive Applications を読んでいる
2019/01/03 年末年始に読んだ本について、など
2019/01/01 Ruby から ffi を使って Rust を呼ぶ
2018/11/10 ブラウザにおける状態の持ち方
2018/07/01 Rust で web アプリ、 或いは Rust における並列処理
2018/05/14 なぜテストを書くのか
2018/05/13 Rust で wasm 使って lifegame 書いた時のメモ
2018/03/12 qemu で raspbian のエミュレート(環境構築メモ)
2018/03/12 qemu で xv6 のエミュレート(環境構築メモ)
2018/03/03 Ruby の eval をちゃんと知る
2018/02/11 Web のコンセプト
2018/02/03 Rspec のまとめ
2018/02/03 Ruby を関数型っぽく扱う

qemu で raspbian のエミュレート(環境構築メモ)

xv6 の勢いで raspbian を動かそうと思い立ち、同じくメモ。

raspbian は xv6 より現代的なアーキテクチャ向けに作られているから簡単っぽい

と、思ってたら意外とめんどくさく、最初は stretch を動かそうと思ってたけど簡単な jessie にした

僕の環境

必要なもの(Homebrewとか自前ビルドとかで)

必要なもののバージョン

初回起動

$ qemu-system-arm -kernel ./kernel-qemu-4.4.34-jessie \
-cpu arm1176 -m 256 \
-M versatilepb -no-reboot -serial stdio \
-append "root=/dev/sda2 panic=1 rootfstype=ext4 rw init=/bin/bash" \
-drive "file=2016-11-25-raspbian-jessie-lite.img,index=0,media=disk,format=raw"

start

生成されたファイルの書き換え

たぶん立ち上がった raspbian の中でこのコマンドやるってことだと思う

$ sed -i -e 's/^/#/' /etc/ld.so.preload
$ sed -i -e 's/^/#/' /etc/fstab

以降の起動

bash での init を消しつつ最後にポートのオプションを加えるだけ

$ qemu-system-arm -kernel ./kernel-qemu-4.4.34-jessie \
-cpu arm1176 -m 256 \
-M versatilepb -no-reboot -serial stdio \
-append "root=/dev/sda2 panic=1 rootfstype=ext4 rw" \
-drive "file=2016-11-25-raspbian-jessie-lite.img,index=0,media=disk,format=raw" \
-net user,hostfwd=tcp::5022-:22

立ち上がった!

standup

これでホストマシンの 5022 番ポートと仮想マシンの 22 番ポートを結んでいる

はずなんだけど ssh -p 5022 ができない、、

またあとで調べよう

参考:

2018/03/12 23:00
tags: os - qemu - raspbian
This site is maintained by furuhama yusuke.
from 2018.02 -