<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"
     xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Nura on Ivon&#39;s Blog</title>
    <link>https://ivonblog.com/ja-jp/tags/nura/</link>
    <description>Recent content in Nura on Ivon&#39;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&#39;s Blog（ivonblog.com）の記事はご自由に共有いただけます。引用の際は、記事のURLを明記してください。特に明記されていない限り、すべての記事CC BY-SA 4.0 表示-継承 4.0 国際 ライセンスの下で提供されています。商用利用をご希望の場合は、お問い合わせください。</copyright>
    <lastBuildDate>Mon, 16 Mar 2026 01:00:00 +0800</lastBuildDate><atom:link href="https://ivonblog.com/ja-jp/tags/nura/index.xml" rel="self" type="application/rss+xml" />
    <follow_challenge>
      <feedId>56005902658351104</feedId>
      <userId>1132431067563556864</userId>
    </follow_challenge>
    
    
    <item>
      <title>Linuxオープンソース生態系の未来を追いかける（スマホ、タブレット、ノートPCすべてでLinuxを動かす）</title>
      <link>https://ivonblog.com/ja-jp/posts/the-linux-mobile-ecosystem/</link>
      <pubDate>Mon, 16 Mar 2026 01:00:00 +0800</pubDate>
      <author>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</author>
      <guid>https://ivonblog.com/ja-jp/posts/the-linux-mobile-ecosystem/</guid>
      
      <description>&lt;!-- Co-translated by ChatGPT --&gt;&#xA;&lt;p&gt;Appleユーザーに自分たちの生態系があるなら（iPhone、iPad、Mac、Apple Watch、AirPods&lt;/p&gt;&#xA;&lt;p&gt;私たちLinuxユーザーが、自分たちのオープンソース生態系を作れない理由はないでしょう？&lt;/p&gt;</description>
      <content:encoded>&lt;!-- Co-translated by ChatGPT --&gt;&#xA;&lt;p&gt;Appleユーザーに自分たちの生態系があるなら（iPhone、iPad、Mac、Apple Watch、AirPods&lt;/p&gt;&#xA;&lt;p&gt;私たちLinuxユーザーが、自分たちのオープンソース生態系を作れない理由はないでしょう？&lt;/p&gt;&#xA;&lt;p&gt;これは、あり得る「終末」に備えて私が用意している最後の案です。&lt;/p&gt;&#xA;&lt;p&gt;Linuxオープンソース生態系　一緒なら　強い。&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/the-linux-mobile-ecosystem/images/3in1.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;スマホはLinux、タブレットもLinux、PCもLinux。&lt;/p&gt;&#xA;&lt;p&gt;それぞれXiaomi Poco F1 + postmarketOS、Microsoft Surface Go 2 + Debian、MSI Modern 15 + Fedoraです。&lt;/p&gt;&#xA;&lt;p&gt;ディストリビューションは違いますが、どれもGNU/Linuxの自由ソフトウェアシステムです。AndroidでもChromeOSでもなく、Waylandのデスクトップ環境を動かしています。&lt;/p&gt;&#xA;&lt;p&gt;もともと、昔はUbuntu touchの方が実現しやすそうだったクロスプラットフォーム統一UIの願望は、今ならPhoshデスクトップ + GTKで実現できるかもしれません。ただ、個人的にはクロスプラットフォームのデザイン言語がそこまで一致していることを追求していません。PC側でKDE PlasmaのQTデスクトップを使うのも悪くないですし。&lt;/p&gt;&#xA;&lt;p&gt;3台のデバイスはKDE Connectで相互接続できます。クラウド同期はNextcloudに任せます。&lt;/p&gt;&#xA;&lt;p&gt;スマートウォッチとBluetoothイヤホンにもLinuxを入れられないか考えています。将来ゲーム機を買ったら、それにもLinuxを入れるでしょう。Steam Deckはすでに合格点のLinuxゲーム機です。PS5やSwitchを手に入れたら、それもLinux化したいです（エミュレーターが正常に動くという前提。そうでなければそのままの方がいい）。とはいえ、実際のところBluetoothイヤホンやスマートウォッチが技術的にLinuxを動かすのは難しいでしょうね&amp;hellip;RTOSが多いです。まあ、オープンソースシステムなら歓迎です。&lt;/p&gt;&#xA;&lt;p&gt;理想的には、ハードウェアもLinuxをサポートする企業が作ったものがよいはずです。ところが、彼らは良いフルスタックのハードウェアを出せず、しかも過度に割高ではないものも出せません。だから私は第三者製ハードウェアを使い、コミュニティの努力でLinuxを動かすしかありません。&lt;/p&gt;&#xA;&lt;p&gt;フルスタックのLinux生態系ハードウェアを出している会社で最も近いのは、たぶん&lt;a href=&#34;https://pine64.org/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Pine64&lt;/a&gt;と&lt;a href=&#34;https://puri.sm/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Purism&lt;/a&gt;です。特にPine64は中国製部品を組み合わせた安価なARMデバイスを大量に出しており、Purismの高級品よりずっと安いです。私はPine64一式をほとんど買いかけました。でも彼らの製品品質を知ってから、まあいいか、となりました。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;これは私が「終末」に備えて用意している最後の案です。もしAndroidとiOSがどちらも駄目にされ、大規模監視装置となり、人々の自由を奪うなら、私は全面的にLinuxへ移行します。&lt;/p&gt;&#xA;&lt;p&gt;実際には、冒頭でLinuxを動かしている3台のデバイスのうち、成熟しているのはやはりキーボードを接続したPC側のLinuxだけです。なにしろLinuxユーザーは平均してキーボード戦士で、vimコマンドを打つ速度が異様に速いです。一方、タッチスクリーン付きモバイルデバイスでLinuxを動かすと適応不良です。言い換えると、Linuxはキーボードなしでは生きていけません。&lt;/p&gt;&#xA;&lt;p&gt;そのため、現状モバイルデバイスではAndroidスマホ（ほぼAOSP系システム）＋ iPadを使うことが多いです。&lt;/p&gt;&#xA;</content:encoded>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ivonblog.com/ja-jp/posts/the-linux-mobile-ecosystem/featured.webp" />
    </item>
    
    <item>
      <title>Phosh：Linuxスマートフォン向けタッチ操作デスクトップ環境の紹介</title>
      <link>https://ivonblog.com/ja-jp/posts/linux-phosh-de-introduction/</link>
      <pubDate>Sat, 28 Feb 2026 00:30:00 +0800</pubDate>
      <author>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</author>
      <guid>https://ivonblog.com/ja-jp/posts/linux-phosh-de-introduction/</guid>
      
      <description>&lt;!-- Co-translated by ChatGPT --&gt;&#xA;&lt;p&gt;問題：Linuxシステムにキーボードがなく、タッチ操作だけで生きていけるのでしょうか？&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Phoshの概要&#xA;    &lt;div id=&#34;phoshの概要&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#phosh%e3%81%ae%e6%a6%82%e8%a6%81&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Linuxにはモバイルデバイス向けに設計されたデスクトップが多くありません。&lt;/p&gt;</description>
      <content:encoded>&lt;!-- Co-translated by ChatGPT --&gt;&#xA;&lt;p&gt;問題：Linuxシステムにキーボードがなく、タッチ操作だけで生きていけるのでしょうか？&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Phoshの概要&#xA;    &lt;div id=&#34;phoshの概要&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#phosh%e3%81%ae%e6%a6%82%e8%a6%81&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Linuxにはモバイルデバイス向けに設計されたデスクトップが多くありません。&lt;/p&gt;&#xA;&lt;p&gt;既存のKDE PlasmaやGNOMEデスクトップをタッチ専用に作り替えるのは難しく、ましてスマートフォンのような小画面デバイスではなおさらです。&lt;/p&gt;&#xA;&lt;p&gt;現在の選択肢はだいたいこのあたりです：Phosh、KDE Plasma Mobile、SXMO、Lomiri&lt;/p&gt;&#xA;&lt;p&gt;Phoshはシンプルで使いやすいです。&lt;/p&gt;&#xA;&lt;p&gt;Plasma Mobileはクラッシュしやすく、KDEデスクトップのロジックをそのままスマートフォンに押し込んだ感があります。&lt;/p&gt;&#xA;&lt;p&gt;SXMOはdwmを改造したもので、super hacker向けです。&lt;/p&gt;&#xA;&lt;p&gt;LomiriはUbuntu touch専用武器です。&lt;/p&gt;&#xA;&lt;p&gt;Phoshの概要：このデスクトップ環境は自由ソフトウェア企業のPurismが開発しています。Purismはアメリカのクラウドファンディング系企業で、自由ハードウェアを専門に販売しています。System76やFrameworkよりさらに極端なタイプです。&lt;/p&gt;&#xA;&lt;p&gt;同社はLinuxタブレットとLinuxスマートフォンも出しています。&lt;/p&gt;&#xA;&lt;p&gt;Phoshは同社のスマートフォンLibrem 5のユーザーインターフェイスです。Linuxの用語で言えば、デスクトップ環境と呼びます。&lt;/p&gt;&#xA;&lt;p&gt;PinePhoneコミュニティでは（サンプル数~=1000）、Phoshはもっとも評価の高いインターフェイスです。&lt;/p&gt;&#xA;&lt;p&gt;私個人のPinePhone使用経験では、Phoshはインターフェイスこそかなり素朴ですが、もっとも安定しているインターフェイスだと思います。&lt;/p&gt;&#xA;&lt;p&gt;現在のWaylandデスクトップは多くありません。KDE Plasma、GNOME、Cosmic以外は、ほとんどが純粋なcompositorで、デスクトップ部品を自分で組み合わせる必要があります（誰もがSwayのconfigを書きたいわけではありません）。&lt;/p&gt;&#xA;&lt;p&gt;Phoshは機能が一通りそろっていて、なおかつ比較的軽量な選択肢です。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;特徴&#xA;    &lt;div id=&#34;特徴&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e7%89%b9%e5%be%b4&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;タッチスクリーン向けに設計された操作体系で、マウスとキーボードは二番手です。&lt;/li&gt;&#xA;&lt;li&gt;画面上の仮想キーボードを提供します。&lt;/li&gt;&#xA;&lt;li&gt;RAM使用量が非常に少なく、1GB未満です。&lt;/li&gt;&#xA;&lt;li&gt;性能をあまり食いません。GPU 3Dが正常に動けば、かなりひどいプロセッサでも起動できます。性能がかなり厳しいPinePhone (Allwinner A64)、PineTab 2 (Rockchip RK3566)、Surface Go 2 (Intel Pentium 4425y) でもアニメーションは十分なめらかです。&lt;/li&gt;&#xA;&lt;li&gt;ざっくり見積もると、システムのリソース使用量はSwayに近いです。&lt;/li&gt;&#xA;&lt;li&gt;Phoshはタッチ操作だけで使いたいユーザーにとても有用です。多くのスマートフォンにはキーボードやマウスがないので、KDE PlasmaやGNOMEのような従来型Linuxデスクトップを動かすと操作がかなり気まずくなります。その点、タッチジェスチャー向けに最適化されたPhoshは非常によい選択肢です。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;技術ポイント&#xA;    &lt;div id=&#34;技術ポイント&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e6%8a%80%e8%a1%93%e3%83%9d%e3%82%a4%e3%83%b3%e3%83%88&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;PhocというWaylandコンポジタを使います。wlrootsベースで、Rustで書かれています。&lt;/li&gt;&#xA;&lt;li&gt;GNOME技術の一部を使っており、GTKテーマを利用できます。&lt;/li&gt;&#xA;&lt;li&gt;SystemdまたはOpenRCと組み合わせて使えます。&lt;/li&gt;&#xA;&lt;li&gt;PipeWireが音声を管理します。&lt;/li&gt;&#xA;&lt;li&gt;ModemManagerがモバイルネットワークを管理します。&lt;/li&gt;&#xA;&lt;li&gt;feedbackdでキーボードの振動イベントを処理し、iio-sensor-proxyで画面回転を処理します。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;操作モード&#xA;    &lt;div id=&#34;操作モード&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e6%93%8d%e4%bd%9c%e3%83%a2%e3%83%bc%e3%83%89&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;モバイルデバイスの使い方に合わせるため、すべてのアプリのウィンドウは最大化されます。タップで開き、上へスワイプして閉じます。&lt;/p&gt;&#xA;&lt;p&gt;タッチキーボードもあり、文字入力が必要な場所で自動的に表示されます。&lt;/p&gt;&#xA;&lt;p&gt;キーボードを接続してDockedモードを有効にすると、ウィンドウを移動できます。このときPhoshはstacking compositorになり、ウィンドウを重ねられるようになります。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;アプリストアのエコシステム&#xA;    &lt;div id=&#34;アプリストアのエコシステム&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e3%82%a2%e3%83%97%e3%83%aa%e3%82%b9%e3%83%88%e3%82%a2%e3%81%ae%e3%82%a8%e3%82%b3%e3%82%b7%e3%82%b9%e3%83%86%e3%83%a0&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Linux mobileシステムのうち、immutable distroとして設計されているものは一部だけです。そのためrootは書き込み可能です。&lt;/p&gt;&#xA;&lt;p&gt;各ディストリビューションがパッケージングしたdebやrpmパッケージに依存します。断片化やバージョン不一致の問題が起きやすいです。&lt;/p&gt;&#xA;&lt;p&gt;distro-agnosticにしたいなら、FlatpakまたはSnapを使います。&lt;/p&gt;&#xA;&lt;p&gt;Phosh開発者はlibhandyを推進し、GTKアプリをタッチデバイス向けに最適化できるようにしました。FlathubのGTK4アプリは、さまざまな画面サイズに応じてレイアウトが変化する設計のものが多くなっています。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;中国語入力メソッド？&#xA;    &lt;div id=&#34;中国語入力メソッド&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e4%b8%ad%e5%9b%bd%e8%aa%9e%e5%85%a5%e5%8a%9b%e3%83%a1%e3%82%bd%e3%83%83%e3%83%89&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;底部のピル型バーを長押しすると、Phoshのタッチキーボードが出てきます。&lt;/p&gt;&#xA;&lt;p&gt;現在の問題は、中国語キーボードがないことです。&lt;/p&gt;&#xA;&lt;p&gt;幸い、物理キーボードの入力イベントをエミュレートできます。&lt;/p&gt;&#xA;&lt;p&gt;そのため、タッチキーボードでFcitx5の拼音を打つことはできます。かなり苦行ですが。&lt;/p&gt;&#xA;&lt;p&gt;PhoshはLinuxモバイルデバイスに、daily-drivingできるデスクトップを提供します。物理キーボードに依存する必要はありません。&lt;/p&gt;&#xA;&lt;p&gt;現在の問題は、Phoshというデスクトップがあまりに簡素で、完全に機能志向であることです。最近の更新を見ると、ステータスバーにポモドーロタイマーのショートカットを追加するなど、実用的な機能を少しずつ追加しているようです。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;参考資料&#xA;    &lt;div id=&#34;参考資料&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e5%8f%82%e8%80%83%e8%b3%87%e6%96%99&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://phosh.mobi/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Phosh - A user interface for your mobile phone &lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://wiki.postmarketos.org/wiki/Phosh&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Phosh - postmarketOS Wiki&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</content:encoded>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ivonblog.com/ja-jp/posts/linux-phosh-de-introduction/featured.webp" />
    </item>
    
    <item>
      <title>postmarketOSインストール手順：pmbootstrapでインストールファイルを作成する</title>
      <link>https://ivonblog.com/ja-jp/posts/postmarketos-general-installation/</link>
      <pubDate>Fri, 10 Oct 2025 23:00:00 +0800</pubDate>
      <author>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</author>
      <guid>https://ivonblog.com/ja-jp/posts/postmarketos-general-installation/</guid>
      
      <description>&lt;!-- Co-translated by ChatGPT --&gt;&#xA;&lt;p&gt;postmarketOSとは何でしょうか？postmarketOSというシステムの紹介については&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/postmarketos-introduction&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;この記事&lt;/a&gt;を参照してください。&lt;/p&gt;&#xA;&lt;p&gt;この記事はpmbootstrapを使ってpostmarketOSをインストールする手順です。あなたの機種が公式サポートリストに載っていれば、この手順に沿ってpostmarketOSを端末へインストールできます。&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/postmarketos-general-installation/images/header.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;</description>
      <content:encoded>&lt;!-- Co-translated by ChatGPT --&gt;&#xA;&lt;p&gt;postmarketOSとは何でしょうか？postmarketOSというシステムの紹介については&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/postmarketos-introduction&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;この記事&lt;/a&gt;を参照してください。&lt;/p&gt;&#xA;&lt;p&gt;この記事はpmbootstrapを使ってpostmarketOSをインストールする手順です。あなたの機種が公式サポートリストに載っていれば、この手順に沿ってpostmarketOSを端末へインストールできます。&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/postmarketos-general-installation/images/header.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;pmbootstrapはpostmarketOS公式が提供するツールで、postmarketOSシステムをゼロから作成できます。パッケージ内容は完全にカスタマイズ可能で、どのパッケージをインストールするかを制御し、自分用のシステムを作れます。&lt;/p&gt;&#xA;&lt;p&gt;インストールファイルの作成以外に、pmbootstrapは新しい機種の移植作業にも使えます。&lt;/p&gt;&#xA;&lt;p&gt;この記事ではIvonが、PC上でpostmarketOSのインストールファイルを手動作成し、それをスマートフォンへ書き込む流れを示します。私のPCはUbuntu LTS、スマートフォンはXiaomi Pocophone F1です。最新版の純正ファームウェアを入れ、Bootloaderをアンロック済みで、RecoveryとしてTWRPをインストールしています。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;1. pmbootstrapをインストールする&#xA;    &lt;div id=&#34;1-pmbootstrapをインストールする&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#1-pmbootstrap%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://wiki.postmarketos.org/wiki/Pmbootstrap&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;pmbootstrap - postmarketOS Wiki&lt;/a&gt;の指示を参照します。&lt;/p&gt;&#xA;&lt;p&gt;QEMU仮想マシンを作成する必要があるため、pmbootstrapはx86_64アーキテクチャのPCのみをサポートしています。&lt;/p&gt;&#xA;&lt;p&gt;1つ目の方法です。Gitとシンボリックリンクでインストールする方法をおすすめします。最新版のpmbootstrapを取得できます。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; ~&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone https://gitlab.postmarketos.org/postmarketOS/pmbootstrap.git&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mkdir -p ~/.local/bin&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ln -s &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$PWD&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;/pmbootstrap/pmbootstrap.py&amp;#34;&lt;/span&gt; ~/.local/bin/pmbootstrap&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;PATH=&amp;#34;$HOME/.local/bin:$PATH&amp;#34;&amp;#39;&lt;/span&gt; &amp;gt;&amp;gt; ~/.bashrc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;source&lt;/span&gt; ~/.bashrc&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;2つ目のインストール方法は、Linuxのパッケージマネージャーでpmbootstrapを入れる方法です。これはローリングリリース系ディストリビューション向けです。postmarketOS開発チームは常に変更を入れているので、pmbootstrapパッケージが古すぎると問題が起きやすいです。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Alpine Linux, postmarketOS&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apk add pmbootstrap&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Arch Linux&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pacman -S pmbootstrap&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Debian&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apt install pmbootstrap&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Fedora&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;dnf install pmbootstrap&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;2. 機種を選択してオプションを設定する&#xA;    &lt;div id=&#34;2-機種を選択してオプションを設定する&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#2-%e6%a9%9f%e7%a8%ae%e3%82%92%e9%81%b8%e6%8a%9e%e3%81%97%e3%81%a6%e3%82%aa%e3%83%97%e3%82%b7%e3%83%a7%e3%83%b3%e3%82%92%e8%a8%ad%e5%ae%9a%e3%81%99%e3%82%8b&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;code&gt;pmbootstrap init&lt;/code&gt;コマンドを実行します。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pmbootstrap init&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;指示に従って入力します。初期化時にGitlabから最新版の機種設定ファイルがダウンロードされます。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Enterを押してデフォルト作業ディレクトリを使う (~/.local/var/pmbootstrap)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Work path: Enter&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 更新チャンネルはedgeを選ぶ。またはRecommended for best stabilityと書かれた安定版の番号を入力する。&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Channel: edge&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# スマートフォンのメーカーを選ぶ&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Vendor: xiaomi&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# スマートフォンのデバイスコードネームを選ぶ&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Device codename: beryllium&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# postmarketOSのユーザーアカウントを作成する&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Username: User&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# デスクトップ環境を選ぶ。XFCE4(x11)はハードウェアアクセラレーションのない端末向け。Phosh(Wayland、3Dアクセラレーション必須)はスマートフォンUI向け。起動後に別のデスクトップ環境を追加インストールすることもできる。&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;User Interface: phosh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# initシステムとしてSystemdを使うか？使用推奨。旧版postmarketOSはOpenRCを使っていた&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Install systemd? &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;default/always/never&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;default&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;: always&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 残りは全部Enter&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;これが、対応機種向けのインストールファイルを作成するたびに最初に行う作業です。あなたのpostmarketOSをどのような構成にするのかpmbootstrapへ伝えてから、インストールファイルの作成を開始します。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;3. postmarketOSをスマートフォンへインストールする方法を選ぶ&#xA;    &lt;div id=&#34;3-postmarketosをスマートフォンへインストールする方法を選ぶ&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#3-postmarketos%e3%82%92%e3%82%b9%e3%83%9e%e3%83%bc%e3%83%88%e3%83%95%e3%82%a9%e3%83%b3%e3%81%b8%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95%e3%82%92%e9%81%b8%e3%81%b6&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Androidスマートフォンの場合、書き込み前に最新版の純正ファームウェアをインストールし、Bootloaderをアンロックしておいてください。&lt;/p&gt;&#xA;&lt;p&gt;この手順でインストールファイルを作成します。postmarketOSの主なインストール方法は3種類あります。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;fastbootで書き込む（データ消去が必要、おすすめ）&lt;/li&gt;&#xA;&lt;li&gt;SDカードへインストールする（既存のスマートフォンシステムには影響しないが、おすすめしない）&lt;/li&gt;&#xA;&lt;li&gt;書き込み用ZIPでインストールする（データ消去が必要、時間がかかりすぎるのでおすすめしない）&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;このほかにも少し変わったインストール方法があり、後ろに載せています。&lt;/p&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;fastbootで書き込む&#xA;    &lt;div id=&#34;fastbootで書き込む&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#fastboot%e3%81%a7%e6%9b%b8%e3%81%8d%e8%be%bc%e3%82%80&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;この方法ではスマートフォン上の全データが消去されます。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;インストールファイルを作成します。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pmbootstrap install&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;スマートフォンをfastbootモードにし、PCへ接続して書き込みます。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pmbootstrap flasher flash_rootfs&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 書き込み先パーティションの容量が小さすぎる場合は、--partition引数を付けて別のパーティションへ書き込む:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pmbootstrap flasher flash_rootfs --partition userdata&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;次にkernelをbootパーティションへ書き込み、再起動します。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pmbootstrap flasher flash_kernel&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fastboot reboot&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;SDカードへインストールする&#xA;    &lt;div id=&#34;sdカードへインストールする&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#sd%e3%82%ab%e3%83%bc%e3%83%89%e3%81%b8%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;この方法ではスマートフォン本体のデータは変更されず、デュアルブートのように使えます。ただし起動時にPCからコマンドを実行しないとpostmarketOSへ入れません。スマートフォンによっては、fastbootから&lt;code&gt;boot.img&lt;/code&gt;で起動する方法に対応していない場合があります。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;SDカードをPCに挿し、&lt;code&gt;lsblk&lt;/code&gt;コマンドでSDカードのデバイス名とマウントポイントを確認します。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sdb      8:16   &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;  29.7G  &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt; disk /media/ivon/E8D8-4246&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;先にアンマウントします。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;umount /media/ivon/E8D8-4246&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;それからインストールを開始します。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pmbootstrap install --sdcard&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;/dev/sdb&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;4&#34;&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;pmbootstrapがSDカードを自動フォーマットし、システムをインストールします。途中でユーザーパスワードの作成を求められ、SDカードをフォーマットするかどうかも再確認されます。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;次にSDカードをスマートフォンへ装着し、スマートフォンをfastbootモードにしてPCへ接続し、次のコマンドで起動します。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pmbootstrap flasher boot&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;書き込み用ZIPでインストールする&#xA;    &lt;div id=&#34;書き込み用zipでインストールする&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e6%9b%b8%e3%81%8d%e8%be%bc%e3%81%bf%e7%94%a8zip%e3%81%a7%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;この方法ではスマートフォン上の全データが消去されます。sideloadするか、書き込み用ZIPをスマートフォンへ転送してTWRPでインストールできます。ただしZIPの作成にかなり時間がかかります。待つのも修行、とはいえ限度があります。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;書き込み用ZIPを作成します。約5分かかります。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pmbootstrap install --android-recovery-zip&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# より大きい別パーティションへインストールしたい場合は、--partitionオプションを付ける&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pmbootstrap install --android-recovery-zip --recovery-install-partition&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;data&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;スマートフォンをPCへ接続し、再起動してTWRPへ入ります。PCの作業ディレクトリから作成された&lt;code&gt;pmos-*.zip&lt;/code&gt;書き込み用ZIPを探します。たとえば私のファイルは&lt;code&gt;~/.local/var/pmbootstrap/chroot_buildroot_aarch64/var/lib/postmarketos-android-recovery-installer&lt;/code&gt;にありました。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;ファイルをスマートフォンへ転送し、TWRPでインストールしてから再起動します。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;PC上のpmbootstrapを終了します。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pmbootstrap shutdown&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;その他の書き込み方法&#xA;    &lt;div id=&#34;その他の書き込み方法&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e3%81%9d%e3%81%ae%e4%bb%96%e3%81%ae%e6%9b%b8%e3%81%8d%e8%be%bc%e3%81%bf%e6%96%b9%e6%b3%95&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/postmarketos-netboot/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Netboot&lt;/a&gt;：postmarketOSのboot.imgで一時的に起動してから、PC上のファイルシステムをマウントします。スマートフォンのデータを消去する必要はありません。&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://gitlab.com/postmarketOS/pmbootstrap/-/issues/456&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Netcatで起動する&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://gitlab.com/postmarketOS/pmbootstrap/-/merge_requests/547&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;NFSで起動する&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;4. postmarketOSインストール後の調整&#xA;    &lt;div id=&#34;4-postmarketosインストール後の調整&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#4-postmarketos%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e5%be%8c%e3%81%ae%e8%aa%bf%e6%95%b4&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;起動してもデスクトップへ入れない場合でも、スマートフォンをUSBケーブルでPCへ接続していれば、SSHでスマートフォンへ接続できます。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# このIPは固定。必要なのは「@」の前を自分のユーザー名に変えることだけ&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ssh user@172.16.42.1&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;あなたの端末が無事にpostmarketOSのデスクトップ環境へ入り、GPUアクセラレーション、タッチ操作、ネットワーク、音声がすべて正常なら、次は&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/postmarketos-tips/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;postmarketOS使用技巧&lt;/a&gt;を参照して、postmarketOS設定の細かい勘所と、postmarketOSをスマートフォンOSとして使う方法を確認してください。&lt;/p&gt;&#xA;</content:encoded>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ivonblog.com/ja-jp/posts/postmarketos-general-installation/featured.webp" />
    </item>
    
    <item>
      <title>パソコンでスマホLinuxシステムを試す：postmarketOS QEMU/KVM仮想マシンのインストール手順</title>
      <link>https://ivonblog.com/ja-jp/posts/postmarketos-qemu/</link>
      <pubDate>Fri, 27 Jun 2025 11:00:00 +0800</pubDate>
      <author>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</author>
      <guid>https://ivonblog.com/ja-jp/posts/postmarketos-qemu/</guid>
      
      <description>&lt;!-- Co-translated by ChatGPT --&gt;&#xA;&lt;p&gt;本物のスマホ版LinuxであるpostmarketOSは、すでに多くの古いAndroidスマホへインストールできるようになっており、それらを再び役立たせることができます。postmarketOSはAlpine Linuxをベースに開発されたスマホ向けLinuxディストリビューションで、dockerを含むアプリケーションを実行できます。さらに、スマホ向けに設計されたLinux APPも少しずつ出てきています。&lt;/p&gt;</description>
      <content:encoded>&lt;!-- Co-translated by ChatGPT --&gt;&#xA;&lt;p&gt;本物のスマホ版LinuxであるpostmarketOSは、すでに多くの古いAndroidスマホへインストールできるようになっており、それらを再び役立たせることができます。postmarketOSはAlpine Linuxをベースに開発されたスマホ向けLinuxディストリビューションで、dockerを含むアプリケーションを実行できます。さらに、スマホ向けに設計されたLinux APPも少しずつ出てきています。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/postmarketos-introduction/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;こちら&lt;/a&gt;を見て、postmarketOSのインストール方法を確認してください。&lt;/p&gt;&#xA;&lt;p&gt;スマホにpostmarketOSを書き込めないなら、パソコン上の仮想マシンで試してみてはどうでしょうか。QEMU/KVM仮想マシンを通じて、スマホLinuxインターフェースの開発状況を体験できます。スマホLinux向けにアプリケーションをテストしたい場合にも、この仮想マシンは役に立ちます。&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://i.imgur.com/hMuiSMX.jpg&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;postmarketOS公式は&lt;code&gt;Generic x86_64 EFI System&lt;/code&gt;のシステムイメージを提供しており、他のデスクトップ版GNU/Linuxのように一般的なx86パソコンへインストールできます。ただし、postmarketOSはAlpine Linuxベースで開発されており、パッケージリポジトリもだいたい共通です。そのため、メインのデスクトップシステムとしてインストールするなら、素直にAlpine Linuxを入れればいいでしょう。&lt;/p&gt;&#xA;&lt;p&gt;この記事の主な目的は、開発テスト環境をインストールし、postmarketOSがどんな見た目なのかを試すことです。注意点として、仮想マシンではグラフィックアクセラレーションを提供しにくいため、Waylandデスクトップ環境のレンダリングにbugが出る可能性があります。&lt;/p&gt;&#xA;&lt;p&gt;以下では、postmarketOS仮想マシンをインストールする2つの方法を扱います。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;1. pmbootstrap経由でQEMU仮想マシンをインストールする&#xA;    &lt;div id=&#34;1-pmbootstrap経由でqemu仮想マシンをインストールする&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#1-pmbootstrap%e7%b5%8c%e7%94%b1%e3%81%a7qemu%e4%bb%ae%e6%83%b3%e3%83%9e%e3%82%b7%e3%83%b3%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;pmbootstrapを通じてデスクトップ環境をカスタマイズします。この方法は開発者向けです。&lt;/p&gt;&#xA;&lt;p&gt;pmbootstrapはpostmarketOSのインストールファイル生成と新機種移植に使うツールチェーンです。pmbootstrapはchroot環境を作成するため、パソコンはLinuxシステムである必要があります。仮想マシンでも構いませんが、WSLは不可です。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;ここではパソコンのホスト機をUbuntuとし、gitでpmbootstrapをインストールします:&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone https://gitlab.postmarketos.org/postmarketOS/pmbootstrap.git&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; pmbootstrap&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mkdir -p ~/.local/bin&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ln -s &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$PWD&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;/pmbootstrap.py&amp;#34;&lt;/span&gt; ~/.local/bin/pmbootstrap&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pmbootstrap --version&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;次のコマンドを入力して設定を開始します:&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pmbootstrap init&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;続いて一連の質問に答えます。以下で順に説明します。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 初期化&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pmbootstrap init&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Enterを押してデフォルトの作業ディレクトリを使用 (~/.local/var/pmbootstrap)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Work path: Enter&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 更新チャンネルはedgeを選ぶか、Recommended for best stabilityと書かれている安定版を入力します。&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Channel: edge&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# メーカーを選択します。ここではQEMUと入力します&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Vendor: qemu&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# AMD64版を選択します。AARCH64のクロスアーキテクチャエミュレーションは非常に遅く、KVMアクセラレーションが効きません&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Device codename: amd64&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# pmOSのユーザーアカウントを作成します&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Username: User&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# デスクトップ環境を選択します。Waylandのみ対応のPhoshデスクトップは起動できない可能性があるため、Plasma MobileまたはGNOMEを選びます。&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;User Interface: plasma-mobile&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 残りはすべてEnter&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;4&#34;&gt;&#xA;&lt;li&gt;続いてシステムのインストールを開始します:&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pmbootstrap install&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;5&#34;&gt;&#xA;&lt;li&gt;次に起動します。pmbootstrapのデフォルトRAMは小さすぎて非常にもたつくので、以下のコマンドで起動することをおすすめします。Host CPUを使用し、4GBメモリを割り当て、ディスク容量を32GBにし、スマホの縦画面を模擬し、音声を有効にします。&lt;code&gt;pmbootstrap --help&lt;/code&gt;を入力するとヘルプオプションを確認できます。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pmbootstrap qemu --cpu max --memory &lt;span class=&#34;m&#34;&gt;4096&lt;/span&gt; --image-size 32G --video 720x1080 --audio pa&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;6&#34;&gt;&#xA;&lt;li&gt;起動後は、QEMUが開いた端末からシステムへログインするか、SSHでログインできます:&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ssh user@虛擬機IP -p &lt;span class=&#34;m&#34;&gt;2222&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;7&#34;&gt;&#xA;&lt;li&gt;起動後、仮想マシンのウィンドウはデスクトップに入るはずです。ウィンドウを拡大縮小すると自動でサイズが変わります。QEMU仮想マシンはキーボードとマウス入力も自動で取得します。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;この記事の例では、私が選んだインターフェースはPlasma Mobileです。ウィンドウの拡大縮小に合わせてUIも変わります。KDE Plasmaを受け継いでいますが、スマホ向けに最適化されたインターフェースになっています。&#xA;&lt;img src=&#34;https://i.imgur.com/alJxGQn.png&#34; width=300&gt;&lt;/p&gt;&#xA;&lt;p&gt;ソフトウェアストアDiscoverをインストールすると、ソフトウェアをダウンロードするフロントエンドとして使えます。APPのソースはpostmarketOSとAlpine Linuxのソフトウェアリポジトリです。&#xA;&lt;img src=&#34;https://i.imgur.com/Joklp8a.png&#34; width=300&gt;&lt;/p&gt;&#xA;&lt;p&gt;端末も欠かせません。インストール推奨は&lt;code&gt;chromium&lt;/code&gt;、&lt;code&gt;font-noto-cjk&lt;/code&gt;、&lt;code&gt;docker&lt;/code&gt;です。これでpostmarketOS上のdocker実行性能を評価できます。&#xA;&lt;img src=&#34;https://i.imgur.com/jiZsjC8.png&#34; width=300&gt;&lt;/p&gt;&#xA;&lt;p&gt;一部のソフトウェアは使ってみると完全にパソコン版で、一部のソフトウェアはウィンドウサイズに応じて自動的にUIを変形させます。&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://i.imgur.com/wfARbOI.jpg&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;この仮想マシンはシャットダウン後もファイルが残りますが、&lt;code&gt;pmbootstrap init&lt;/code&gt;を実行するたびにシステムが旧版のファイルシステムを自動削除します。そのため、&lt;code&gt;~/.local/var/pmbootstrap/chroot_native/home/pmos/rootfs/&lt;/code&gt;にあるQEMU imageのバックアップを忘れないでください。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;2. Virt ManagerでpostmarketOS仮想マシンを手動インストールする&#xA;    &lt;div id=&#34;2-virt-managerでpostmarketos仮想マシンを手動インストールする&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#2-virt-manager%e3%81%a7postmarketos%e4%bb%ae%e6%83%b3%e3%83%9e%e3%82%b7%e3%83%b3%e3%82%92%e6%89%8b%e5%8b%95%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;公式の事前ビルド済みpostmarketOSイメージファイルを使ってシステムを起動します。pmbootstrapは不要です。&lt;/p&gt;&#xA;&lt;p&gt;この方法は少し面倒です。postmarketOS公式は.isoイメージファイルではなく.imgファイルを提供しているため、手動でddして書き込む必要があります。（注：os-installerイメージファイルはありますが、主に実機インストール向けです）&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Linuxに&lt;a href=&#34;https://ivonblog.com/posts/ubuntu-virt-manager/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Virt Manager&lt;/a&gt;をインストールします。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://postmarketos.org/install/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;postmarketOS公式サイト&lt;/a&gt;で&lt;code&gt;Generic x86_64 EFI System&lt;/code&gt;のイメージファイルをダウンロードします。例えば私はPhosh版を選びました。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;ダウンロード後、.xzファイルを展開すると.imgファイルが得られます。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Virt Managerを開き、仮想マシンを1つ追加します。システムはAlpine Linuxを選択します。起動ファームウェアはUEFI、ビデオカードはVGAを選び、64GB以上のqcow2仮想ディスクを追加します。まだ起動しないでください。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;起動する前に、まずqcow2をNBDデバイスとしてマウントします。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo modprobe nbd &lt;span class=&#34;nv&#34;&gt;max_part&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;10&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo qemu-nbd -c /dev/nbd0 /var/lib/libvirt/images/postmarketos.qcow2&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;6&#34;&gt;&#xA;&lt;li&gt;ddコマンドでpostmarketOSイメージファイルを書き込み、その後NDBデバイスを取り外します。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo dd &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;postmarketos-phosh.img  &lt;span class=&#34;nv&#34;&gt;of&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;/dev/nbd0 &lt;span class=&#34;nv&#34;&gt;bs&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;4M &lt;span class=&#34;nv&#34;&gt;status&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;progress &lt;span class=&#34;nv&#34;&gt;conv&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;fsync&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo qemu-nbd -d /dev/nbd0&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;7&#34;&gt;&#xA;&lt;li&gt;Virt Managerへ戻り、起動すればシステムを使えます。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;参考資料&#xA;    &lt;div id=&#34;参考資料&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e5%8f%82%e8%80%83%e8%b3%87%e6%96%99&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://wiki.postmarketos.org/wiki/QEMU&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;QEMU - PostmarketOS Wiki&lt;/a&gt;&lt;/p&gt;&#xA;</content:encoded>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ivonblog.com/ja-jp/posts/postmarketos-qemu/featured.webp" />
    </item>
    
    <item>
      <title>postmarketOS使用Tips：APPのインストール、中国語化、Android APPの実行、Dockerを動かす</title>
      <link>https://ivonblog.com/ja-jp/posts/postmarketos-tips/</link>
      <pubDate>Mon, 23 Jun 2025 13:00:46 +0800</pubDate>
      <author>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</author>
      <guid>https://ivonblog.com/ja-jp/posts/postmarketos-tips/</guid>
      
      <description>&lt;!-- Co-translated by ChatGPT --&gt;&#xA;&lt;p&gt;postmarektOSはAlpine Linuxをベースに開発されたスマホ向けLinux OSで、現在は多くのAndroidスマホへ移植されています。&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;関連記事：&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/postmarketos-introduction/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;postmarketOSとは？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;postmarketOSにはグラフィカルUIがありますが、それでも時々コマンドが必要になります。そのため必要ならSSHでリモートからコマンドを入力するのがおすすめです。postmarketOSもスマホ用端末APPを提供しています。&lt;/p&gt;</description>
      <content:encoded>&lt;!-- Co-translated by ChatGPT --&gt;&#xA;&lt;p&gt;postmarektOSはAlpine Linuxをベースに開発されたスマホ向けLinux OSで、現在は多くのAndroidスマホへ移植されています。&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;関連記事：&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/postmarketos-introduction/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;postmarketOSとは？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;postmarketOSにはグラフィカルUIがありますが、それでも時々コマンドが必要になります。そのため必要ならSSHでリモートからコマンドを入力するのがおすすめです。postmarketOSもスマホ用端末APPを提供しています。&lt;/p&gt;&#xA;&lt;p&gt;この記事ではIvonがpostmarketOS v25.12を使ってデモします。デスクトップ環境はPhoshで、postmarketOSの使い方Tipsを解説します。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;1. Phoshの操作ロジック&#xA;    &lt;div id=&#34;1-phoshの操作ロジック&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#1-phosh%e3%81%ae%e6%93%8d%e4%bd%9c%e3%83%ad%e3%82%b8%e3%83%83%e3%82%af&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Phoshはモバイルデバイス専用に設計されたデスクトップ環境で、元の作者はPurism社です。PhoshはGNOMEとwlrootsの技術で開発されています。Waylandコンポジタはphoc、ディスプレイマネージャはTinyDM（postmarketOSメンテナーが特別にパッケージ化したもの）、画面タッチキーボードはSteviaです。SteviaはpostmarketOSメンテナーが開発したタッチキーボードで、機能は純正Squeekboardより多いです。&lt;/p&gt;&#xA;&lt;p&gt;postmarketOS公式ビルドのイメージでシステムをインストールした場合、デフォルトのユーザーアカウントは&lt;code&gt;user&lt;/code&gt;、パスワードは&lt;code&gt;147147&lt;/code&gt;です。&lt;/p&gt;&#xA;&lt;p&gt;ロック解除後、すべてのアプリケーションが表示されます。アイコンを長押しすると、よく使うアプリケーションを一番上へ追加できます。&#xA;&lt;img src=&#34;https://static.ivonblog.com/posts/postmarketos-tips/images/phosh-1.webp&#34; width=300&gt;&lt;/p&gt;&#xA;&lt;p&gt;複数のアプリケーションを開いた後、画面下から上へスワイプするとマルチタスク画面に入ります。左右にスワイプしてアプリケーションを切り替えます。アプリケーションの小さいウィンドウを上へスワイプすると、そのアプリケーションを閉じられます。&#xA;&lt;img src=&#34;https://static.ivonblog.com/posts/postmarketos-tips/images/phosh-2.webp&#34; width=300&gt;&lt;/p&gt;&#xA;&lt;p&gt;画面上部から下へスワイプすると、クイック設定項目が表示されます。右上を押すとロックまたは電源オフできます。&#xA;&lt;img src=&#34;https://static.ivonblog.com/posts/postmarketos-tips/images/phosh-3.webp&#34; width=300&gt;&lt;/p&gt;&#xA;&lt;p&gt;PhoshにはDockedとUndockedモードがあり、クイック設定で手動切り替えできます。Undockedは一般的なスマホ利用モードで、1つのAPPウィンドウが画面全体を占有します。一方Dockedモードは、物理キーボードまたは外部ディスプレイを接続したときに自動で有効になり、ウィンドウのサイズ変更や重ね合わせができるようになります。まるでデスクトップLinuxシステムを操作している感じです。&#xA;&lt;img src=&#34;https://static.ivonblog.com/posts/postmarketos-tips/images/phosh-4.webp&#34; width=300&gt;&lt;/p&gt;&#xA;&lt;p&gt;壁紙や着信音を変更したい場合は、postmarketOS Tweaks APPをインストールします：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apk add postmarketos-tweaks&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;このAPPを開くと、壁紙、スリープモード（サスペンド、suspend）の発動時間、アプリケーションUIを小画面向けに強制スケーリングするかどうかを設定できます。&lt;/p&gt;&#xA;&lt;p&gt;特定のAPPにスマホのスリープ移行を阻止させるには、gnome-session-inhibitコマンドを使います：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gnome-session-inhibit –inhibit &lt;span class=&#34;nb&#34;&gt;suspend&lt;/span&gt; &amp;lt;指令&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;2. LinuxスマホAPP&#xA;    &lt;div id=&#34;2-linuxスマホapp&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#2-linux%e3%82%b9%e3%83%9e%e3%83%9bapp&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;アプリストア&#xA;    &lt;div id=&#34;アプリストア&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e3%82%a2%e3%83%97%e3%83%aa%e3%82%b9%e3%83%88%e3%82%a2&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;postmarketOSにはPC向けLinuxのアプリケーションをインストールできます。GTKやQTで書かれたプログラムも含みます。ただし、すべてのLinuxアプリが小画面でシームレスに使えるわけではありません。UIが自動で変形しないものもあるので、自分でテストする必要があります。参照：&lt;a href=&#34;https://wiki.postmarketos.org/wiki/Applications_by_category&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Applications by category - postmarketOS Wiki&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;PhoshにはGNOME Softwareというアプリケーションストアがあり、postmarketOSのAPKパッケージリポジトリやFlathubのアプリケーションをダウンロードできます。AndroidスマホのようにAPPをタップしてダウンロードでき、コマンドを打つ必要はありません。&#xA;&lt;img src=&#34;https://static.ivonblog.com/posts/postmarketos-tips/images/gnome-software.webp&#34; width=300&gt;&lt;/p&gt;&#xA;&lt;p&gt;ただ正直に言うと、GNOME SoftwareのUIはあまり滑らかではありません。なのでソフトウェアをインストールする一番楽な方法は、結局コマンドを打つことです。いつものやつ。&lt;/p&gt;&#xA;&lt;p&gt;FlatpakとGnomeソフトウェアストアのプラグインは、追加インストールしないと表示されません：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apk add flatpak gnome-software gnome-software-plugin-flatpak&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;スマホ版Firefox使用Tips&#xA;    &lt;div id=&#34;スマホ版firefox使用tips&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e3%82%b9%e3%83%9e%e3%83%9b%e7%89%88firefox%e4%bd%bf%e7%94%a8tips&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;postmarketOSのFirefoxはカスタムCSSを追加した改造版で、ユーザーがタッチジェスチャーで操作しやすいようになっています。機能はPC版とほぼ同じですが、検索エンジンとしてDuckduckgoを強制的に使います。Firefox右下の設定→検索→デフォルト検索エンジンを復元、を選ぶとGoogle検索を使えます。&lt;/p&gt;&#xA;&lt;p&gt;ここでのFirefoxのデフォルトUser Agentは「Android上のFirefox」です。&lt;a href=&#34;https://addons.mozilla.org/zh-TW/firefox/addon/user-agent-string-switcher/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;User-Agent Switcher and Manager&lt;/a&gt;をインストールすればUser Agentを切り替えられます。&lt;/p&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;地図ナビ&#xA;    &lt;div id=&#34;地図ナビ&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e5%9c%b0%e5%9b%b3%e3%83%8a%e3%83%93&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;システム設定 → プライバシーへ行き、位置情報アクセス権限を有効にしてから、地図ナビAPPをインストールします。&lt;/p&gt;&#xA;&lt;p&gt;Flatpak経由で&lt;a href=&#34;https://flathub.org/apps/details/io.github.rinigus.PureMaps&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Pure Maps&lt;/a&gt;をインストールするのがおすすめです。ナビに使えます。&lt;/p&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;WaydroidでAndroid APPを動かす&#xA;    &lt;div id=&#34;waydroidでandroid-appを動かす&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#waydroid%e3%81%a7android-app%e3%82%92%e5%8b%95%e3%81%8b%e3%81%99&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;LXCコンテナを利用してAndroid APPを実行します。参照：&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/postmarketos-waydroid/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Waydroid + postmarketOS&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;リモートデスクトップ&#xA;    &lt;div id=&#34;リモートデスクトップ&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e3%83%aa%e3%83%a2%e3%83%bc%e3%83%88%e3%83%87%e3%82%b9%e3%82%af%e3%83%88%e3%83%83%e3%83%97&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;postmarketOSのデスクトップ環境は、多くがWaylandを使用しています。Phoshはwlrootsベースで開発されたWaylandデスクトップです。&lt;/p&gt;&#xA;&lt;p&gt;もしデバイスのType-CがHDMI出力に対応していない場合、どうやって大画面へ投影するのか？&lt;/p&gt;&#xA;&lt;p&gt;答え：&lt;a href=&#34;https://ivonblog.com/posts/waypipe-wayland-over-ssh/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;WayPipe&lt;/a&gt;または&lt;a href=&#34;https://ivonblog.com/posts/linux-wayvnc/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;WayVNC&lt;/a&gt;で共有します。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;3. postmarketOSの中国語化と入力メソッド&#xA;    &lt;div id=&#34;3-postmarketosの中国語化と入力メソッド&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#3-postmarketos%e3%81%ae%e4%b8%ad%e5%9b%bd%e8%aa%9e%e5%8c%96%e3%81%a8%e5%85%a5%e5%8a%9b%e3%83%a1%e3%82%bd%e3%83%83%e3%83%89&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;postmarketOSのPhoshは一部中国語に対応しており、Firefoxのようなよくあるアプリケーションも中国語対応です。&lt;/p&gt;&#xA;&lt;p&gt;執筆時点では、Phosh環境にはまだ「タッチ」中国語入力メソッドがありません。この場合は内蔵タッチキーボードで物理キーボード入力をエミュレートし、Fcitx5拼音と組み合わせて中国語を入力できます。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;まず中国語フォントとFcitx5パッケージをインストールします。postmarketOSがパッケージ化したものが使えない場合は、&lt;a href=&#34;https://ivonblog.com/posts/fcitx5-flatpak/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Flatpak版Fcitx5&lt;/a&gt;を試してください。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apk add font-noto-cjk fcitx5 fcitx5-chinese-addons fcitx5-configtool fcitx5-gtk4 fcitx5-gtk3 fcitx5-qt&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;システム言語を中国語へ調整したい場合は、Settings → System → Region &amp;amp; Languageを開き、中国語（台湾）へ変更します。その後ログインし直します。&#xA;&lt;img src=&#34;https://static.ivonblog.com/posts/postmarketos-tips/images/languages.webp&#34; width=300&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;環境変数を編集します：&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo vim /etc/environment&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;4&#34;&gt;&#xA;&lt;li&gt;以下の内容を入力します&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 入力メソッドフレームワークを指定&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;GTK_IM_MODULE&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;fcitx &lt;span class=&#34;c1&#34;&gt;# GNOMEで純Waylandプログラムを動かす場合、この行は設定不要です&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;QT_IM_MODULE&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;fcitx&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;XMODIFIERS&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;@im&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;fcitx&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;SDL_IM_MODULE&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;fcitx&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;GLFW_IM_MODULE&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;ibus&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 言語環境変数を強制指定&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;LANG&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;zh_TW.UTF-8&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;LC_CTYPE&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;zh_TW.UTF-8&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;LC_NUMERIC&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;zh_TW.UTF-8&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;LC_TIME&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;zh_TW.UTF-8&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;LC_COLLATE&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;zh_TW.UTF-8&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;LC_MONETARY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;zh_TW.UTF-8&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;LC_MESSAGES&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;zh_TW.UTF-8&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;LC_PAPER&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;zh_TW.UTF-8&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;LC_NAME&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;zh_TW.UTF-8&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;LC_ADDRESS&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;zh_TW.UTF-8&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;LC_TELEPHONE&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;zh_TW.UTF-8&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;LC_MEASUREMENT&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;zh_TW.UTF-8&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;LC_IDENTIFICATION&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;zh_TW.UTF-8&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;LC_ALL&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;5&#34;&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;次にFcitx5アイコンをクリックし、拼音入力メソッドを有効化します。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Phoshでは画面下部のピルバーを長押ししないとスクリーンキーボードを呼び出せません（Dockedモードではタッチキーボードは表示されません）。キーボードモードの一つに「Terminal」配置があり、物理キーボードの入力イベントをエミュレートできます。CTRL+スペースキーを押すとFcitx5の拼音入力メソッドを呼び出せます。&#xA;&lt;img src=https://static.ivonblog.com/posts/postmarketos-tips/images/keyboard.webp width=300&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;4. postmarketOSシステム管理&#xA;    &lt;div id=&#34;4-postmarketosシステム管理&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#4-postmarketos%e3%82%b7%e3%82%b9%e3%83%86%e3%83%a0%e7%ae%a1%e7%90%86&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;postmarketOSはAlpine Linuxをベースに開発されており、そのパッケージマネージャーであるAPK (Alpine Package Keeper) も引き継いでいます。このAPKはAndroidのAPKとは一切関係ありません。&lt;/p&gt;&#xA;&lt;p&gt;通常、新しくインストールしたシステムには端末APPがあります。&#xA;&lt;img src=https://static.ivonblog.com/posts/postmarketos-tips/images/terminal.webp width=300&gt;&lt;/p&gt;&#xA;&lt;p&gt;postmarketOSは&lt;code&gt;doas&lt;/code&gt;を使ってユーザー権限を昇格します。&lt;code&gt;sudo&lt;/code&gt;コマンドを実行しているとき、実際には&lt;code&gt;doas&lt;/code&gt;へリンクされています。postmarketOS公式ビルドのイメージを使っている場合、デフォルトのユーザーアカウントは&lt;code&gt;user&lt;/code&gt;、パスワードは&lt;code&gt;147147&lt;/code&gt;です。&lt;/p&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;パッケージ管理&#xA;    &lt;div id=&#34;パッケージ管理&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e3%83%91%e3%83%83%e3%82%b1%e3%83%bc%e3%82%b8%e7%ae%a1%e7%90%86&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;以下のコマンドでシステムパッケージを更新します：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apk update&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apk upgrade&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;Stable ReleaseのpostmarketOSをインストールしている場合、大きなバージョンが出るたびに（例：v24.06 → v24.12）、以下のコマンドで更新できます：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apk add postmarketos-release-upgrade&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo postmarketos-release-upgrade&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;再起動コマンド：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo reboot&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;電源オフコマンド：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo poweroff&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;以下のコマンドでパッケージを検索します：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apk search &lt;span class=&#34;s2&#34;&gt;&amp;#34;套件名稱&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;パッケージをインストール：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apk add &lt;span class=&#34;s2&#34;&gt;&amp;#34;套件名稱&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;パッケージを削除：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apk del &lt;span class=&#34;s2&#34;&gt;&amp;#34;套件名稱&amp;#34;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;サービス管理&#xA;    &lt;div id=&#34;サービス管理&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9%e7%ae%a1%e7%90%86&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;postmarketOSが使用するinitシステムはSystemdです。v24.12以前のバージョンではOpenRCを使用しており、v25.06以降はSystemdへ変更されました。ユーザーは&lt;code&gt;pmbootstrap init&lt;/code&gt;段階でOpenRCとSystemdのどちらを使うか自由に選べますが、公式の事前ビルド済みシステムイメージはSystemdを使用します。&lt;/p&gt;&#xA;&lt;p&gt;Systemd関連コマンド：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# サービスの停止または起動にはsystemctlを使います。例：docker：&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo systemctl stop docker&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo systemctl start docker&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# systemctlでサービスを起動時自動起動に設定：&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo systemctl &lt;span class=&#34;nb&#34;&gt;enable&lt;/span&gt; docker&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;OpenRC関連コマンド：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# サービスの停止または起動にはrc-serviceを使います。例：docker：&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo rc-service docker stop&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo rc-service docker start&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# rc-updateでサービスを起動時自動起動に設定：&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo rc-update add docker&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;ファイアウォール&#xA;    &lt;div id=&#34;ファイアウォール&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e3%83%95%e3%82%a1%e3%82%a4%e3%82%a2%e3%82%a6%e3%82%a9%e3%83%bc%e3%83%ab&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;postmarketOSのデフォルトファイアウォールはiptablesです。必要ならUFWをインストールすると管理しやすくなります：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apk add ufw&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo systemctl &lt;span class=&#34;nb&#34;&gt;enable&lt;/span&gt; --now ufw&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# すべての着信接続を禁止&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo ufw default deny incoming&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# SSHポートを許可&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo ufw allow ssh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# ルールを再読み込み&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo ufw reload&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;5. ネットワーク接続&#xA;    &lt;div id=&#34;5-ネットワーク接続&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#5-%e3%83%8d%e3%83%83%e3%83%88%e3%83%af%e3%83%bc%e3%82%af%e6%8e%a5%e7%b6%9a&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;Wifiネットワーク&#xA;    &lt;div id=&#34;wifiネットワーク&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#wifi%e3%83%8d%e3%83%83%e3%83%88%e3%83%af%e3%83%bc%e3%82%af&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;一般的なスマホと同じように、ネットワーク接続はPhoshデスクトップのSettings → モバイルネットワークまたはWifiをタップすればインターネットへ接続できます。&lt;/p&gt;&#xA;&lt;p&gt;端末では&lt;code&gt;ip addr&lt;/code&gt;でネットワークカードを確認します。その後nmcliで接続します：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo nmcli dev wifi connect &lt;span class=&#34;s2&#34;&gt;&amp;#34;Wifi名稱&amp;#34;&lt;/span&gt; password &lt;span class=&#34;s2&#34;&gt;&amp;#34;Wifi密碼&amp;#34;&lt;/span&gt; ifname wlan0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo nmcli device &lt;span class=&#34;nb&#34;&gt;set&lt;/span&gt; wlan0 autoconnect yes&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;スマホがインターネットへ接続できない場合は、Linux PCのネットワークを&lt;a href=&#34;https://wiki.postmarketos.org/wiki/USB_Internet&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;USB Networking&lt;/a&gt;で逆方向にスマホへ共有することもできます。&lt;/p&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;モバイルネットワーク&#xA;    &lt;div id=&#34;モバイルネットワーク&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e3%83%a2%e3%83%90%e3%82%a4%e3%83%ab%e3%83%8d%e3%83%83%e3%83%88%e3%83%af%e3%83%bc%e3%82%af&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;グラフィカルUIで4Gネットワークを有効化できない場合は、以下のコマンドを使います。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;ModemManagerサービスが有効になっているか確認します&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo systemctl status modemmanager&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;&lt;code&gt;sudo nmcli d&lt;/code&gt;でネットワーク状態を確認します&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;DEVICE TYPE STATE        CONNECTION&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;qrtr0  gsm  disconnected --&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;APN自動接続を試します&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo nmcli con add con-name &lt;span class=&#34;s2&#34;&gt;&amp;#34;modem&amp;#34;&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;gsm&amp;#34;&lt;/span&gt; ifname &lt;span class=&#34;s2&#34;&gt;&amp;#34;qrtr0&amp;#34;&lt;/span&gt; auto-config &lt;span class=&#34;s2&#34;&gt;&amp;#34;TRUE&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;4&#34;&gt;&#xA;&lt;li&gt;接続を有効化します&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo nmcli c up &lt;span class=&#34;s2&#34;&gt;&amp;#34;modem&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;4Gネットワークのホットスポット共有を有効化したい場合：PhoshデスクトップのSettings → WifiでWifiを有効化し、右上をタップしてモバイルホットスポットを有効にします。&lt;/p&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;SSH接続&#xA;    &lt;div id=&#34;ssh接続&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#ssh%e6%8e%a5%e7%b6%9a&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;postmarketOSインストール後、スマホをPCへ接続するとRNDISデバイスになります。PCからシステムへSSHできます。IPは固定です（&lt;code&gt;sudo systemctl status sshd&lt;/code&gt;でスマホのSSHサービスが動作しているか確認する必要があります）：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ssh 使用者名稱@172.16.42.1&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;スマホ自体がネットワークへ接続している場合は、ローカルIP経由で接続することもできます：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# スマホ側でSSHを有効化&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apk update&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apk add openssh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo systemctl start sshd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo systemctl &lt;span class=&#34;nb&#34;&gt;enable&lt;/span&gt; sshd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# スマホIPを確認&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ip addr&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# PC側からスマホへSSH&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ssh 使用者名稱@區域IP&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;タイムゾーン設定＆時刻補正&#xA;    &lt;div id=&#34;タイムゾーン設定時刻補正&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e3%82%bf%e3%82%a4%e3%83%a0%e3%82%be%e3%83%bc%e3%83%b3%e8%a8%ad%e5%ae%9a%e6%99%82%e5%88%bb%e8%a3%9c%e6%ad%a3&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;シンボリックリンクを使ってタイムゾーンを台北に設定します：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo ln -sf /usr/share/zoneinfo/Asia/Taipei /etc/localtime&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;また、Alpine Linuxのスクリプトで時刻を自動補正します：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo setup-timezone&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Asia/Taipeiと入力&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;または起動時の自動時刻同期を設定します：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apk add systemd-timesyncd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo systemctl &lt;span class=&#34;nb&#34;&gt;enable&lt;/span&gt; systemd-timesyncd&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;</content:encoded>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ivonblog.com/ja-jp/posts/postmarketos-tips/featured.webp" />
    </item>
    
    <item>
      <title>スマホでLinuxシステムを動かすには？試せる方法はいくつかあります</title>
      <link>https://ivonblog.com/ja-jp/posts/how-to-run-linux-on-the-phones/</link>
      <pubDate>Fri, 28 Mar 2025 13:00:00 +0800</pubDate>
      <author>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</author>
      <guid>https://ivonblog.com/ja-jp/posts/how-to-run-linux-on-the-phones/</guid>
      
      <description>&lt;!-- Co-translated by ChatGPT --&gt;&#xA;&lt;!--類別：導航文--&gt;&#xA;&lt;p&gt;スマホにLinuxシステムをインストールして、PC上のプログラムを動かしたいですか？実はこれは二つの別概念です。Ivonが長いこと試行錯誤した結果を、この記事にまとめて共有します。&lt;/p&gt;&#xA;&lt;p&gt;現在の技術でスマホ上にLinuxを走らせたい場合、方法は大きく二つあります。&lt;/p&gt;</description>
      <content:encoded>&lt;!-- Co-translated by ChatGPT --&gt;&#xA;&lt;!--類別：導航文--&gt;&#xA;&lt;p&gt;スマホにLinuxシステムをインストールして、PC上のプログラムを動かしたいですか？実はこれは二つの別概念です。Ivonが長いこと試行錯誤した結果を、この記事にまとめて共有します。&lt;/p&gt;&#xA;&lt;p&gt;現在の技術でスマホ上にLinuxを走らせたい場合、方法は大きく二つあります。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;APPでLinux環境をエミュレートする&lt;/li&gt;&#xA;&lt;li&gt;スマホのシステムを削除し、本物のLinuxシステムへ焼き替える&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;まずこの二つの方法の長所と短所を見ていきます。最後に、3. 本物のLinuxスマホを購入する、という選択肢も扱います。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;1. APPでLinux環境をエミュレートする&#xA;    &lt;div id=&#34;1-appでlinux環境をエミュレートする&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#1-app%e3%81%a7linux%e7%92%b0%e5%a2%83%e3%82%92%e3%82%a8%e3%83%9f%e3%83%a5%e3%83%ac%e3%83%bc%e3%83%88%e3%81%99%e3%82%8b&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;ここでいうエミュレートとは、APPでLinuxシステム環境を模擬するという意味で、どちらかといえば補助用途です。利点はほぼすべてのスマホにインストールできること、欠点はできることが限られることです。端末コマンドを動かすくらいはできますが、コンテナ化や仮想化はできません。&lt;/p&gt;&#xA;&lt;p&gt;APPでLinux環境をエミュレートする場合、Rootも脱獄も不要なので、大多数のデバイスに適しています。Linuxをどう生活に溶け込ませるかは個人の選択次第です。TermuxのようなAPPから始めるのは悪くない入口で、そこから自由でオープンソースな精神を感じ取れるかもしれません。準備ができたら、Linuxスマホでも遊んでみましょう。沼は浅く見えるときほど深いです。&lt;/p&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;Android&#xA;    &lt;div id=&#34;android&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#android&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;AndroidスマホとAndroidタブレットを含みます。ChromeOSは含みません。&lt;/p&gt;&#xA;&#xA;&lt;h4 class=&#34;relative group&#34;&gt;Termux&#xA;    &lt;div id=&#34;termux&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#termux&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;関連記事：&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/how-to-use-termux/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Termux Usage&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Termuxは大多数のAndroidスマホで利用でき、最低でもAndroid 7までサポートしています。rootは不要です。&lt;/p&gt;&#xA;&lt;p&gt;Termuxは仮想マシンではありません。Linuxに似た環境を提供し、プログラムをネイティブ性能で実行できるように工夫しているものです。Termuxにはproot-distro (ptraceでchroot機能を模擬する) によってLinuxディストリビューションをインストールする方法もあります。Termux X11と組み合わせてX Window Systemを動かし、LinuxのGUIプログラムを実行し、さらにVirGL技術で3Dグラフィックアクセラレーションを実現できます。&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/how-to-run-linux-on-the-phones/images/termux.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    &gt;&lt;figcaption&gt;Termux経由でAndroid上にLinux GUIプログラムを走らせる&lt;/figcaption&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;ただしproot-distroで他のLinuxディストリビューションのコンテナをインストールしても、そのシステムは依然としてAndroidの制限を受けます。ハードウェア周りの操作へアクセスするのは難しいです。&lt;/p&gt;&#xA;&lt;p&gt;Termuxは、Androidエコシステムと混ぜて使う補助ツール寄りです。この環境下のLinuxシステムでは、Python、Java、C++の小さなプログラムを書いたり、オフィスソフトを動かしたり、Linuxの小さなゲームで遊んだりできます。またTermuxはAndroidシステム上の一部ファイルへアクセスできるため、ffmpegで動画を一括変換することもできます。&lt;/p&gt;&#xA;&lt;p&gt;スマホにRoot権限がある場合は、chrootでLinuxコンテナをインストールし、Busyboxと組み合わせることでできることが少し増えます。&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;関連記事：&lt;a href=&#34;https://ivonblog.com/posts/termux-chroot-ubuntu/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;手機Termux建立chroot Ubuntu環境，免Linux Deploy&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;ただしchrootでも、Android向けに削られたLinuxカーネルによって用途は制限されます。たとえばAndroidのカーネルは一般的にcgroupsカーネルモジュールを欠いているため、やはりDockerは実行できません。chrootはMagiskと組み合わせて、システムを少し改造する操作に使うほうが向いています。&lt;/p&gt;&#xA;&#xA;&lt;h4 class=&#34;relative group&#34;&gt;QEMU&#xA;    &lt;div id=&#34;qemu&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#qemu&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h4&gt;&#xA;&lt;p&gt;ここで扱う方法は比較的制限が強く、Termuxほど万能ではありません。&lt;/p&gt;&#xA;&lt;p&gt;エミュレーターソフトウェア「QEMU」にはAndroid移植版があります。TermuxにはQEMUパッケージが収録されており、独立したAPPを作っている人もいます。&lt;a href=&#34;https://github.com/limboemu/limbo&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Limbo PC Emulator&lt;/a&gt;や&lt;a href=&#34;https://github.com/xoureldeen/Vectras-VM-Android&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Vectras VM&lt;/a&gt;などです。&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;関連記事：&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/termux-qemu-system-linux/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;QEMU x86_64 Ubuntu VM on Android&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;ではQEMUでARMアーキテクチャのLinux仮想マシンを動かす場合はどうでしょうか。残念ながら、多くのAndroidスマホにはKVMカーネルモジュールがありません。そのため仮想マシンの実行効率はかなり低くなります。執筆時点の2025年のフラッグシップ機であっても、Windows XPシステムか、テキストUIだけのLinux仮想マシンを動かすのがやっとです。&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/how-to-run-linux-on-the-phones/images/qemu.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    &gt;&lt;figcaption&gt;QEMU経由でAndroidスマホ上に実行しているUbuntu仮想マシン&lt;/figcaption&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;ただしGoogle Pixelスマホは例外です。Tensorプロセッサ搭載のPixelはpKVM仮想化技術に対応しているため、Limbo PC Emulatorがかなり高速に動作し、Windows 11 ARMすら走ります。特製版Limboを使う必要があります：&lt;a href=&#34;https://github.com/wasdwasd0105/limbo_tensor&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Limbo For Tensor-based devices&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;また、Android 16以上のGoogle Pixelスマホでは、AVFフレームワークでLinux仮想マシンを実行できます。参照：&lt;a href=&#34;https://www.theregister.com/2025/03/13/android_15_linux_debian_terminal/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Google slips built-in terminal, Debian Linux VM into Android 15 March feature drop&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;iOS&#xA;    &lt;div id=&#34;ios&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#ios&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;iPhone、iPad、iPod touchデバイスを含みます。&lt;/p&gt;&#xA;&#xA;&lt;h4 class=&#34;relative group&#34;&gt;iSH Shell&#xA;    &lt;div id=&#34;ish-shell&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#ish-shell&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;関連記事：&lt;a href=&#34;https://ivonblog.com/posts/ios-ish-shell/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;iSH Shell使用&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;iOS上のiSH Shellは、32ビットAlpine LinuxをエミュレートするAPPです。テキストUIなので、Pythonスクリプトを少し動かしたり、SSH接続クライアントとして使ったりするのに向いています。&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/how-to-run-linux-on-the-phones/images/ishshell.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    &gt;&lt;figcaption&gt;iSH Shellを使ってiPadで簡単な端末プログラムを実行する&lt;/figcaption&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;さらにiSHのファイルシステムはファイルAPPで開けるため、ファイルをLinux環境へ放り込んで処理できます。たとえばImageMagickで写真を一括変換できます。こうなるとiSHの用途はAndroid上のTermuxに近く、iOSエコシステムと混ぜて使うLinux環境です。&lt;/p&gt;&#xA;&lt;p&gt;欠点は、iSH Shellが単純なx86エミュレーターであり、32ビットパッケージにしか互換性がないことです。また一部の命令セットはまだ実装されていないため、プログラムによっては実行時にエラーが出る可能性があります。&lt;/p&gt;&#xA;&#xA;&lt;h4 class=&#34;relative group&#34;&gt;UTM&#xA;    &lt;div id=&#34;utm&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#utm&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;関連記事：&lt;a href=&#34;https://ivonblog.com/posts/utm-app-ios/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;UTM使用&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;UTMは仮想マシンソフトウェアです。JITアクセラレーションを有効にするか、脱獄して仮想化を有効にすると、他のシステムの仮想マシンを高性能に動かせます。iPadでの利用に向いています。&lt;/p&gt;&#xA;&lt;p&gt;Appleの周囲を黙らせるプロセッサ性能と組み合わせると、現在の高性能Mシリーズチップ搭載iPadはWindows 11 ARMに耐えられることが確認されています。となればLinuxシステムは当然問題ありません。&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/how-to-run-linux-on-the-phones/images/utm.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    &gt;&lt;figcaption&gt;UTMを使ってiPad上でAlpine Linux仮想マシンを動かし、ホストとフォルダを共有する&lt;/figcaption&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;欠点は、Appleがアクセラレーションを一切持たない「UTM SE」だけをApp Storeに掲載することを許可している点です。この版のUTMはWindows XPを動かすだけでも息切れします。通常版のUTMはサイドロードが必要です。しかもJITアクセラレーションでも脱獄による仮想化有効化でも、設定過程には面倒な手順が必要で、実用性は高くありません。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;2. スマホを本物のLinuxシステムへ焼き替える&#xA;    &lt;div id=&#34;2-スマホを本物のlinuxシステムへ焼き替える&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#2-%e3%82%b9%e3%83%9e%e3%83%9b%e3%82%92%e6%9c%ac%e7%89%a9%e3%81%aelinux%e3%82%b7%e3%82%b9%e3%83%86%e3%83%a0%e3%81%b8%e7%84%bc%e3%81%8d%e6%9b%bf%e3%81%88%e3%82%8b&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;iOSデバイスは脱獄後であっても、他のシステムを焼くことはできません。iPhone 7には&lt;a href=&#34;https://github.com/corellium/projectsandcastle&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Project Sandcastle&lt;/a&gt;という特殊な例がありますが、それくらいです。では比較的オープンなAndroidデバイスはどうでしょうか。実はLinuxを焼けるAndroidスマホもそれほど多くありません。&lt;/p&gt;&#xA;&lt;p&gt;ここでいうLinuxシステムにはAndroidを含みません。LineageOS、GrapheneOS、CalyxOSなども含みません。これらはAndroidの派生と見なせるだけで、Linuxとは呼べません。AndroidはLinuxではないのか、と言う人もいるでしょう。そうでもあり、そうでもありません。AndroidはLinuxカーネルを使っていますが、アーキテクチャはPC上のGNU/Linuxとは実際かなり違います。以下で話す「本物のLinuxスマホシステム」は、Googleが魔改造した結果ではなく、PCのGNU/Linuxシステムに近い設計です。ざっくり言うと、これらのシステムはデフォルトでrootユーザーを残しています。Androidのように抜いて使わせない、ということはしません。&lt;/p&gt;&#xA;&lt;p&gt;ではスマホ向けLinuxシステムにはどんな選択肢があるのでしょうか。現在、Android以外の「本物のLinuxスマホシステム」には十数個のディストリビューションがあります。その中でも最大勢力は「Ubuntu Touch」と「postmarketOS」の二つです。この二つのLinuxディストリビューションは対応スマホ数が最も多く、多くのAndroidスマホへ移植されています。&lt;/p&gt;&#xA;&lt;p&gt;焼き替えに適したスマホを購入する必要があります。あるスマホに焼けるAndroid ROMがたくさんあるとしても、それがLinuxへ焼き替えられることを意味しません。どのスマホが焼き替えに適しているか知りたい場合は、postmarketOS WikiとUbuntu touch Wikiを参照してください。&lt;/p&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;Ubuntu touch&#xA;    &lt;div id=&#34;ubuntu-touch&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#ubuntu-touch&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;関連記事：&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/ubuntu-touch-ubports-installer/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Ubuntu touch Install&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Ubuntu touchは登場時期が最も早く、2014年には存在していました。本来はさらにスマホを出す予定でしたが、数年もしないうちに親会社Canonicalに放棄され、オープンソースコミュニティによるメンテナンスへ移りました。&lt;/p&gt;&#xA;&lt;p&gt;Ubuntu touchには独自のデスクトップ環境があり、UI設計は完成度が高く、中国語入力方式まであります。フィーチャーフォン的な用途なら合格です。Ubuntu touchのシステムパーティションはAndroidと同じく読み取り専用で、Root権限でアクセスしても、次回のOTA更新で上書きされます。PC版Linuxプログラムを動かしたい場合は、LXCコンテナを有効にしてインストールする必要があります。&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/how-to-run-linux-on-the-phones/images/ubuntutouch.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    &gt;&lt;figcaption&gt;Ubuntu touchを実行しているRedmi Note 5&lt;/figcaption&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;Ubuntu touchは、HaliumでAndroidドライバを混ぜる移植方式を発展させました。一部の自由ソフトウェア性を犠牲にして互換性を得る方式です。そのためUbuntu touchはAndroidスマホのハードウェアとの互換性が比較的よく、移植もしやすいです。&lt;/p&gt;&#xA;&lt;p&gt;Waydroid経由でAndroid APPを動かすことに対応しています。&lt;/p&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;postmarketOS&#xA;    &lt;div id=&#34;postmarketos&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#postmarketos&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;関連記事：&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/postmarketos-general-installation/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;postmarketOS Install&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;2019年前後に登場したpostmarketOSは、どちらかといえばPCのGNU/Linuxディストリビューションに近いです。グラフィックシステムにはWaylandまたはX11を使い、利用するデスクトップ環境を自由に選べます。システムパーティションも好きに変更できます。性能が足りるならDockerや仮想マシンを動かすこともできます。&lt;/p&gt;&#xA;&lt;p&gt;postmarketOSは、移植対象機種が最新版のmainline Linuxカーネルを使うこと、ドライバもできるだけオープンソース版を使うことを強調しています。Ubuntu TouchのようなHalium技術による妥協策を捨て、本物のGNU/Linuxスマホ路線へ進んでいます。&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/how-to-run-linux-on-the-phones/images/postmarketos.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    &gt;&lt;figcaption&gt;postmarketOSを実行しているXiaomi Poco F1&lt;/figcaption&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;おそらくpostmarketOSはUbuntu touchより自由度が高いので、「LinuxスマホAPP」が力を発揮する余地があります。GNOMEとKDEコミュニティはいずれも、画面サイズに合わせて変化するアプリケーションやSDKを相次いで開発しています。既存のGTKとQT技術をそのまま使ってLinuxスマホAPPを開発できます。&lt;/p&gt;&#xA;&lt;p&gt;Waydroid経由でAndroid APPを動かすことに対応しています。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;3. 本物のLinuxスマホを購入する&#xA;    &lt;div id=&#34;3-本物のlinuxスマホを購入する&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#3-%e6%9c%ac%e7%89%a9%e3%81%aelinux%e3%82%b9%e3%83%9e%e3%83%9b%e3%82%92%e8%b3%bc%e5%85%a5%e3%81%99%e3%82%8b&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;AndroidスマホをLinuxへ焼き替える以外に、出荷時からLinuxシステムを搭載しているスマホを購入する方法もあります。専任の開発チームがメンテナンスしているため、AndroidにLinuxを焼くときに遭遇する多くの問題はありません。また、これらのハードウェアは通常かなりオープンなので、他のコミュニティメンバーがメンテナンスするLinuxディストリビューションも自由にインストールできます。&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/how-to-run-linux-on-the-phones/images/pinephone.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    &gt;&lt;figcaption&gt;動画を再生しているPinePhone&lt;/figcaption&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;ただし、これらのLinuxスマホはAndroidより使いやすいとは限らず、コストパフォーマンスも高くありません。自分で手を動かしたいユーザー向けのものです。本物のLinuxスマホは強そうに見えますが、エコシステムはまだ成熟しておらず、現状ではせいぜい通話とネット閲覧を満たす程度です。ユーザー側にもかなり強いtinker精神がないと使い続けるのは厳しいです。オープンソースはエコシステムの問題を少しずつ補えるかもしれませんが、Linuxスマホを使う人は多少なりともコマンドラインを理解している必要があります。&lt;/p&gt;&#xA;&lt;p&gt;現在、出荷時にAndroidではなくLinuxを搭載しているスマホには次のものがあります。&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;FuriLabs FLX1 (2024)、出荷時にFuriOSを搭載。Debianベースで開発。&lt;/li&gt;&#xA;&lt;li&gt;Purism Liberty Phone (2023)、出荷時にPureOSを搭載。Debianベースで開発。&lt;/li&gt;&#xA;&lt;li&gt;Purism Librem 5 (2020)、出荷時にPureOSを搭載。Debianベースで開発。&lt;/li&gt;&#xA;&lt;li&gt;Pine64 PinePhone Pro (2022)、出荷時にManjaroを搭載。他の十数種類のディストリビューションをインストール可能。&lt;/li&gt;&#xA;&lt;li&gt;Pine64 PinePhone (2020)、出荷時にManjaroを搭載。他の十数種類のディストリビューションをインストール可能。&lt;/li&gt;&#xA;&lt;li&gt;Volla Phone (2020)、出荷時にUbuntu touchを搭載。&lt;/li&gt;&#xA;&lt;li&gt;Fxtec Pro1X (2020)、出荷時にUbuntu touchを搭載。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</content:encoded>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ivonblog.com/ja-jp/posts/how-to-run-linux-on-the-phones/featured.webp" />
    </item>
    
    <item>
      <title>AndroidスマホのpostmarketOSパーティションをPCへバックアップする</title>
      <link>https://ivonblog.com/ja-jp/posts/backup-android-phone-postmarketos-partitions/</link>
      <pubDate>Mon, 06 Jan 2025 21:00:00 +0800</pubDate>
      <author>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</author>
      <guid>https://ivonblog.com/ja-jp/posts/backup-android-phone-postmarketos-partitions/</guid>
      
      <description>&lt;!-- Co-translated by ChatGPT --&gt;&#xA;&lt;p&gt;Backup postmarketOS partitions of Android phone.&lt;/p&gt;&#xA;&lt;p&gt;postmarketOSシステムパーティションのデータをバックアップする方法について話します。&lt;/p&gt;&#xA;&lt;p&gt;postmarketOSにはrsyncやTimeshiftなど、バックアップツールがいくつもあります。システムを以前の状態へ戻せます。Linuxの権限はAndroidより完全なので、理論上はどのディレクトリでもバックアップできます。さらにスマホがLinuxメインラインカーネルをサポートしているなら、BTRFSのスナップショットも活用できます。&lt;/p&gt;</description>
      <content:encoded>&lt;!-- Co-translated by ChatGPT --&gt;&#xA;&lt;p&gt;Backup postmarketOS partitions of Android phone.&lt;/p&gt;&#xA;&lt;p&gt;postmarketOSシステムパーティションのデータをバックアップする方法について話します。&lt;/p&gt;&#xA;&lt;p&gt;postmarketOSにはrsyncやTimeshiftなど、バックアップツールがいくつもあります。システムを以前の状態へ戻せます。Linuxの権限はAndroidより完全なので、理論上はどのディレクトリでもバックアップできます。さらにスマホがLinuxメインラインカーネルをサポートしているなら、BTRFSのスナップショットも活用できます。&lt;/p&gt;&#xA;&lt;p&gt;ただし、この記事で扱うのは「全機バックアップ」の方法です。スマホのデータを1対1でバックアップし、ワンクリックで以前の状態へ戻せるようにしたいのです。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;1. postmarketOSとAndroidパーティション&#xA;    &lt;div id=&#34;1-postmarketosとandroidパーティション&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#1-postmarketos%e3%81%a8android%e3%83%91%e3%83%bc%e3%83%86%e3%82%a3%e3%82%b7%e3%83%a7%e3%83%b3&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;PinePhoneにpostmarketOSをインストールする場合、&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/pinephone-tow-boot/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Tow-Boot&lt;/a&gt;でPinePhoneを1つのディスクのようにできます。そうするとPCへ挿した後、ddコマンドでシステムイメージ全体を抽出し、システム全体をバックアップできます。&lt;/p&gt;&#xA;&lt;p&gt;しかし、postmarketOSデバイスの多くはAndroidスマホから改造されたものです。パーティションテーブルはAndroid由来です。そのため、Androidの方法でバックアップする必要があります。&lt;/p&gt;&#xA;&lt;p&gt;Android 9以前のデバイスではA/Bパーティションがよく使われ、Android 10以降のデバイスでは多くの場合、動的パーティションが使われます。デバイスごとに違います。Xiaomi Poco F1を例にすると、postmarketOSはfasboot経由で&lt;code&gt;boot&lt;/code&gt;と&lt;code&gt;userdata&lt;/code&gt;パーティションへ書き込まれ、他のパーティションはAndroidの元の状態を保ちます。したがって、FastbootとRecoveryは引き続き使えます。&lt;/p&gt;&#xA;&lt;p&gt;この場合、理論上はAndroid Recovery画面でADBコマンドを使い、この2つのパーティション全体のイメージファイルを抽出できます。&lt;/p&gt;&#xA;&lt;p&gt;全機バックアップなので、使用容量は簡単にスマホ本体の容量を超えます。抽出したイメージファイルは、より大きいSDカードかPCへ置く必要があります。USB 3以上の速度のポートで転送することをおすすめします。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;2. postmarketOSパーティションをバックアップ&#xA;    &lt;div id=&#34;2-postmarketosパーティションをバックアップ&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#2-postmarketos%e3%83%91%e3%83%bc%e3%83%86%e3%82%a3%e3%82%b7%e3%83%a7%e3%83%b3%e3%82%92%e3%83%90%e3%83%83%e3%82%af%e3%82%a2%e3%83%83%e3%83%97&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Xiaomi純正のRecoveryにはADB機能がないため、私はLineageOSのrecoveryを使います。TWRPでバックアップしてもよいですが、TWRPはすべてのスマホにあるわけではありません。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;再起動してスマホをFastbootモードに入れます&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;LineageOSサイトからRecoveryをダウンロードして書き込みます&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;再起動してLineageOS Recoveryに入ります&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fastboot reboot recovery&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;4&#34;&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Advancedメニューをタップし、ADB機能を有効化します&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;スマホをPCへ接続します。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;パーティションをPCへ抽出します&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;adb pull /dev/block/bootdevice/by-name/userdata userdata.img&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;adb pull /dev/block/bootdevice/by-name/boot boot.img&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;7&#34;&gt;&#xA;&lt;li&gt;これで2つのimgファイルが得られます。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;3. postmarketOSパーティションを復元&#xA;    &lt;div id=&#34;3-postmarketosパーティションを復元&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#3-postmarketos%e3%83%91%e3%83%bc%e3%83%86%e3%82%a3%e3%82%b7%e3%83%a7%e3%83%b3%e3%82%92%e5%be%a9%e5%85%83&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;復元効果を実測します：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;再起動してpostmarketOSに入ります&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;いくつかファイルを削除します&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;imgを再度書き込みます。今回はfastbootで書き込みます&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fastboot flash boot boot.img&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fastboot flash userdata userdata.img&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;4&#34;&gt;&#xA;&lt;li&gt;再起動後、理屈では以前の状態に戻るはずです。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;スマホのシステムをAndroidへ戻した後でも、この方法でpostmarketOSのデータを復元できるのか、と聞きたくなるかもしれません。かなり危険です。パーティションテーブルが壊れる可能性があります。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;参考資料&#xA;    &lt;div id=&#34;参考資料&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e5%8f%82%e8%80%83%e8%b3%87%e6%96%99&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://wiki.postmarketos.org/wiki/Android_dynamic_partitions&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Android dynamic partitions - postmarketOS Wiki&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://eskerahn.dk/?p=4633&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Partition backup, unlocked Android phones, through Recovery. - EskeRahn | Various tech stuff ……….&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://xdaforums.com/t/how-to-backup-your-partitions-with-command-line-requires-root.4411165/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;How To Guide How to backup your partitions with command line (requires root) XDA&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</content:encoded>
      
    </item>
    
    <item>
      <title>AndroidでROMを焼かずにpostmarketOSとPhoshデスクトップを動かす（Termux proot）</title>
      <link>https://ivonblog.com/ja-jp/posts/postmarketos-in-termux-proot/</link>
      <pubDate>Sat, 16 Nov 2024 20:00:00 +0800</pubDate>
      <author>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</author>
      <guid>https://ivonblog.com/ja-jp/posts/postmarketos-in-termux-proot/</guid>
      
      <description>&lt;!-- Co-translated by ChatGPT --&gt;&#xA;&lt;p&gt;ROM焼き不要、Root不要。Android上でpostmarketOSシステムと、Linuxスマホ向けに設計されたPhoshデスクトップを動かします。&lt;/p&gt;&#xA;&lt;p&gt;私は公式に認められた方法ではない、かなり寄せ集めのやり方を採用しました。Termux ProotでpostmarketOSシステムを動かし、スマホ上のLinuxシステムがどんなものかを体験します。&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/postmarketos-in-termux-proot/images/title1.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    &gt;&lt;/figure&gt;&#xA;&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/postmarketos-in-termux-proot/images/title2.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;</description>
      <content:encoded>&lt;!-- Co-translated by ChatGPT --&gt;&#xA;&lt;p&gt;ROM焼き不要、Root不要。Android上でpostmarketOSシステムと、Linuxスマホ向けに設計されたPhoshデスクトップを動かします。&lt;/p&gt;&#xA;&lt;p&gt;私は公式に認められた方法ではない、かなり寄せ集めのやり方を採用しました。Termux ProotでpostmarketOSシステムを動かし、スマホ上のLinuxシステムがどんなものかを体験します。&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/postmarketos-in-termux-proot/images/title1.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    &gt;&lt;/figure&gt;&#xA;&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/postmarketos-in-termux-proot/images/title2.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;動画デモ。Phosh + postmarketOSはSony Xperia 10 V Android 14上で動作しています。&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; overflow: hidden;&#34;&gt;&#xA;    &lt;iframe style=&#34;position: absolute; width: 100%; height: 100%;&#34;&#xA;        src=&#34;http://www.youtube.com/embed/2O8DXNuinUs&#34; allowfullscreen frameborder=&#34;0&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/iframe&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;1. 動機&#xA;    &lt;div id=&#34;1-動機&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#1-%e5%8b%95%e6%a9%9f&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;なぜこんなことをするのか。AndroidスマホでLinuxシステムを体験できる可能性を探るためです。そのため、タッチスクリーン向けに設計されたデスクトップ環境が必要になります。&lt;/p&gt;&#xA;&lt;p&gt;Sony Xperia 5 &amp;amp; 10シリーズのスマホでモバイルLinuxシステムを動かしたいというのは、私個人の悲願です。とはいえ移植している人は多くなく、私自身も成功していません。そこでTermuxで雰囲気だけでも味わい、この実験色の強い方法を共有することにしました。&lt;/p&gt;&#xA;&lt;p&gt;postmarketOSは古くなったスマホ向けに設計されたGNU/Linuxシステムで、Alpine Linuxをベースに開発されています。完全なLinux機能を備え、PC版Linuxのソフトウェアを実行でき、PinePhoneの有力なシステム候補の1つにもなっています。ただしpostmarketOSはすべてのAndroidスマホに焼けるわけではありません。&lt;a href=&#34;https://ivonblog.com/posts/postmarketos-general-installation/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;postmarketOSのpmbootstrapインストールチュートリアル&lt;/a&gt;を参照すると、ROMを作るにはLinuxカーネルへ大量のpatchを当てる必要があります。AndroidとLinuxでは共用できないドライバーが多いため、ROM制作の難度はLineageOSの移植より高いです。仮に最後まで起動できても、専有ドライバーが足りず快適に使えないことがよくあります。&lt;/p&gt;&#xA;&lt;p&gt;さらに、postmarketOSを体験するまでのハードルはかなり高いです。多くのスマホユーザーにとってはbootloaderのアンロックすらできないため、当然ROM焼きもできません。そこでTermuxが候補になります。TermuxはrootなしでAndroid上にLinuxコンテナを実行でき、Termux X11を使ってLinuxコンテナのXサーバー画面を表示できます。最初に考えるべきなのは、pmbootstrapをTermuxで実行できるのか、という点です。&lt;a href=&#34;https://github.com/termux/termux-packages/issues/4333&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;このGithub issue&lt;/a&gt;によれば、root権限のないAndroidでchroot環境を動かすのは困難です。したがって、比較的遅いprootを使うことにします。&lt;/p&gt;&#xA;&lt;p&gt;TermuxにはAlpine Linuxのproot rootfsが用意されており、postmarketOS自体もAlpine Linuxベースです。つまり、少し工夫してAlpine LinuxをpostmarketOSシステムへ変換すれば、スマホ向けに設計されたパッケージを取得できます。なぜAlpine Linuxをそのまま使わないのかというと、postmarketOSの一部パッケージはupstreamされておらず、依存関係が足りなくなりやすいからです。&lt;/p&gt;&#xA;&lt;p&gt;最後に&lt;a href=&#34;https://phosh.mobi/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Phosh&lt;/a&gt;について話します。このデスクトップ環境は自由ソフトウェア企業Purismが開発したもので、内部ではPhocというWaylandコンポジターを使用します。Phocはwlrootsベースで、Linuxスマホ向けに設計されたデスクトップです。PinePhoneコミュニティでは、Phoshは評価の高いインターフェースの1つです。私自身のPinePhone使用経験から見ると、Phoshは画面こそ簡素ですが最も安定したインターフェースで、しかも非常に省リソースです。性能がかなり低いPinePhone (Allwinner A64プロセッサ搭載) でもアニメーションは十分滑らかです。Termux X11でLinuxシステムを操作したいユーザーにとって、Phoshはとても有用だと思います。多くのAndroidスマホにはキーボードやマウスがないため、Termux X11でXFCE、KDE Plasma、GNOMEのような従来型Linuxデスクトップを動かすと操作がかなり厳しくなります。タッチジェスチャー向けに最適化されたPhoshは、そこで非常によい選択肢になります。&lt;/p&gt;&#xA;&lt;p&gt;とはいえ、PhoshはWaylandコンポジターなのに、どうやってTermux X11で動かすのか、と疑問に思うかもしれません。Waylandを直接使うことはできませんが、X11上のネストされたWaylandセッションなら実現できます。&lt;a href=&#34;https://gitlab.freedesktop.org/wayland/weston&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Weston&lt;/a&gt;や&lt;a href=&#34;https://github.com/cage-kiosk/cage&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Cage&lt;/a&gt;など、一部のコンポジターはこれに対応しており、X環境下でもWaylandの一部機能を利用できます。ただしcageだけを起動すると不完全なXセッションになり、スマホの解像度を検出できません。そのためcageを起動する前に、私はXウィンドウマネージャーも起動します。性能を節約するため、Openboxを選びました。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;2. 前提項目&#xA;    &lt;div id=&#34;2-前提項目&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#2-%e5%89%8d%e6%8f%90%e9%a0%85%e7%9b%ae&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;先に以下の項目を設定してください：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/how-to-use-termux/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Termux&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/termux-x11/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Termux X11&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/termux-virglrenderer/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;virglrenderer&lt;/a&gt;：任意のハードウェアアクセラレーション&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://f-droid.org/packages/org.pocketworkstation.pckeyboard/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Hacker&amp;rsquo;s keyboard&lt;/a&gt;：デスクトップ環境とやり取りするために使います。PCのキーボード入力を模擬できるので便利です。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;3. proot Alpine Linuxをインストールする&#xA;    &lt;div id=&#34;3-proot-alpine-linuxをインストールする&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#3-proot-alpine-linux%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;postmarketOSにはEdgeとStableの2つの更新チャンネルがあります。Stableチャンネルのバージョン番号は&lt;a href=&#34;https://wiki.postmarketos.org/wiki/Releases&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Wiki&lt;/a&gt;で確認でき、現在はv24.06です。&lt;/p&gt;&#xA;&lt;p&gt;注：執筆時点では、PhoshをCage内で正常に起動するためにEdgeチャンネルで最新パッケージを取得しました。ただし安定性を考えるなら、Stableチャンネルを使うほうがよいかもしれません。&lt;/p&gt;&#xA;&lt;p&gt;Termux標準のAlpine LinuxリポジトリはEdgeブランチですが、このブランチは不安定です。そのためAlpine 3.20（postmarketOS v24.06に対応）へ切り替えることをおすすめします。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Termuxを開き、proot Alpine Linuxをインストールする&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pkg update&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pkg install proot-distro pulseaudio&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;proot-distro install alpine&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;Alpine LinuxのリポジトリをEdgeからv3.20へ切り替える&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;proot-distro login alpine --shared-tmp&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apk update&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apk add vim&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vim /etc/apk/repositories&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# &amp;#34;http://dl-cdn.alpinelinux.org/alpine/edge/main&amp;#34;を&amp;#34;http://dl-cdn.alpinelinux.org/alpine/v3.20/main&amp;#34;に変更する&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# &amp;#34;http://dl-cdn.alpinelinux.org/alpine/edge/community&amp;#34;を&amp;#34;http://dl-cdn.alpinelinux.org/alpine/v3.20/community&amp;#34;に変更する&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apk update&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apk upgrade&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;新しいユーザーを追加し、sudoグループへ入れ、タイムゾーンを設定する&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apk add sudo&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;addgroup storage&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;adduser -g wheel,storage,video,audio user&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;visudo&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;passwd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo ln -sf /usr/share/zoneinfo/Asia/Taipei /etc/localtime&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo setup-timezone&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;4&#34;&gt;&#xA;&lt;li&gt;Termux prootでSSHリモート接続を有効化する。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo vim /etc/ssh/sshd_config&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# `Port`を22から8023に変更する&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ssh-keygen -A&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rc-update add sshd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rc-serive sshd start&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# IPアドレスを確認する。&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ip addr&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;4. Alpine LinuxをpostmarketOSへ変換する&#xA;    &lt;div id=&#34;4-alpine-linuxをpostmarketosへ変換する&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#4-alpine-linux%e3%82%92postmarketos%e3%81%b8%e5%a4%89%e6%8f%9b%e3%81%99%e3%82%8b&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;postmarketOS v24.06 (Alpine v3.20) リポジトリを追加する&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vim /etc/apk/repositories&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 一番上にこの行を追加する：&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;https://mirror.postmarketos.org/postmarketos/v24.06&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 参考までに、EdgeチャンネルのURLは次の通り： https://mirror.postmarketos.org/postmarketos/master/&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;postmarketos-keysをインストールする&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apk add -u --allow-untrusted postmarketos-keys&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apk update &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; apk upgrade&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;以下の内容を&lt;code&gt;/etc/os-release&lt;/code&gt;に追加する&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;PRETTY_NAME&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;postmarketOS v24.06&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;NAME&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Nura&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;VERSION_ID&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;v24.06&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;VERSION&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;v24.06&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;ID&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;postmarketos&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;ID_LIKE&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;alpine&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;HOME_URL&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;https://www.postmarketos.org/&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;SUPPORT_URL&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;https://gitlab.com/postmarketOS&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;BUG_REPORT_URL&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;https://gitlab.com/postmarketOS/pmaports/issues&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;LOGO&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;postmarketos-logo&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;5. Phoshデスクトップ環境をインストールする&#xA;    &lt;div id=&#34;5-phoshデスクトップ環境をインストールする&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#5-phosh%e3%83%87%e3%82%b9%e3%82%af%e3%83%88%e3%83%83%e3%83%97%e7%92%b0%e5%a2%83%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;OpenboxとCageをインストールする：&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apk add openbox cage&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;Phoshのパッケージ名は&lt;code&gt;postmarketos-ui-phosh&lt;/code&gt;です。postmarektOSが設計したモバイルデバイス向けパッケージも一緒にインストールすることをおすすめします：&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apk add postmarketos-ui-phosh &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;postmarketos-tweaks &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;firefox &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mobile-config-firefox &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;font-noto &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;font-noto-cjk &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;font-noto-cjk-extra &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;font-noto-emoji&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;6. Termux X11とPhoshを起動する&#xA;    &lt;div id=&#34;6-termux-x11とphoshを起動する&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#6-termux-x11%e3%81%a8phosh%e3%82%92%e8%b5%b7%e5%8b%95%e3%81%99%e3%82%8b&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;prootでPhoshを起動する発想は&lt;a href=&#34;https://github.com/pothos/phosh-vnc&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;phosh-vnc&lt;/a&gt;と&lt;a href=&#34;https://github.com/dw5/termux-phosh/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;termux-phosh&lt;/a&gt;から得ました。WayVNCで動かすのも1つの方法ですが、性能のよいTermux X11を使えるなら活用したほうがよいでしょう。&lt;/p&gt;&#xA;&lt;p&gt;Phoshデスクトップを起動する流れは、Termux側のPulseAudio音声サーバーを起動し、Termux X11を起動し、proot Alpineへログインし、Openbox、cage、Phoshを起動する、という順番です。&lt;/p&gt;&#xA;&lt;p&gt;全体の流れは次の通りです：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Termuxを開き、PulseAudioを起動する&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pulseaudio --start --exit-idle-time&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;-1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pacmd load-module module-native-protocol-tcp auth-ip-acl&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;127.0.0.1 auth-anonymous&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;Termux X11を開き、TermuxからTermux X11を起動する&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;DISPLAY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;:0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;termux-x11 :0 &lt;span class=&#34;p&#34;&gt;&amp;amp;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;virglrendererを起動する&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;virgl_test_server_android &lt;span class=&#34;p&#34;&gt;&amp;amp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;4&#34;&gt;&#xA;&lt;li&gt;Alpine Linuxへログインする&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;proot-distro login alpine --user user --shared-tmp&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;5&#34;&gt;&#xA;&lt;li&gt;Openbox、cage、Phoshを起動する&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;DISPLAY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;:0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;XDG_RUNTIME_DIR&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;/tmp&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;openbox &lt;span class=&#34;p&#34;&gt;&amp;amp;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cage phoc -E &lt;span class=&#34;s1&#34;&gt;&amp;#39;/usr/libexec/phosh&amp;#39;&lt;/span&gt; -U &lt;span class=&#34;p&#34;&gt;&amp;amp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;6&#34;&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Termux X11のウィンドウでOpenboxのウィンドウが出てくるのを待ち、タイトルバーをダブルクリックして最大化します。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;スマホの通知欄でPreferencesをタップし、Termux X11のOutputをScaledに設定して、画面をスマホに合うサイズへ拡大します。&#xA;&lt;img src=&#34;https://static.ivonblog.com/posts/postmarketos-in-termux-proot/images/Screenshot_20241116-194431.webp&#34; width=300&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;さらにTermux X11のPointerをDirect Touchに変更し、タッチスクリーンを模擬します。&#xA;&lt;img src=&#34;https://static.ivonblog.com/posts/postmarketos-in-termux-proot/images/Screenshot_20241116-194435.webp&#34; width=300&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;7. Phoshの使用感&#xA;    &lt;div id=&#34;7-phoshの使用感&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#7-phosh%e3%81%ae%e4%bd%bf%e7%94%a8%e6%84%9f&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;ほとんどのタッチジェスチャーは使えます。Phoshの操作ロジックは、下から上へスワイプしてすべてのタスクを表示し、APPウィンドウを上へスワイプして閉じる、というものです。&lt;/p&gt;&#xA;&lt;p&gt;proot内のPhoshは完全なLinuxシステム環境ではないため、一部機能は使えない点に注意してください。&lt;/p&gt;&#xA;&lt;p&gt;例えばPhoshはGNOME Control Centerでシステム設定を調整しますが、グラフィカル画面が起動できません。そのため多くの箇所はコマンドで変更する必要があります。ファイルマネージャーPortfolioが特定ファイル形式を開く既定APPを変更したい場合は、&lt;code&gt;xdg-mime&lt;/code&gt;を使って変更してください。またGNOME Softwareも使えないため、ソフトウェアのインストールには&lt;code&gt;apk&lt;/code&gt;コマンドを使ってください。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;入力メソッドで文字を入力する場合：Phosh内蔵のSqueekboardは英語のみ対応で、Phosh下部のバーを長押しして呼び出します（proot環境では呼び出せないようです）。中国語を入力するにはAndroidスマホのキーボードを使う必要があります。Termux X11の画面で戻るキーを押すとスマホのキーボードを呼び出せます。その後、Termux X11下部のツールバーを左へスワイプすると、中国語を入力できます。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;8. 他のデスクトップ環境も試す？&#xA;    &lt;div id=&#34;8-他のデスクトップ環境も試す&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#8-%e4%bb%96%e3%81%ae%e3%83%87%e3%82%b9%e3%82%af%e3%83%88%e3%83%83%e3%83%97%e7%92%b0%e5%a2%83%e3%82%82%e8%a9%a6%e3%81%99&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Phosh以外にも、postmarketOSのデスクトップ環境にはPlasma MobileとSXMOがあります。ただし私としては、片方は不安定で、もう片方は複雑すぎるため、どちらも問題が多いと思います。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Plasma Mobile&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Plasma MobileはPC版KDE Plasmaをベースに開発されたデスクトップで、X11またはWaylandバックエンドで起動できます。&lt;/p&gt;&#xA;&lt;p&gt;個人的には、このデスクトップは非常に不安定なので、PC版KDEを使ったほうがよいと思います。&lt;/p&gt;&#xA;&lt;p&gt;パッケージ名：&lt;code&gt;postmarketos-ui-plasma-mobile&lt;/code&gt;。X11起動コマンド：&lt;code&gt;startplasma-x11&lt;/code&gt;、Wayland版の起動コマンド：&lt;code&gt;startplasma-wayland&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;X11版はこのコマンドで起動できます：&lt;code&gt;dbus-launch --exit-with-session startplasma-x11 &amp;amp;&lt;/code&gt;&#xA;&lt;img src=https://static.ivonblog.com/posts/postmarketos-in-termux-proot/images/Screenshot-20230124-121215.webp width=300&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;SXMO&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;SXMOはスマホ版Swayを名乗っており、パッケージ名は&lt;code&gt;postmarketos-ui-sxmo&lt;/code&gt;です。ただしTermux X11はXのみ対応なので、私は&lt;code&gt;postmarketos-ui-sxmo-de-dwm&lt;/code&gt;をインストールしました。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;SXMO関連パッケージをインストールする&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apk add postmarketos-ui-sxmo-de-dwm postmarketos-tweaks-sxmo-x11 feh dwm svkbd conky clickclack&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;SXMOを起動する前にこのコマンドを実行します：&lt;code&gt;export XDG_RUNTIME_DIR=/tmp&lt;/code&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;続いてSXMOを起動します：&lt;code&gt;dbus-launch --exit-with-session /usr/bin/sxmo_xinit.sh &amp;amp;&lt;/code&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;SXMO設定ファイルは&lt;code&gt;~/.config/sxmo/&lt;/code&gt;にあり、イベントフックは&lt;code&gt;/usr/share/sxmo/default_hooks/&lt;/code&gt;にあります。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;画面は表示されますが、タッチジェスチャーは効きません。&#xA;&lt;img src=https://static.ivonblog.com/posts/postmarketos-in-termux-proot/images/Screenshot-20230124-132311.webp width=300&gt;&lt;/p&gt;&#xA;&lt;p&gt;SXMOのハードウェアショートカットキーは再割り当てが必要になるかもしれません。この場合、dwmのソースコードを修正します：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone git@git.sr.ht:~mil/sxmo-dwm&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# config.def.hを修正してdwmを再ビルド・インストールする&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;カスタムdwmをインストールする前に、先に&lt;code&gt;sxmo-dwm&lt;/code&gt;パッケージを削除する必要があります。または、オリジナルの&lt;code&gt;dwm&lt;/code&gt;パッケージをインストールし、デフォルトのキーバインドを使ってもかまいません。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;参考資料&#xA;    &lt;div id=&#34;参考資料&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e5%8f%82%e8%80%83%e8%b3%87%e6%96%99&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pothos/phosh-vnc&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;pothos/phosh-vnc - Github&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/dw5/termux-phosh/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;dw5/termux-phosh - Github&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://wiki.postmarketos.org/wiki/Existing_Alpine_installation&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Existing Alpine installation - postmarketOS Wiki&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://wiki.postmarketos.org/wiki/Phosh&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Phosh - postmarketOS Wiki&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://wiki.postmarketos.org/wiki/Plasma_Mobile&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Plasma Mobile#Starting Plasma Mobile from the Terminal - postmarketOS Wiki&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://phosh.mobi/posts/phosh-dev-part-0/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Developing for Mobile Linux with Phosh - Part 0: Running nested&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</content:encoded>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ivonblog.com/ja-jp/posts/postmarketos-in-termux-proot/featured.webp" />
    </item>
    
    <item>
      <title>iPhone 6にLinuxシステムを入れる：checkra1n脱獄でpostmarketOSを動かす</title>
      <link>https://ivonblog.com/ja-jp/posts/iphone-6-postmarketos/</link>
      <pubDate>Mon, 07 Oct 2024 08:00:00 +0800</pubDate>
      <author>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</author>
      <guid>https://ivonblog.com/ja-jp/posts/iphone-6-postmarketos/</guid>
      
      <description>&lt;!-- Co-translated by ChatGPT --&gt;&#xA;&lt;p&gt;iOSデバイスでLinuxシステムを動かす試みについては、以前&lt;a href=&#34;https://ivonblog.com/posts/ios-ish-shell/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;iSH Shell Terminal&lt;/a&gt;と&lt;a href=&#34;https://ivonblog.com/posts/ios-utm-alpine-linux-vm/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;UTM VM&lt;/a&gt;のやり方を取り上げました。今回は、iPhoneへ直接Linuxシステムを入れることを試します。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;1. 背景&#xA;    &lt;div id=&#34;1-背景&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#1-%e8%83%8c%e6%99%af&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;checkm8はAppleにとって近年最大級の脆弱性と言えます。checkra1nソフトウェアと組み合わせることで、起動前に脱獄操作を完了できます。2020年には、すごい人がProject Sandcastleを立ち上げ、iPhone 7でAndroid 10を動かすことに成功しました。作者はLinux kernelの移植にも着手し、Appleに訴えられかけたにもかかわらず、このプロジェクトは今も開発が続いています。&lt;/p&gt;</description>
      <content:encoded>&lt;!-- Co-translated by ChatGPT --&gt;&#xA;&lt;p&gt;iOSデバイスでLinuxシステムを動かす試みについては、以前&lt;a href=&#34;https://ivonblog.com/posts/ios-ish-shell/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;iSH Shell Terminal&lt;/a&gt;と&lt;a href=&#34;https://ivonblog.com/posts/ios-utm-alpine-linux-vm/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;UTM VM&lt;/a&gt;のやり方を取り上げました。今回は、iPhoneへ直接Linuxシステムを入れることを試します。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;1. 背景&#xA;    &lt;div id=&#34;1-背景&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#1-%e8%83%8c%e6%99%af&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;checkm8はAppleにとって近年最大級の脆弱性と言えます。checkra1nソフトウェアと組み合わせることで、起動前に脱獄操作を完了できます。2020年には、すごい人がProject Sandcastleを立ち上げ、iPhone 7でAndroid 10を動かすことに成功しました。作者はLinux kernelの移植にも着手し、Appleに訴えられかけたにもかかわらず、このプロジェクトは今も開発が続いています。&lt;/p&gt;&#xA;&lt;p&gt;最近ではLineageOSの移植版も開発されています。たとえば&lt;a href=&#34;https://github.com/LineageOS/android_device_apple_snowcastle&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Android device tree for &amp;ldquo;snowcastle&amp;rdquo;&lt;/a&gt;は、対応するiPhoneで最新のAndroid 16を動かせます。&lt;/p&gt;&#xA;&lt;p&gt;数年後、さらに多くの開発者が他のiPhone上でLinuxを動かそうと試みました。checkm8が依存する脆弱性はA7 ~ A11チップにしか対応していません。つまりiPhone 5S ~ iPhone Xのデバイスです。それより古いもの、あるいは新しいものはどちらも無理です。&lt;/p&gt;&#xA;&lt;p&gt;理想的には、iPhone 7が現在比較的状態のよいデバイスです。AFPSにpostmarketOSをマウントして起動でき、さらにはWaylandを動かせるようにした開発者までいます。残念ながら僕はこの機種を持っていません。&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/iphone-6-postmarketos/images/70ee4748eef92335554a6c2cad052a8d.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;僕の手元にはcheckm8に対応する古いiOSデバイスが2台あります。iPhone SE (iOS 15)とiPod touch 6 (iOS 12)です。ネット上にはLinuxの起動に成功した事例が多くありますが、彼らのiOSバージョンは書かれていません。iOS 15以上ではpalera1nでしか脱獄できず、&lt;code&gt;palera1n -p -f&lt;/code&gt;コマンドでpongoOS Shellを起動する必要がありますが、僕が試したところ別の問題がありました。そこでiPod touch 6を使ってテストします。この機種のプロセッサはiPhone 6に近いので、理論上はいけるはずです。&lt;/p&gt;&#xA;&lt;p&gt;では、どうやってLinuxを動かすのか？まずcheckra1nでpongoOS Shellに入り、そこからLinuxの起動を誘導します。&lt;/p&gt;&#xA;&lt;p&gt;どのLinuxディストリビューションを選ぶのか？RedditではUbuntuをコンパイルして起動した人がいて、TwitterでもAsahi Linuxを動かした人がいます（文末の参考資料を参照）。ただ、postmarketOS Wikiには成功写真がより多く載っており、このコミュニティはLinuxモバイルデバイスの話題に比較的関心があるので、このディストリビューションをベースに試します。&lt;/p&gt;&#xA;&lt;p&gt;その後の方法は2つあります。1つ目はLinuxをramdiskとしてコンパイルして起動する方法で、再起動するとデータは消えます。&lt;/p&gt;&#xA;&lt;p&gt;2つ目は&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/postmarketos-netboot/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;pmbootstrap Netboot &lt;/a&gt;を使ってネットワークブートする方法です。再起動後もデータはやはり消えますが、rootfsはPC側に残ります。&lt;/p&gt;&#xA;&lt;p&gt;うん、なので厳密に言えば、これらはどれもiPhoneへLinuxシステムを本当に「インストール」しているわけではありません。システムはiPhoneのディスクに実際には書き込まれず、一時的にLinuxで起動しているだけです。現状どの方法でも、Linuxへ起動するにはPCによる誘導に依存する必要があります。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;2. 準備するもの&#xA;    &lt;div id=&#34;2-準備するもの&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#2-%e6%ba%96%e5%82%99%e3%81%99%e3%82%8b%e3%82%82%e3%81%ae&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;LinuxまたはMacのPC。僕はUbuntu 24.04を使いました&lt;/li&gt;&#xA;&lt;li&gt;checkra1nに対応するiOSデバイス。つまりA7 ~ A11チップ、iPhone 5S ~ iPhone Xのデバイスです。僕はiPod touch 6を使い、システムバージョンはiOS 12.5.7です。&lt;/li&gt;&#xA;&lt;li&gt;Lightning to USB OTGアダプタ、マウスとキーボード。Linuxにはタッチドライバがないため、iPhone起動後はキーボードとマウスで操作する必要があります。SSHコマンドでX11を操作するのに慣れているなら、なくてもまあ構いません。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;3. pongoOSをコンパイルする&#xA;    &lt;div id=&#34;3-pongoosをコンパイルする&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#3-pongoos%e3%82%92%e3%82%b3%e3%83%b3%e3%83%91%e3%82%a4%e3%83%ab%e3%81%99%e3%82%8b&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;pongoOSはiOS XNU kernelを読み込む前に実行されるプログラムです。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;pongoOSをコンパイルする前に、checkr1anに依存します。（paler1anではpongoOSをコンパイルする必要はありません）&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://checkra.in/releases/#all-downloads&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;公式サイト&lt;/a&gt;からcheckra1n実行ファイルをダウンロードし、システムディレクトリへ入れます&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wget https://assets.checkra.in/downloads/linux/cli/x86_64/dac9968939ea6e6bfbdedeb41d7e2579c4711dc2c5083f91dced66ca397dc51d/checkra1n&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo mv checkra1n /usr/bin/&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;LinuxにClang 11をインストールします&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install clang-11 xdd&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;4&#34;&gt;&#xA;&lt;li&gt;checkra1nのパッケージリポジトリからld64とcctools-stripをインストールします。他のディストリビューションでは、新しいClang向けに手動でコンパイルする必要があります。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;deb https://assets.checkra.in/debian /&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; sudo tee /etc/apt/sources.list.d/checkra1n.list&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt-key adv --fetch-keys https://assets.checkra.in/debian/archive.key&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt update&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install ld64 cctools-strip&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;5&#34;&gt;&#xA;&lt;li&gt;pongoOSのソースコードを取得してコンパイルします。konradybcioのforkを使います。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone https://github.com/konradybcio/pongoOS&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; pongoOS&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;LD_LIBRARY_PATH&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;/usr/lib/llvm-11/lib/&amp;#34;&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;EMBEDDED_CC&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;/usr/bin/clang-11&amp;#34;&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;EMBEDDED_LDFLAGS&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;-fuse-ld&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;/usr/bin/ld64 &lt;span class=&#34;nv&#34;&gt;STRIP&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;cctools-strip make all&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;注：pongoOSのソースコードは長らく更新されていないため、コンパイルに失敗することがあります。macOS仮想マシンでコンパイルしてもよいです。以下はmacOS VenturaでXcodeを使ってコンパイルするコマンドです：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;xcode-select --install&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone https://github.com/konradybcio/pongoOS&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; pongoOS&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;make all&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;最終的に&lt;code&gt;build/Pongo.bin&lt;/code&gt;が得られます。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;4. Linux kernelをコンパイルする&#xA;    &lt;div id=&#34;4-linux-kernelをコンパイルする&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#4-linux-kernel%e3%82%92%e3%82%b3%e3%83%b3%e3%83%91%e3%82%a4%e3%83%ab%e3%81%99%e3%82%8b&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;コンパイル依存パッケージをインストールします&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install build-essential clang  libncurses5 flex git bc bison&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;konradybcioが提供するlinux-apple kernelソースコードを取得します&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone https://github.com/konradybcio/linux-apple&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; linux-apple&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;SoMainlineが提供するdefconfigを取得します&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wget https://raw.githubusercontent.com/SoMainline/linux-apple-resources/master/example.config -O ./.config&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;4&#34;&gt;&#xA;&lt;li&gt;PAGESIZEを調整します&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;make &lt;span class=&#34;nv&#34;&gt;ARCH&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;arm64 &lt;span class=&#34;nv&#34;&gt;LLVM&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; menuconfig&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;5&#34;&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;/&lt;/code&gt;を押して検索し、&lt;code&gt;_PAGE&lt;/code&gt;と入力して1を押します&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;PAGESIZEは、A8プロセッサなら4K、A9プロセッサ以上なら16Kに設定します。その後Exitを押して、.configを保存します。&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/iphone-6-postmarketos/images/Screenshot_20241004_215131.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;kernelをコンパイルします&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;make &lt;span class=&#34;nv&#34;&gt;ARCH&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;arm64 &lt;span class=&#34;nv&#34;&gt;LLVM&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; -j&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;nproc&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; Image.lzma dtbs&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;8&#34;&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;最終的に&lt;code&gt;arch/arm64/boot/Image.lzma&lt;/code&gt;が得られます&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;dtbpackスクリプトを取得し、Linux kernelのあるディレクトリへ置きます&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wget https://raw.githubusercontent.com/SoMainline/linux-apple-resources/master/dtbpack.sh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;chmod +x dtbpack.sh&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;10&#34;&gt;&#xA;&lt;li&gt;dtbpackを生成します&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./dtbpack.sh&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;5. postmarketOSのrootfsをコンパイルする&#xA;    &lt;div id=&#34;5-postmarketosのrootfsをコンパイルする&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#5-postmarketos%e3%81%aerootfs%e3%82%92%e3%82%b3%e3%83%b3%e3%83%91%e3%82%a4%e3%83%ab%e3%81%99%e3%82%8b&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://ivonblog.com/posts/postmarketos-general-installation/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;pmbootstrap&lt;/a&gt;をインストールします&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;初期化します。機種はapple-iphone6を選びます。デスクトップ環境はxfce4を選びます。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pmbootstrap init&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;rootfsを作成します&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pmbootstrap install&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;6. Linuxへ起動する&#xA;    &lt;div id=&#34;6-linuxへ起動する&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#6-linux%e3%81%b8%e8%b5%b7%e5%8b%95%e3%81%99%e3%82%8b&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://ivonblog.com/posts/linux-access-ios-files/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;libimobiledevice&lt;/a&gt;を設定し、LinuxがiPhoneを認識できることを確認します。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;iPhoneをPCに接続し、手動でDFUモードに入ります：電源を切り、5秒待ちます。電源ボタンを3秒押し続け、続いて電源ボタン＋Homeボタンを10秒押し、それから電源ボタンを離してHomeボタンを押し続けます。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;DFUに入ったことを確認したら、pongoOSソースコードのディレクトリで端末を開き、checkra1nでpongoOS Shellへ入ります&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; pongoOS&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo checkra1n -v -V -p -c -k ./build/Pongo.bin&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;4&#34;&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;この時点でiOSデバイスの画面にpongoOS Shellが表示されます&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/iphone-6-postmarketos/images/20241005_115452.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;postmarketOSのnetbootを起動します&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pmbootstrap initfs hook_add netboot&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pmbootstrap export&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;6&#34;&gt;&#xA;&lt;li&gt;LinuxのinitramfsをiOSデバイスへ転送します&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; pongoOS&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;python3 scripts/load_linux.py -k &lt;span class=&#34;s2&#34;&gt;&amp;#34;linux-apple核心目錄/arch/arm64/boot/Image.lzma&amp;#34;&lt;/span&gt; -d &lt;span class=&#34;s2&#34;&gt;&amp;#34;linux-apple核心目錄/dtbpack&amp;#34;&lt;/span&gt; -r /tmp/postmarketOS-export/initramfs&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;7&#34;&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Linuxの起動を待ちます&amp;hellip;結果はkernel panic。クソ。&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/iphone-6-postmarketos/images/Screenshot_20241005-220705.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;正常に起動する場合は、さらにNetbootのrootfsを送れば、Linuxシステムへ入れます。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pmbootstrap netboot serve&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ssh user@172.16.42.1&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;7. まとめ&#xA;    &lt;div id=&#34;7-まとめ&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#7-%e3%81%be%e3%81%a8%e3%82%81&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;毎回こういうことをやるたびに、この曲を思い出します。It&amp;rsquo;s all a waste of time again.&#xA;&#xA;&#xA;&#xA;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; overflow: hidden;&#34;&gt;&#xA;    &lt;iframe style=&#34;position: absolute; width: 100%; height: 100%;&#34;&#xA;        src=&#34;http://www.youtube.com/embed/rIjW7wKzU7s&#34; allowfullscreen frameborder=&#34;0&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/iframe&gt;&#xA;&lt;/div&gt;&lt;/p&gt;&#xA;&lt;p&gt;現時点では実用性はありません。ドライバ対応が悪いAndroid機に無理やりpostmarketOSを焼くようなものです。最大の問題はやはりドライバの対応状況が悪いこと。&lt;a href=&#34;https://github.com/SoMainline/linux-apple-resources&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;SoMainline提供的表格&lt;/a&gt;を見ればわかりますが、ほぼすべてのハードウェア機能にバツが付いています。&lt;/p&gt;&#xA;&lt;p&gt;それに、Appleデバイスのドライバをいったい誰がリバースエンジニアリングできるのでしょうか？Asahi Linuxのような熱意ある開発者はいるのでしょうか？しかもLinuxの起動自体、まだハードウェア脆弱性頼みです。&lt;/p&gt;&#xA;&lt;p&gt;起動していくつかLinuxプログラムを動かせる以外、発展性はあまりありません。&lt;/p&gt;&#xA;&lt;p&gt;より現実的な戦略としては、iOSデバイス上でJITアクセラレーション付きのUTM仮想マシンを動かし、その中でLinux仮想マシンを走らせるほうが実用的かもしれません。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;参考資料&#xA;    &lt;div id=&#34;参考資料&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e5%8f%82%e8%80%83%e8%b3%87%e6%96%99&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/SoMainline/linux-apple-resources&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Resources for Linux on checkm8able iDevices - Github&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://wiki.postmarketos.org/wiki/Apple_iPhone_6_%28apple-iphone6%29&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Apple iPhone 6 (apple-iphone6) - postmarketOS Wiki&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://project-insanity.org/2020/04/16/running-postmarketos-on-iphone-7/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Running postmarketOS on iPhone 7 - project-insanity.org&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://project-insanity.org/2020/04/22/linux-with-wayland-is-now-running-on-iphone-7/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Linux with Wayland is now running on iPhone 7 - project-insanity.org&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.reddit.com/r/linux/comments/kvmsfd/success_iphone_7_booting_ubuntu_2004_to_full/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;SUCCESS: iPhone 7 booting Ubuntu 20.04 to full gnome-shell desktop GUI - Reddit&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://x.com/konradybcio/status/1531963130934329344&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Linux on iPad Air 2 - Twitter&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</content:encoded>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ivonblog.com/ja-jp/posts/iphone-6-postmarketos/featured.webp" />
    </item>
    
  </channel>
</rss>
