「Linuxコマンド - chroot」の版間の差分
7行目: | 7行目: | ||
sudo zypper install qemu-arm qemu-linux-user qemu-uefi-aarch64 | sudo zypper install qemu-arm qemu-linux-user qemu-uefi-aarch64 | ||
<br> | <br> | ||
x86またはx64のPCを使用している場合、ARMバイナリのQEMU変換を設定する。<br> | |||
もし、ARM PCを使用している場合は、この操作は行わない。<br> | |||
sudo qemu-binfmt-conf.sh | sudo qemu-binfmt-conf.sh | ||
<br> | <br> | ||
25行目: | 26行目: | ||
sudo cp /run/netconfig/resolv.conf /mnt/etc/ | sudo cp /run/netconfig/resolv.conf /mnt/etc/ | ||
<br> | <br> | ||
AArch64命令セットをエミュレートするために必要なファイルを、openSUSE Tumbleweed (PinePhone)のマウント先ディレクトリにコピーする。<br> | |||
sudo cp /usr/bin/qemu-aarch64-binfmt /usr/bin/qemu-aarch64 /mnt/usr/bin/ | sudo cp /usr/bin/qemu-aarch64-binfmt /usr/bin/qemu-aarch64 /mnt/usr/bin/ | ||
<br> | <br> | ||
openSUSE Tumbleweed (PinePhone)の環境にchrootする。<br> | |||
sudo chroot /mnt qemu-aarch64 /bin/bash | sudo chroot /mnt qemu-aarch64 /bin/bash | ||
<br> | <br> | ||
openSUSE Tumbleweed (PinePhone)の環境を終了する場合は、ターミナルから<code>exit</code>コマンドを実行した後、<br> | |||
openSUSE Tumbleweed (PinePhone)のイメージファイルをアンマウントする。<br> | |||
sudo umount -fl /mnt | sudo umount -fl /mnt | ||
<br><br> | <br><br> |
2022年4月6日 (水) 11:32時点における版
概要
例 : openSUSE Tumbleweed (PinePhone)
AArch64命令セットを動作させるために必要なライブラリをインストールする。
sudo zypper install qemu-arm qemu-linux-user qemu-uefi-aarch64
x86またはx64のPCを使用している場合、ARMバイナリのQEMU変換を設定する。
もし、ARM PCを使用している場合は、この操作は行わない。
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 (PinePhone)のマウント先ディレクトリにコピーする。
sudo cp /usr/bin/qemu-aarch64-binfmt /usr/bin/qemu-aarch64 /mnt/usr/bin/
openSUSE Tumbleweed (PinePhone)の環境にchrootする。
sudo chroot /mnt qemu-aarch64 /bin/bash
openSUSE Tumbleweed (PinePhone)の環境を終了する場合は、ターミナルからexit
コマンドを実行した後、
openSUSE Tumbleweed (PinePhone)のイメージファイルをアンマウントする。
sudo umount -fl /mnt
例 : Raspbian OS (AArch64)
AArch64命令セットを動作させるために必要なライブラリをインストールする。
sudo zypper install qemu-arm qemu-linux-user qemu-uefi-aarch64
以下のコマンドを実行する。
sudo qemu-binfmt-conf.sh
イメージファイルのルートファイルシステムにおいて、オフセットを確認する。
この時、img3拡張子の開始位置と1セクタのサイズを乗算して、ルートファイルシステムのオフセットを求める。
sudo fdisk -l <Raspbian OS (AArch64)のイメージファイル名>.img
Raspbian OS (AArch64)のイメージファイルをマウントする。
以下の例では、/mntディレクトリにマウントしている。
sudo mount -t ext4 -o loop,offset=<ルートファイルシステムのオフセット 例: img3拡張子の開始位置と1セクタのサイズを乗算した値> <Raspbian OS (AArch64)のイメージファイル名>.raw /mnt
AArch64命令セットを動作させるために必要なライブラリを、Raspbian OS (AArch64)のマウント先ディレクトリにコピーする。
sudo cp /usr/bin/qemu-aarch64-binfmt /usr/bin/qemu-aarch64 /mnt/bin/
chrootコマンドを実行して、Raspbian OS (AArch64)を起動する。
sudo chroot /mnt qemu-aarch64 /bin/bash
終了する場合は、Raspbian OS (AArch64)のイメージファイルをアンマウントする。
sudo umount -fl /mnt