openSUSE:Raspberry Pi
目次
- 1 一般的な情報
- 2 RPi のハードウエアと基本的な設定
- 3 openSuSE での RPi 利用例
- 4 RPi のトラブルシューティング
一般的な情報
一般的な情報は、下記のような Web サイトなどから取得することができます:
raspberrypi.org のホームページ
http://www.raspberrypi.org/faqs にある RPI FAQ ページが最も有用でしょう。
ARM メーリングリスト、および IRC チャット
openSUSE ARM メーリングリスト (英語) にご参加ください:
そのほか、 irc://irc.freenode.net/opensuse-arm で提供されている #openSUSE-arm IRC チャンネル (英語) で質問や支援を求めることもできます。
また、現時点ではサポートしていない様々なハードウエアに対して、それらを利用できるように作業をしていただける方を募集しています。 今のところは openSUSE を誰も動作させていない ARMv7 ベースのデバイスをお持ちであり、作業をしていただけるだけの時間を提供していただける場合は、メーリングリストにてご連絡いただけると幸いです。
openSUSE ARM のディストリビューション開発については、 openSUSE:ARM distribution howto もお読みください。
openSUSE Factory イメージ
openSUSE Factory のイメージを RPi にインストールするための方法など、様々な追加情報を提供しています。
詳しくは HCL:Raspberry_Pi をお読みください。
E-Linux Org PI HUB に関する情報
E-Linux Org の PI HUB http://elinux.org/RPi_Hub を利用することで、セットアップ時やハードウエア互換性の確保など、様々な支援を得ることができます。
RPi のハードウエアと基本的な設定
詳しくは http://elinux.org/RPi_Hardware_Basic_Setup (英語) をお読みください。
config.txt の設定変更
FAT32 の BOOT パーティション内にある config.txt を利用することで、 Raspberry Pi の設定を簡単に変更することができます。
それぞれ下記の Elinux のページ (英語) をお読みください:
- http://elinux.org/RPiconfig - http://elinux.org/RPi_config.txt - http://elinux.org/R-Pi_ConfigurationFile (設定ファイルについて) - http://elinux.org/RPi_Advanced_Setup (高度な設定について)
SD/MMC
SD メモリカードをセットアップする方法について、詳しくは http://elinux.org/RPi_Easy_SD_Card_Setup (英語) をお読みください。
2014-03-30 またはそれ以前の JeOS イメージを使用する際には、事前に #JeOS でパーティションのサイズ変更を行なうと起動できなくなる問題について をお読みください。
SD メモリカードから問題なく起動できるようであれば、それ以降も問題なく動作するでしょう。
USB ホスト機能
USB メモリをマウントするには:
mount /dev/sda1 /mnt
USB メモリ内の内容を表示するには:
ls /mnt
マウントを解除するには:
umount /mnt
シリアルポート/Linux ターミナル
http://elinux.org/RPi_Serial_Connection (英語) をお読みください。
Web カメラ
http://elinux.org/RPi_Guides#Installing_a_Web_Cam (英語) をお読みください。
RPi 検証済み周辺機器
ハードウエア互換性リスト とも呼ばれ、マウスや赤外線通信機能 (IR), USB ハブやサウンドカード、 GPS などの情報が掲載されています。
http://elinux.org/RPi_VerifiedPeripherals (英語) をお読みください。
RPi 低レベル周辺機器
http://elinux.org/RPi_Low-level_peripherals (英語) をお読みください。
S-端子ビデオ/コンポジット出力/ディスプレイやモニタ/HDMI/ビデオ/2D/3D ハードウエアについて
HDMI, ビデオ, 2D/3D ハードウエアの設定
http://elinux.org/RPi_VerifiedPeripherals#Display_adapters (英語) をお読みください。
ビデオについては、 http://elinux.org/RPi_config.txt#Video http://elinux.org/RPi_VideoCore_APIs (いずれも英語) をお読みください。
RPi 向けの Wayland の設定
http://wayland.freedesktop.org/raspberrypi.html (英語) をお読みください。
Xorg の設定
http://elinux.org/RPi_Xorg_rpi_Driver をお読みください。
- 下記は icewm で X11 を動作させる場合の手順です。
zypper in --no-recommends icewm xinit xauth xterm \ xf86-video-fbdev xorg-x11-driver-input echo export WINDOWMANAGER=icewm > /etc/profile.d/windowmanager.sh # 下記の設定がないと、 X は VESA で出力しようとしてしまいます: cat >/etc/X11/xorg.conf.d/50-device.conf <<EOF Section "Device" Identifier "Default Device" Driver "fbdev" EndSection EOF # あとは再起動して # startx を実行するだけです。
LXDE の設定
LXDE を利用したい場合は、下記のようにしてインストールします:
zypper install lxde-common lxde-common-branding-openSUSE patterns-openSUSE-lxde yast2-x11
RPi での DOOM
http://carreno.me/articles/how-to-install-doom-on-the-raspberry-pi (英語) をお読みください。
XBMC の設定
http://elinux.org/RPi_XBMC (英語) をお読みください。
Java のインストール
http://elinux.org/RPi_Java_JDK_Installation (英語) をお読みください。
openSuSE での RPi 利用例
RPI oss 13.1 を Linux デスクトップとして使用する場合の例
.. 記述予定
RPI oss 13.1 を Samba AD として使用する場合の例
.. 記述予定
RPi oss 13.1 をクラスタとして使用する場合の例
.. 記述予定
RPi oss 13.1 をネイティブ ZFS に対応した NAS として使用する場合の例
ZFS は最も印象の強いストレージ技術であり、よく好まれるものです。 そのため、アーカイブ用途の NAS サーバとして、 ( SMB/SMB2/CIFS/FTP/HTTP/FSP/SCP/SFTP/NFS ) などと合わせて利用します。
openSUSE ではネイティブの ZFS を Linux 上で動作させることに成功しています。下記の openSUSE ビルドサービスのページをお読みください: https://build.opensuse.org/package/show?project=home%3Amunix9%3Azfs&package=spl https://build.opensuse.org/package/show?project=home%3Amunix9%3Azfs&package=zfs
Linux でネイティブ ZFS を使用する場合に必要な作業項目
Linux における ZFS では、いくつかの依存関係となるソフトウエアを必要とします。 また、 ZFS を構築して動作させるには、カーネルのソースコードと実行中のカーネルが同一である必要もあります。
言い換えると、 /boot/kernel.img /boot/System.map* /boot/symvers* の内容と
/usr/src/linux にあるソースコード、そして uname -a (実行中のカーネル) が同一のバージョンでなければなりません。
カーネルをコンパイルするには、 HCL:Raspberry_Pi#openSUSE での自己カーネルコンパイル をお読みください。
Dracut のインストール
ZFS を利用するには、 dracut をインストールする必要があります:
zypper in dracut dracut-caps dracut-network dracut-tools
dkms のインストール
ZFS を利用するには、 dkms をインストールする必要があります。
"dkms" のパッケージは RPi 用には構築されておらず、 "noarch" パッケージとして構築されています:
https://build.opensuse.org/package/binaries/home:Bumblebee-Project:Bumblebee/dkms?repository=openSUSE_13.1 を開いて
dkms-2.2.0.3-8.1.src.rpm をダウンロードし、下記のようにしてインストールします:
rpm -i dkms-2.2.0.3-8.1.src.rpm
rpmbuild -ba /usr/src/packages/dkms.spec
rpm --force --nodeps -i /usr/src/packages/RPMS/noarch/dkms-2.2.0.3-8.1.noarch.rpm
ソース RPM の取得とインストール
13.1_ports にあるパッケージリストから、 openSUSE 向けの zfs / spl SRPM をダウンロードします:
https://build.opensuse.org/package/show?project=home%3Amunix9%3Azfs&package=zfs
https://build.opensuse.org/package/show?project=home%3Amunix9%3Azfs&package=spl
-rw-r--r-- 1 root root 185404 Dec 26 17:00 spl-0.6.2+git.1386356623-16.1.src.rpm
-rw-r--r-- 1 root root 186936 Dec 26 17:00 spl-dkms-0.6.2+git.1386356623-17.1.src.rpm
-rw-r--r-- 1 root root 186352 Dec 26 17:00 spl-kmod-0.6.2+git.1386356623-17.1.src.rpm
-rw-r--r-- 1 root root 1297331 Dec 26 17:00 zfs-0.6.2+git.1387576353-21.1.src.rpm
-rw-r--r-- 1 root root 19221 Dec 26 17:00 zfs-auto-snapshot-1.0.8_rev20130625-1.1.src.rpm
-rw-r--r-- 1 root root 1293400 Dec 26 17:00 zfs-dkms-0.6.2+git.1387576353-22.1.src.rpm
-rw-r--r-- 1 root root 1292924 Dec 26 17:00 zfs-kmod-0.6.2+git.1387576353-22.1.src.rpm
あとはインストールするだけです:
rpm -i spl-0.6.2+git.1386356623-16.1.src.rpm
rpm -i zfs-0.6.2+git.1387576353-21.1.src.rpm
rpm -i spl-dkms-0.6.2+git.1386356623-17.1.src.rpm
rpm -i spl-kmod-0.6.2+git.1386356623-17.1.src.rpm
rpm -i zfs-dkms-0.6.2+git.1387576353-22.1.src.rpm
rpm -i zfs-kmod-0.6.2+git.1387576353-22.1.src.rpm
SPL の構築とインストール
cd /usr/src/packages/SPECS
rpmbuild -ba spl.spec
rpm --force -U /usr/src/packages/RPMS/armv6hl/spl-0.6.2+git.1386356623-16.1.armv6hl.rpm
ZFS の構築とインストール
rpm --force /usr/src/packages/RPMS/armv6hl/zfs-0.6.2+git.1387576353-21.1.armv6hl.rpm \ /usr/src/packages/RPMS/armv6hl/libnvpair1-0.6.2+git.1387576353-21.1.armv6hl.rpm \ /usr/src/packages/RPMS/armv6hl/libuutil1-0.6.2+git.1387576353-21.1.armv6hl.rpm \ /usr/src/packages/RPMS/armv6hl/libzfs2-0.6.2+git.1387576353-21.1.armv6hl.rpm \ /usr/src/packages/RPMS/armv6hl/libzpool2-0.6.2+git.1387576353-21.1.armv6hl.rpm \ /usr/src/packages/RPMS/armv6hl/zfs-devel-0.6.2+git.1387576353-21.1.armv6hl.rpm \ /usr/src/packages/RPMS/armv6hl/zfs-test-0.6.2+git.1387576353-21.1.armv6hl.rpm \ /usr/src/packages/RPMS/armv6hl/zfs-dracut-0.6.2+git.1387576353-21.1.armv6hl.rpm\
ZFS と SPL dkms の構築とインストール
最後にカーネル (dkms) モジュールを構築します:
- rpm -i /usr/src/packages/RPMS/noarch/spl-dkms-0.6.2+git.1386356623-0.noarch.rpm
- rpm -i /usr/src/packages/RPMS/noarch/zfs-dkms-0.6.2+git.1387576353-0.noarch.rpm
- lsmod | egrep '(spl|splat|zfs|zcommon|znvpair|zavl)'; date; uname -a
zfs 1183304 0
zcommon 43661 1 zfs
znvpair 80913 2 zfs,zcommon
zavl 5961 1 zfs
zunicode 322708 1 zfs
splat 163965 0
spl 162223 6 zfs,zcommon,znvpair,zavl,zunicode,splat
Thu Dec 26 21:13:08 UTC 2013
Linux ad2 3.11.10-1-raspberrypi #2 PREEMPT Mon Dec 23 13:45:05 UTC 2013 armv6l armv6l armv6l GNU/Linux
これまでの作業を全て行なえば、 RPi で ZFS を利用できるようになります。
NAS 関連のサービスの起動
あとは必要に応じて samba(SMB/SMB2) , lighthttpd ( HTTP ), vsftpd ( FTP/SFTP) , kernel-nfs(NFS/NFSv4) などを動作させれば NAS として利用できるようになります。
RPi のトラブルシューティング
OSS リポジトリを zypper update で更新すると失敗してしまう問題
古い openSUSE 13.1 (2014年3月17日版) で更新作業を行なうと失敗してしまう場合、
zypper up -> failed zypper dist-upgrade -> failed
更新またはアップグレード前に下記のコマンドを実行してください:
zypper ref
Zypper のリポジトリを手作業で更新する方法
b.wiedemans 氏が作成したイメージや、 2014年3月17日版以前の JeOS イメージをお使いの場合:
下記のようにして zypper のリポジトリを修正する必要があります。 - backup tar cpfz /root/zypper-repro.old.tar.gz /etc/zypp/repos.d - rm /etc/zypp/repos.d/* - cd /etc/zypp/repos.d
あとは vi openSUSE-13.1-repo-oss.repo などのコマンドで、新しいリポジトリファイルを作成してください。 なお、 zypper up の際にはそれぞれのリポジトリに対して、 GPG 鍵の問い合わせメッセージが表示されますが、 "a" ("always" = "常に") と入力してください。
bastard:/etc/zypp/repos.d # cat openSUSE-13.1-repo-oss.repo [openSUSE-13.1-repo-oss] name=openSUSE-13.1-repo-oss enabled=1 autorefresh=1 baseurl=http://download.opensuse.org/ports/armv6hl/distribution/13.1/repo/oss/ type=yast2 bastard:/etc/zypp/repos.d # cat 13.1-Contrib-RPi.repo [13.1-Contrib-RPi] name=13.1-Contrib-RPi enabled=1 autorefresh=1 baseurl=http://download.opensuse.org/repositories/devel:/ARM:/13.1:/Contrib:/RaspberryPi/standard/ type=rpm-md bastard:/etc/zypp/repos.d # cat Src-Non-OSS.repo [Src-Non-OSS131] name=Src-Non-OSS131 enabled=1 autorefresh=1 baseurl=http://download.opensuse.org/source/distribution/13.1/repo/non-oss/ type=yast2 nagios1:/etc/zypp/repos.d #
ZFS での問題や ZFS のコミュニティ, BUGZIlla , Github について
Linux で ZFS を利用していて何らかの問題に遭遇した場合は、 https://github.com/zfsonlinux で公開されているモジュールに対して問題を報告してください。
また、 rpmbuild コマンドの実行時にエラーが表示された場合は、 openSUSE の Bugzilla に問題を報告してください。
もしも可能であれば、 ZoL (ZFS on Linux) であなたのスキルを試すこともできます..
JeOS でパーティションのサイズ変更を行なうと起動できなくなる問題について
chroot を利用したトラブルシューティング
下記の手順は、通常のインストール環境でカーネルパニックなどの問題に直面した場合にのみ、行なう必要があります。
必要なもの:
- Debian などの RPI Arm Linux が動作している Raspberry PI またはそのエミュレータ
- USB 接続の SD メモリカードリーダー (openSUSE のイメージを編集する際に使用します)
作業 (下記の例では、 /dev/sdb に SD メモリが接続されている場合を想定しています):
$ df | grep sdb /dev/sdb2 15492400 1502852 13207076 11% / /dev/sdb1 76186 24313 51873 32% /boot
mount /dev/sdb2 /mnt mount /dev/sdb1 /mnt/boot chroot /mnt bash
mount -t proc proc proc/ mount -t sysfs sys sys/ mount -o bind /dev dev/
あとは chroot 環境内で更新します:
rpmdb --rebuilddb zypper update dist-upgrade exit sync reboot
RPI での問題
http://elinux.org/R-Pi_Troubleshooting (英語) をお読みください。