<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Debootstrap on Ivon's Blog</title><link>https://ivonblog.com/ja-jp/tags/debootstrap/</link><description>Recent content in Debootstrap on Ivon's Blog</description><generator>Hugo -- gohugo.io</generator><language>ja-jp</language><managingEditor>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</managingEditor><webMaster>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</webMaster><copyright>Ivon's Blog (ivonblog.com）の記事のシェアを歓迎します。記事を引用する際は元のURLを明記し、CC BY-NC-ND 4.0ライセンスに従ってください。商用利用の場合は、私宛にメールでご連絡ください。</copyright><lastBuildDate>Thu, 16 Nov 2023 23:00:00 +0800</lastBuildDate><atom:link href="https://ivonblog.com/ja-jp/tags/debootstrap/index.xml" rel="self" type="application/rss+xml"/><item><title>x86環境のdebootstrapでARM版rootfsを作成し、Androidにchroot Debian環境をインストールする</title><link>https://ivonblog.com/ja-jp/posts/debootstrap-create-rootfs-for-android/</link><pubDate>Thu, 16 Nov 2023 23:00:00 +0800</pubDate><author>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</author><guid>https://ivonblog.com/ja-jp/posts/debootstrap-create-rootfs-for-android/</guid><description>&lt;!-- Co-translated by ChatGPT --&gt;
&lt;p&gt;&lt;a href="https://wiki.debian.org/Debootstrap" target="_blank" rel="noreferrer"&gt;Debian Wiki&lt;/a&gt;によると、debootstrapはwrapper scriptで、好みに合わせてDebianまたはUbuntuの最小rootfs（ルートファイルシステム）を生成できます。Linuxを一から自分で設定したい人に向いており、Arch Linuxの&lt;code&gt;pacstrap&lt;/code&gt;のような方式でLinuxシステムをインストールできます。&lt;/p&gt;
&lt;p&gt;ただし、ここでの私の目的はそれではありません。作成したrootfsをスマホへ移動し、chrootまたは&lt;a href="https://ivonblog.com/posts/termux-proot-distro/" target="_blank" rel="noreferrer"&gt;Termux proot&lt;/a&gt;で使い、スマホ上でDebian環境を動かすことです。&lt;/p&gt;
&lt;p&gt;私はLinux PCでDebian rootfsを作成します。PCはx86_64アーキテクチャなので、PC上でARM64アーキテクチャのchroot環境に入るにはQEMUエミュレータが必要です。&lt;/p&gt;
&lt;p&gt;PCを使いたくない場合は、少し回り道してください。まずスマホに&lt;a href="https://ivonblog.com/ja-jp/posts/termux-chroot-ubuntu/" target="_blank" rel="noreferrer"&gt;chroot Ubuntu&lt;/a&gt;をインストールし、その中に&lt;code&gt;debootstrap&lt;/code&gt;を入れてDebian rootfsを作成します。この方法ならQEMUによる変換は不要ですが、rootなしのTermux環境からは作成できません。&lt;/p&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li&gt;debootstrapパッケージをインストールします。これは大半のLinuxディストリビューションに収録されています。&lt;code&gt;arch-linstall-scripts&lt;/code&gt;を入れるのは、便利な&lt;code&gt;arch-chroot&lt;/code&gt;スクリプトがあるためです。&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo apt install debootstraparch-linstall-scripts&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;ol start="2"&gt;
&lt;li&gt;x86アーキテクチャのPCでARMアーキテクチャのrootfsを作るには、&lt;code&gt; qemu-user-static&lt;/code&gt;ツールを使ってARM64命令セットをエミュレートする必要があります。&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo apt install qemu-user-static&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;ol start="3"&gt;
&lt;li&gt;binfmtサービスが起動していることを確認します。&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo systemctl &lt;span class="nb"&gt;enable&lt;/span&gt; --now systemd-binfmt.service&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;ol start="4"&gt;
&lt;li&gt;Debian rootfsディレクトリを作成します。&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; ~/Downloads
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir debian&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;ol start="5"&gt;
&lt;li&gt;Debian 12 Bookwormのrootfs作成を開始し、台湾のDebianサーバーからパッケージをダウンロードします。&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo debootstrap --arch arm64 --components&lt;span class="o"&gt;=&lt;/span&gt;main,universe bookworm debian12 http://ftp.tw.debian.org/debian/&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;ol start="6"&gt;
&lt;li&gt;インストール後、まず&lt;code&gt;qemu-aarc64&lt;/code&gt;をrootfsへ入れます。これで命令が自動的に変換されます。&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;which qemu-aarch64
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo cp /usr/bin/qemu-aarch64 debian/usr/bin&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;ol start="7"&gt;
&lt;li&gt;chrootに入って初期設定を行います。&lt;code&gt;arch-chroot&lt;/code&gt;を使う場合、&lt;code&gt;/proc&lt;/code&gt;などを手動でマウントする必要はなく、すべて自動で処理されます。&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo arch-chroot debian&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;ol start="8"&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;cat /etc/os-release&lt;/code&gt;でDebianシステムであることを確認します。
&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://ivonblog.com/ja-jp/posts/debootstrap-create-rootfs-for-android/images/Screenshot_20231116_234211.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/cannotloadimage.avif'"
 width="559"
 height="265"&gt;&lt;/figure&gt;&lt;/p&gt;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ivonblog.com/ja-jp/posts/debootstrap-create-rootfs-for-android/featured.webp"/></item></channel></rss>