Linuxコマンド - chroot

提供:MochiuWiki : SUSE, EC, PCB
2022年4月6日 (水) 02:11時点におけるWiki (トーク | 投稿記録)による版 (ページの作成:「== 概要 == <br><br> == 例 : openSUSE Tumbleweed (PinePhone) == AArch64命令セットを動作させるために必要なライブラリをインストールする。<br> sudo zypper install qemu-arm qemu-linux-user qemu-uefi-aarch64 <br> 以下のコマンドを実行する。<br> sudo qemu-binfmt-conf.sh <br> イメージファイルのルートファイルシステムにおいて、オフセットを確認する。<br> <u>この時、raw2拡張子の開始…」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

概要



例 : openSUSE Tumbleweed (PinePhone)

AArch64命令セットを動作させるために必要なライブラリをインストールする。

sudo zypper install qemu-arm qemu-linux-user qemu-uefi-aarch64


以下のコマンドを実行する。

sudo qemu-binfmt-conf.sh


イメージファイルのルートファイルシステムにおいて、オフセットを確認する。
この時、raw2拡張子の開始位置と1セクタのサイズを乗算して、ルートファイルシステムのオフセットを求める。

sudo fdisk -l <openSUSE Tumbleweedのイメージファイル名>.raw


openSUSE Tumbleweedのイメージファイルをマウントする。
以下の例では、/mntディレクトリにマウントしている。

sudo mount -t btrfs -o loop,offset=<ルートファイルシステムのオフセット  例: raw2拡張子の開始位置と1セクタのサイズを乗算した値> <openSUSE Tumbleweedのイメージファイル名>.raw /mnt

sudo mount --rbind /sys  /mnt/sys  && sudo mount --make-rslave /mnt/sys  && \
sudo mount --rbind /dev  /mnt/dev  && sudo mount --make-rslave /mnt/dev  && \
sudo mount --rbind /proc /mnt/proc && sudo mount --make-rslave /mnt/proc && \
sudo mount --rbind /dev/pts /mnt/dev/pts

sudo cp /run/netconfig/resolv.conf /mnt/etc/


AArch64命令セットを動作させるために必要なライブラリを、openSUSE Tumbleweedのマウント先ディレクトリにコピーする。

sudo cp /usr/bin/qemu-aarch64-binfmt /usr/bin/qemu-aarch64 /mnt/usr/bin/


chrootコマンドを実行して、openSUSE Tumbleweed (PinePhone)を起動する。

sudo chroot /mnt qemu-aarch64 /bin/bash


終了する場合は、openSUSE Tumbleweedのイメージファイルをアンマウントする。

sudo umount -fl /mnt