Help us understand the problem. What is going on with this article?

Pi-topで普通のRaspbianを使う

2020年4月23日追記

本ページにあるgpgキーを使う方法だと,キーの有効期限が2020-04-17までなので,
期限以降にsudo apt updateするとエラーになってしまいます.

gpgキーの取得
$ wget http://apt.pi-top.com/apt.pi-top.com.gpg.key
$ sudo apt-key add apt.pi-top.com.gpg.key

上のコマンドでキーの取得/追加を行っても変化がありません...
解決法を探し中です.

pi-top OSは「Polaris」から「Sirius」に代わっているので,その辺りの影響だと思われます.

はじめに

Raspberry Piをラップトップ型PCにしてくれるキット「pi-top」。
公式のRaspbianを教育用にカスタマイズした「pi-topOS」が使われているのですが、
このOSが実にイケてない。

  • 起動時に全画面スプラッシュを出すが、既にOSは起動完了しているのに無駄に時間だけ食っている。
  • Dashboardという、アプリのランチャーが最初に起動する。日本語対応せず。
  • CEED Universeという、教育用(だがあまり面白くない)ゲームが入っている。日本語対応せず。
  • 通常のデスクトップ画面には、Dashboardから[Desktop]をクリックして移動。
  • ターミナルが小さいウィンドウで開かず、必ず最大化で起動する。邪魔。

とまあ、イラつく要素がたくさんあります。
しかし、pi-topOSのメリットも重要。

  • シャットダウンすると自動で電源を切ってくれる。(手動でも電源ボタン長押しすれば切れる)
  • 音量・輝度・ファイルマネージャ・端末の起動キーが使える。(CEEDにはキーボードが無いが)
  • 3D slashというボクセルのCGエディタは子供用にちょっと良さげ。

というわけで、
「pi-topOSは使いたくないけど、電源や特殊キーのために改変して使う」(本ページ末尾にその方法も記載)
という状況を打開し、
「公式Raspbianをpi-topハードに適応させて快適に使う」
としたいので、備忘録も兼ねて本ページを作りました。

概要

作業内容は、
「公式Raspbianにpi-topOSのaptリポジトリを追加し、必要なソフトウェアをインストールする」
となります。
Linuxのシステム管理では比較的簡単な部類ではないかと思われます。

ハードウェア構成

おそらく全てのpi-topシリーズで動作します。

動作確認済み機種
- pi-top V1
- pi-top CEED

準備するもの

  • 公式Raspbian stretchの入ったマイクロSDカード ダウンロード 2018-06-27-raspbian-stretch.zip
     今後継続して使用していくものなので、16GBなどのメイン用のカードを使います。
     既に使用中のRaspbianに対して操作しても構わないのですが、新しいイメージで作業を実施したほうが上手くいく気がします。

  • pi-top公式OSの入ったマイクロSDカード ダウンロード pi-topOS-2018-07-09.zip
     リポジトリ情報を取り出すためだけに一時的に使用します。4GB程度のカードで十分です。
     作業が終わったらフォーマットしてかまいません。

  • USB接続のマイクロSDカードリーダー

  • Win32DiskImagerやEtcherなどのイメージ書き込みソフト
     USBカードリーダーとイメージ書き込みソフトを使って、
     上記の公式Raspbianとpi-topOSのイメージをマイクロSDカードに書き込んでおきましょう。
     公式RaspbianのSDカードでRaspberry Piを起動した後は、
     pi-topOSのSDカードはカードリーダーに挿してRaspberry PiのUSBポートに挿しておきます。

aptのリポジトリ・暗号鍵のコピー

debian系のパッケージマネージャ "apt"。
aptのリポジトリ情報やGPG暗号鍵の置き場所は/etc/apt/以下です。

コピー元 pi-topOSのフォルダ構成

/etc/apt/
/etc/apt/trusted.gpg <-この暗号鍵ファイルをRaspbianにコピー
/etc/apt/apt.conf.d/
/etc/apt/preferences.d/
/etc/apt/sources.list.d/
/etc/apt/trusted.gpg.d/
/etc/apt/sources.list.d/pi-top.list <- このソースリストをRaspbianにコピー

コピー先 公式Raspbianのフォルダ構成

/etc/apt/
/etc/apt/trusted.gpg  <-間違えてここに上書きしないよう注意!
/etc/apt/apt.conf.d/
/etc/apt/preferences.d/
/etc/apt/trusted.gpg.d/ <-この中にtrusted.gpgをコピー
/etc/apt/sources.list.d/ <- この中にpi-top.listをコピー

"pi-top.list"と"trusted.gpg”の2つのファイルをフォルダにpi-topOSに入っていたファイルをコピーし、apt-get updateしてリストを更新すれば、pi-top関連のソフトがインストールできるようになります。
(今後のためにも、この2ファイルをUSBメモリなどに保存しておくと良いかもしれません)

/etc/以下へのコピーなので、当然ですがsudo権限が必要です。

例: pi-topOSのSDカードをUSBカードリーダーでRaspberry Piに挿し、/media/piにマウントされた場合

$sudo cp /media/pi/rootfs/etc/apt/sources.list.d/pi-top.list /etc/apt/sources.list.d/
$sudo cp /media/pi/rootfs/etc/apt/trusted.gpg /etc/apt/trusted.gpg.d/

インストール手順

aptの作業

まずはapt updateでリポジトリのリストを更新します。
upgradeはしません。というのは、初回起動時のRaspbianは更新情報がたくさんあり、
何百もの更新に時間がかかるからです。

$sudo apt update

次に、pi-topのシャットダウンやキーボードショートカットを司るソフトをインストールします。

$sudo apt install pt-hub

SPI,I2Cの有効化

raspi-config、あるいはスタートメニューから[設定]-[Raspberry Piの設定]を使って、インターフェイスの「SPI」「I2C」を有効にしておきます。
pt-hubのインストールで自動的にI2Cは有効になるのですが、SPIは手動で有効にしないといけません。

aptの作業2

イメージを焼いて起動したばかりの新品Raspbianの場合、全くアップデートしていないので多くのアプリケーションが古くなっています。
apt upgradeしないとpt-hubも正常に動作しませんでした。

※注意:
 upgradeの前に、不要なアプリケーションはアンイストールしておいた方が良いかもしれません。
 特にMathematica(wolfram-engine)やLibreOfficeなどはupgradeに多くの時間がかかります。
 これらをアンインストールすると1GB近く容量が空きます。

 以下は筆者がいつも使用しているコマンド例です。scratchやマイクラなども削除しています。

$sudo apt autoremove -y     scratch nuscratch scratch2 \
                sonic-pi \
                wolfram-engine \
                bluej \
                greenfoot \
                python3-thonny \
                dillo \
                netsurf-common netsurf-gtk \
                epiphany-browser epiphany-browser-data \
                minecraft-pi python-picraft \
                claws-mail \
                libreoffice libreoffice-*

不要アプリケーションを削除して軽くなったところで、最終的なupgradeを実施します。

$sudo apt upgrade

全ての作業が終わったら再起動します。

動作確認

スタートメニューから[shutdown]をクリックし、shutdownを選択してシャットダウンします。
あるいはターミナルから以下を打ち込んでシャットダウンします。

$sudo shutdown -h now

うまくpt-hubが効いていれば、シャットダウン後に電源LEDも消灯して電源が切れるはずです。
設定がうまくいっていないとkernelパニックになって止まってしまうことが多々あります。

ボリュームや輝度のキーも押して、正常に動作するか確認しておきましょう。

コツとしては、「pt-hubをインストールしてからapt upgrade」だと思われます。
先にapt upgradeをしてしまうと動作しないことが多いです。

今後の展開

pi-topOS側の設定やバージョンが変わる都度、このページも更新しないといけませんね。

余談:pi-topOSをRaspbian風に戻す方法

上記作業とは逆に、pi-topOSから不要アプリケーションを削除して公式Raspbianに近づける方法です。
(あくまで近づけるだけ、ですが)

pi-topOSのDesktop、スタートメニューにある[設定]-[Add/Remove Software]を使って
pt-splashscreen,pt-os-dashboard,ceed-universe
をremoveすれば問題の大半は解決できます。(pi-topのpiユーザ初期パスワードはpi-top)
ターミナルの最大化問題は、
/home/pi/.config/openbox/lxde-pt-rc.xmlの末尾に書かれたmaximizedタグの中身をyesからnoに書き換えます。

とはいえ、デザインが色々といじられているので、完全にRaspbianの初期状態と同じになるわけではありません。

hsgucci
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away