トップページ -> コンピュータ -> Ubuntu -> Ubuntu 上で,armhf 版 Degian 10 (buster) の隔離された開発環境を作る(qemu-debootstrap を使用)
[サイトマップへ]  

Ubuntu 上で,armhf 版 Degian 10 (buster) の隔離された開発環境を作る(qemu-debootstrap を使用)

サイト構成 連絡先,業績など 実践知識 データの扱い コンピュータ 教材 サポートページ

debootstrap は,Debian, Ubuntu システムのインストールのコマンド.

ユースケース: Ubuntu 18.04 上に,すばやく,armhf 版 Degian 10 (buster) の隔離された開発環境を作りたい.

参考ページ http://logan.tw/posts/2017/01/21/introduction-to-qemu-debootstrap/ の記事

サイト内の関連ページ:


前準備

Ubuntu のシステム更新

端末で,次のコマンドを実行.

sudo apt update
sudo apt -yV upgrade
sudo shutdown -r now

qemu を使ってみる

  1. qemu-user-static, debootstrap, schroot のインストール
    sudo apt -yV install qemu-user-static debootstrap schroot
    

  2. armhf 版 Debian 10 (buster) 環境の作成

    ここでの設定

    終了まで,しばらく待つ

    mkdir ${HOME}/buster-armhf
    sudo qemu-debootstrap --foreign --arch armhf --variant buildd --include=ca-certificates,apt,wget,debootstrap buster ${HOME}/buster-armhf http://ftp.jp.debian.org/debian
    

  3. 終了の確認

  4. armhf 版 Debian 10 (buster) 環境の確認
    1. armhf 版 Debian 10 (buster) 環境を有効にし,「uname -m」でアーキテクチャを確認
      sudo chroot ${HOME}/buster-armhf
      uname -m
      

    2. nanoエディタをインストールしてみる
      apt install nano
      

    3. コンパイラの確認のため、 エディタを使って次のプログラムファイルを作成。「/tmp/hello.c」のようなファイル名で保存.
      #include <stdio.h>
      int main() {
          printf("Hello,World!\n");
          printf("sizeof(size_t)=%d\n", sizeof(size_t));
          return 0;
      }
      

    4. コンパイルして実行
      cd /tmp
      gcc -o a.out hello.c
      ./a.out
      

    5. exit で終了
      exit
      


schroot の設定

schroot を設定し,一般ユーザでも chroot が実行できるようにする

  1. /etc/schroot/chroot.d/buster-armhf を次のように設定

    「directory=/home/kaneko/buster-armhf」のところは,実際に作成したディレクトリに書き換えること

    kaneko」のところは,使用させたいユーザのユーザ名に書き換えること(複数のときは,カンマで区切る)

    [buster-armhf]
    description=Debian GNU/Linux 10 (Buster)
    type=directory
    directory=/home/kaneko/buster-armhf
    root-users=kaneko
    users=kaneko
    

  2. schroot の動作確認
    schroot -c buster-armhf -p bash
    uname -m
    

  3. schroot の動作確認.今度は管理者権限を得る
    schroot -c buster-armhf -p bash -u root
    uname -m