学科サーバー上のsingularityを用いた
# 作成したsif
amane:/ie-ryukyu/singularity/xv6
においてある
# 単にxv6を起動したい場合
$cd /ie-ryukyu/singularity/xv6
$singularity shell --fakeroot --writable xv6.sif
Singularity> cd /xv6/xv6-riscv
Singularity> make qemu
# debugしたい場合
$cd /ie-ryukyu/singularity/xv6
$singularity shell --fakeroot --writable xv6.sif
Singularity> cd /xv6/xv6-riscv
Singularity> make qemu-gdb
別端末、同ディレクトリにて
$singularity shell --fakeroot --writable xv6.sif
Singularity> cd /xv6/xv6-riscv
Singularity> gdb-multiarch
# sif作成の手順
自分でsifを作りたいときはこのセクションを参考にすると良い
# defファイルを作成する
$cd /ie-ryukyu/singularity/xv6
xv6.def
|
|
# build
$singularity build --sandbox --fakeroot xv6 xv6.def
# singularityのシェルに入る
$singularity shell --fakeroot --writable xv6
# 作業ディレクトリを作成する
Singularity> mkdir /xv6
Singularity> cd /xv6
# 足りなかったもの追加
Singularity> apt install vim
Singularity> vim /root/.gdbinit
/root/.gdbinit
|
|
# xv6をcloneする
Singularity> git clone git@github.com:mit-pdos/xv6-riscv.git
Singularity> cd xv6-riscv
# makeしてみる
Singularity> make qemu
(Ctrl+a xで抜ける)
Singularity> make qemu-gdb
(Ctrl+a xで抜ける)
# sifに変換する
singularityのシェルを抜けてから
$singularity build --fakeroot xv6.sif xv6
# sifを用いてsingularityのシェルに入る
$singularity shell xv6.sif