Qbilinux 日記

Linux に関係することだけではなく,最近は一般的なコンピュータやガジェット関係についても記載してます.

ラズパイ版 Plamo Linux のちょっとした紹介と Plamo Linux の野良パッケージ作成(その25)

ぼちぼちと Plamo のソース一式を修正して,野良パッケージ (野良ディストリビューション?) を作成

いつまで続くのか.

少し気分転換的作業.

ラズパイ用のバイナリを作ってみたらどうかなとふと思い立ち,Plamo のラズパイ用の環境で野良環境のスクリプトを使って少しだけパッケージビルド作業をしてみました.

ラズパイ版の Plamo Linuxhttp://repository.plamolinux.org/isos/plamo-6.2_arm_sd.img にイメージが,http://repository.plamolinux.org/isos/plamo-6.2_arm_sd.install_guide に説明があります.Plamo の場合には raspbian とは違って,img ファイルはインストーラー形式になっていて,自分で micro SD なり USB HDD なりにインストールする必要があります.現状はラズパイ2でしか動作しません.

インストール方法は x86/x86_64 と同じですが,PC に比べてメディア速度や CPU 速度が遅いためインストールには結構時間がかかります.

ということで,手元で作った実行イメージを ftp://plamo.linet.gr.jp/pub/Plamo-test/plamo-6.2-arm-20170212.img.xz に転がしてあります.一応,リリース前にメンテナー向けに作成した非公式なものです.このファイルを使えば楽に実行できるかなとは思います.

あ,公式 img ではなく,この blog を読んでこっちの実行イメージを使う人が居るかもしれないので簡単ですけどちょっと詳しい説明を書いておきます.

このファイルは公式に配布されているインストーラーを使って micro SD にインストールしたイメージになります.micro SD は 4GB 以上のものを想定しています.ただし,バイナリ類は 6.2 リリース前の少し古い物を使っています.実際に使う場合には Plamo Linux が立ち上がった後にネットワークにつないで get_pkginfo コマンド等を使って最新バージョンにアップデートした方がいいでしょう.

実行方法ですが,このファイルを適当な PC でダウンロードしてから xz で解凍します.その後. img ファイルを

% dd if=plamo-6.2-arm-20170212.img of=/dev/mmcblk0

などで micro SD に書き込みます.その micro SD をラズパイ2に入れて電源を入れれば Plamo Linux が動作するようになっています.dd コマンドが使えない環境の場合には何か適当なイメージ書き込みツールを使ってください.Windows だと http://www.si-linux.co.jp/techinfo/index.php?DD%20for%20Windows 辺りですかね.また,of のデバイス名も適宜修正してください.デバイス名を間違えると HDD などを設定してしまうとディスク内容を飛ばしてしまう危険性がありますので十分注意してください.

実行イメージのパーティションは 2 つに切ってあって,1 が vfat で公式に配布されている Plamo のインストールイメージを少しだけ変更した物が入っています.2 が ext4 で実際にインストールを行ったイメージが入っています.

デフォルトでは ext4 にインストールされた Plamo Linux が立ち上がりますが,vfat 上の cmdline-inst.txt, config-inst.txt, kernel7-inst.img を cmdline.txt, config.txt, kernel7.img にコピーしてブートすればインストーラーを立ち上げることも出来ます.その際には元々の cmdline.txt, config.txt, kernel7.img は別ファイルにバックアップしておいた方が良いかと思います.そのインストーラーを使って,外付けの HDD などにインストールすることも可能です.インストールの際の詳細は Plamo の説明 (http://repository.plamolinux.org/isos/plamo-6.2_arm_sd.install_guide) を参考にしてください.

実行イメージでの設定は下記になっています.

root パスワード: passwd
ホスト名: plamo
ネットワーク: dhcp
ネームサーバー: 設定なし

です.必要であれば適宜設定修正してください.root 以外のユーザーアカウントは作成してませんので,必要であれば adduser コマンドで作成してください.

4GB 以上の大容量 micro SD を使う場合には 2 の ext4 領域を広げると便利になるかと思います.Linux の場合,dd コマンドを使って img を書き込んだ後,

% parted /dev/mmcblk0

を実行して

p free

で空き容量確認.

reseizepart

で 2 を適当に広げたあと q で終了.その後,

% e2fsck -f /dev/mmcblk0p2

でチェックした後に

% resize2fs /dev/mmcblk0p2

ext4 が拡張できます.上記は GNU parted を使ってパーティション操作している例です.dd コマンド実行時と同様に,デバイス名は各自の環境に合わせて変更してください.このパーティション拡張はあくまで例です.元々の ext4 はそのまま使って,別途,swap や /home を切るなど好きに作り直してください.swap や home パーティションを追加した場合には /etc/fstab などに設定が必要になりますね.

まぁ,ざっと使い方はこんな感じかな.

話戻して,ラズパイ用の Plamo Linux 環境を構築して,とりあえず gcc から差し替えようかとビルドしてみたらビルドに相当時間がかかりますね.半日くらいかな.そんなこんなで開発環境のビルドがとりあえず終了.その次は glibc かなとビルドして差し替えた瞬間,いろんなコマンドが動かなくなりました.まぁ,そうなるかなぁと思って「えいや」でやったらやっぱりそうなったね.ふう.

こういうときのために,上述の img があるので,それを micro SD に書き戻すことで,一瞬(でもないけど)で復旧しました.で,再び開発環境を入れ替えて,glibc も注意深く差し替え終了.順次,全てのパッケージビルド中.

ビルドスクリプトを流して1日くらい待って,log を見ながら少し調整してまた流してしばらく放置って感じのことを繰り返しています.

どれくらい時間かかるかちょっと不明ですけど,まぁ,落ち着いた状況になった頃には公開したいなとは思って居ます.ビルドスクリプトですが,-m86 とかが指定されている物は少し修正しないとダメですけど,ほとんどは共通に使えそうですね.X 周りとかはラズパイ用にドライバ設定などを修正する必要がありそうかな.

えーっと,いろんな物を入れ替えた瞬間,なぜか static ビルドされた bash とか installer で使っている sh (/usr/sbin/installer/sh) が seg. fault で実行できなくなってしまうって状況も発生して,相当焦ったのはご愛敬.:-)

まぁ,ラズパイ版の Plamo Linux の紹介もかねて少し書いてみました.ラズパイ2 が手元に余ってて興味のある方は試してみてはいかがでしょうか.はい.

Raspberry Pi 2 Model B
Raspberry Pi
Raspberry Pi
Raspberry Pi 3 MODEL B 【RS正規流通品】
Raspberry Pi
Raspberry Pi