「Linuxコマンド - chroot」の版間の差分

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動
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>
以下のコマンドを実行する。<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のマウント先ディレクトリにコピーする。<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>
chrootコマンドを実行して、openSUSE Tumbleweed (PinePhone)を起動する。<br>
openSUSE Tumbleweed (PinePhone)の環境にchrootする。<br>
  sudo chroot /mnt qemu-aarch64 /bin/bash
  sudo chroot /mnt qemu-aarch64 /bin/bash
<br>
<br>
終了する場合は、openSUSE Tumbleweedのイメージファイルをアンマウントする。<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