Mercurial > hg > Document > Growi
view user/matac42/singularity-xv6.md @ 120:d03247694a4b
backup 2023-05-09
author | autobackup |
---|---|
date | Tue, 09 May 2023 00:10:03 +0900 |
parents | 7c70b573b54f |
children |
line wrap: on
line source
# singularityなxv6の作成 学科サーバー上の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 ``` BootStrap: docker From: debian:10.10 %post apt update apt install -y \ git \ zsh \ build-essential \ gdb-multiarch \ qemu-system-misc \ gcc-riscv64-linux-gnu \ binutils-riscv64-linux-gnu ``` ### 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 ``` add-auto-load-safe-path /xv6/xv6-riscv/.gdbinit set auto-load safe-path / ``` ### 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`