Puppy Linux は使いやすさと最小限のメモリフットプリントに重点を置いた軽量 Linux ディストリビューションファミリーです。システムは RAM から実行されます。現在のバージョンでは約 600MB (64bit) / 300MB (32bit) を占有します。また OS が起動した後にブートメディアを取り外すことができます。
Puppy Linux には不思議な魅力があります。エンタープライズ用途でも使われている RHEL や Ubuntu、Debian などと比べると、Puppy Linux の扱い方はとてもユニークです。Linux をずっと使っている自分のような者にとっては、むかしむかしの Slackware に JE を適用して嬉々としていたあの頃を彷彿させる雰囲気が残っています。しかし、だからといって Puppy Linux が古くさいと言いたいのではありません。
S15Pup64 のデスクトップ画面
Puppy Linux はコミュニティの努力で今も開発が続けられており、独自の進化を続けている Linux です。
自分はまだ Puppy Linux を使いこなせているとはとても言えません。知らないことばかりなので、「Linux ディストロ探訪」のページに Puppy Linux のカテゴリを加え、少しずつ知り得た情報をまとめています。とりあえずは、一枚の USB メモリーで完結している Puppy Linux を試す方法を、なるべく丁寧にまとめました。
Puppy Linux は、メモリ (RAM) 上にシステムを展開して稼働する Linux です。そのため、HDD などのストレージがなくとも運用することができます。CD-ROM や USB メモリに Puppy Linux のイメージを書き込んでおいて、Live Linux として利用することができますが、マウント可能で読み書きできる領域があれば、そこに使用時の変更情報をシャットダウン時に保存することができます。
Puppy Linux のサイト [2] から FossaPup64 9.5 の iso イメージ fossapup64-9.5.iso をダウンロードします。
Rufus の利用
Rufus[3] を使って、ダウンロードした iso イメージを USB メモリに書き込みます。以前、Rufus で Puppy Linux の iso イメージを書き込んだところ、うまく起動できずに難儀しました[4]。今回は次のように「DDイメージモードで書き込む」を選択して、USB メモリにイメージを書き込みました。
まず Rufus を起動します。
「デバイス」にイメージを書き込む USB メモリのドライブを指定、「ブートの種類」にダウンロードした iso イメージ fossapup64-9.5.iso を選択します。
スタート ボタンをクリックして次に進みます。
「ISO イメージモード」で書き込むことが推奨となっていますが、ダウンロードした iso ファイルがハイブリッド ISO 形式ということが気にかかるので、敢えて「DD イメージモード」を選んでそっくりコピーすることにします。
OK ボタンをクリックして次に進みます。
OK ボタンをクリックして書き込み処理を開始します。
閉じる ボタンをクリックして Rufus を終了します。
イメージを書き込んだ USB メモリは、そのまま起動確認をしますにで、抜かずにそのままにしておきます。
ファームウェアの設定の「Boot」タブで、イメージを書き込んだ USB メモリから起動するように、「FIXED BOOT ORDER Priorities」の「Boot Option #1」に USB メモリを指定して「Save & Exit」タブで「Save Changes and Exit」を選んで設定を保存して再起動します。
イメージを書き込んだ USB メモリを、評価用 PC の USB ポートに挿して起動すると、下記のように puppy_bionicpup64_8.0.sfs が見つかられないというエラーで Puppy Linux の起動に失敗します。
*** /puppy_bionicpup64_8.0.sfs not found. で起動に失敗
2. の Fedora Media Writer で書き込んだ場合も、Puppy Linux 起動の成功率は低いです。3. の Rufus で書き込んだ場合ですら成功率は 100% ではありませんでした。手持ちの USB メモリをとっかえひっかえ試しているうちに判ってきました。
同じブランドの USB メモリを使って、同じように書き込みをして、同じ環境 (PC) で試しても、同じ結果にならないことに苛立ちます。
一方で、Puppy Linux の起動に成功した USB メモリは、手持ちの PC のどれでも問題なく起動できます。この違いはどこから来るのか謎です。USB メモリはブランドや表示容量が同じでも、NAND チップの性能、容量が微妙に異なったりするものですが、インストールイメージを書き込んで、挙動に違いが出て困るということは今までありませんでした。「Puppy Linux 愛」があれば徹底的に問題を解析して、確実はな起動シーケンスの提案をするべきなのでしょうが、そういうガッツはありません。😓
幸運にも Puppy Linxu の起動に成功している USB メモリがありますので、次のアプローチとして、これをそっくりそのままコピーして使えるかどうか試してみることにします。
Puppy Linux は、メモリ (RAM) 上にシステムを展開して稼働する Linux です。そのため、HDD などのストレージがなくとも運用することができます。CD-ROM や USB メモリに Puppy Linux のイメージを書き込んでおいて、Live Linux として利用することができますが、マウント可能で読み書きできる領域があれば、そこに使用時の変更情報をシャットダウン時に保存することができます。
Puppy Linux は、Woof-CE (woof-Community Edition)[1][2] というビルドツールを用いて、Ubuntu, Debian および Slackware から生成されています。つまり Puppy Linux とは(ちょっと強引ですが)Woof-CE で生成された Linux ディストロの総称といえましょう。公式に配布されているパッケージには、ベースにしたディストリビューション名やコードネームを取って、BionicPup (Ubuntu 18.04 LTS, Bionic)、Slacko Puppy (Slackware) などと名付けられています。
インテル CPU 向けには 32bit 版 (x86) と 64bit 版 (x86_64) が利用可能で、64bit 版には名前に 64 が付加されています。Raspberry Pi (armhf 32-bit) 向けの Raspberry Pi OS (Raspbian Buster) をベースにした Raspup も利用可能です。
本ブログ記事作成時点で Puppy Linux のプロジェクトサイト [3] に掲載されている Puppy Linux のパッケージは以下の通りです。
Puppy Linux は、他の Linux ディストロのようにストレージへのインストール処理をせずに、CD-R や USB メモリへイメージを書き込んですぐに起動、利用することができます。ここでは USB メモリに Puppy Linux, BionicPup64 8.0 を書き込んで利用する方法を紹介します。
USB メモリの余った領域を ext3 形式で確保して嬉しいと思うのは Linux ユーザーだけかもしれません。セッションの情報を保存する方法はこれだけではありません。ふだん Windows しか使わず、とりあえず Puppy Linux を試してみたいという方は、このような設定をしなくとも問題ありません。
GParted でパーティションを確認
Rufus でイメージを書き込んだ後、Fedora 上の GParted を使って USB メモリのパーティションを確認しました。
以下のような "First shutdown: save session" のダイアログが表示されます。SAVE ボタンをクリックしてセッションを保存するオプションの設定に進みます。
First shutdown: save session
First shutdown: ask finn
"First shutdown: ask finn" というダイアログ画面に代わります。
Puppy Linux は、シングルユーザ向けの Linux でログインせずにいきなりデスクトップ画面になりますが、アカウントは管理者権限を持った、いわゆる "root" で操作しています。管理者権限は、全てへのアクセスや変更ができるでので、もう少し権限が低いアカウントを使いたい場合は "finn" というアカウントを使用することができる、というオプションです。
First shutdown: ask finn
なぜ、このような機能があるかというと、複数のユーザーがそれぞれ Puppy Linux の USB メモリで、同じ PC を共有して使い、しかもセッションの保存先がその PC である場合は、保存ファイルを区別するためにパスワードで管理する必要があります。こういうケースをなどを想定して、ユーザーアカウントのアクセス権限を下げるオプションを用意しているようです。
Puppy Linux は PC のメモリ (RAM) 上にシステムをコピーして稼働するので、稼働中は起動に使用した USB メモリなどのメモリを外すことができます。もし外していれば、このタイミングで挿入してくださいというメッセージです。あと、セッションの保存先を Windows の ntfs 形式にファイルシステム上に保存する場合は、事前にデフラグをしておいて下さいというメッセージが上に赤字で表示されています。
First shutdown: get ready
ここではこのまま Continue ボタンをクリックして次へ進みます。
First shutdown: choose partition
"First shutdown: choose partition" の画面になります。
ここで、セッションの保存先を選択します。保存可能先は、使用している PC によって異なります。PC のハードディスクあるいは SSD が一つしかなければ、それは sda1, sda2 などとなります。 数字はパーティションの何番目かを表しています。