「Raspberry Pi」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
 
(1版 をインポートしました)
(相違点なし)

2015年1月11日 (日) 13:47時点における版

Raspberry Pi (RPi) は ARMv6 アーキテクチャを搭載したミニマルなコンピュータです。プロジェクトの詳細技術仕様

前書き

この記事は完全なセットアップガイドではなく、読者が既に Arch システムを構築していることを前提としています。ユーザーの作成やシステムの管理など、基本的な作業の方法がよくわからない場合、Arch 初心者はビギナーズガイドを読むことが推奨されています。

ノート: ARM アーキテクチャのサポートは公式 Arch Linux フォーラムではなく http://archlinuxarm.org で提供されています。ARM 固有の問題に関する投稿は Arch Linux Distribution Support ONLY ポリシーに従って直ちにクローズされます。

Arch Linux ARM のインストール

Arch Linux ARM のドキュメント を見て下さい。

ファイルシステムのリサイズ

イメージサイズは 2GB です。(2GB より大きい) SD カード全体を使うように root ファイルシステムを拡大するには、既存のガイド に従って下さい。

無線 LAN

デフォルトで新しくインストールすると dhcpcd で有線の LAN に接続されます。始めから wlan を使って Raspberry Pi にアクセスしたい場合、SD カードに必要なファイルを作成してください。netctl のプロファイルを作って systemd ユニットの netctl-auto を有効にする必要があります。

  • sdcard-partition5 をマウント
# mount /dev/mmcblk0p5 /mnt
  • netctl プロファイルを作成、メインマシンで netctl を使っている場合はそのプロファイルをコピー
# cp /etc/netctl/profilename /mnt/etc/netctl/

もしくは /examples ディレクトリ /etc/netctl/examples からプロファイルを持ってきて修正してください。プロファイルの使用するインターフェイスは wlpsXsX ではなく wlan0 です。

  • 利用可能なネットワークに自動接続するには systemd ユニットの netctl-auto を有効にしてください。
# ln -s /usr/lib/systemd/system/netctl-auto@.service /mnt/etc/systemd/system/multi-user.target.wants/netctl-auto@wlan0.service
  • sd カードをアンマウント
# umount /mnt
  • sd カードを rpi に挿入して起動してください。
  • ssh root@alarmpi で接続、パスワードは root

オーディオ

ノート: 必須モジュール snd-bcm2835 はデフォルトで自動ロードされます。

alsa-utils, alsa-firmware, alsa-lib, alsa-plugins パッケージをインストールしてください:

# pacman -S alsa-utils alsa-firmware alsa-lib alsa-plugins

任意で、alsamixer を使ってデフォルトのボリュームを調整してください。唯一の音源 "PCM" がミュートされていないことを確認してください (ミュートされている場合は MM と表示されます、ミュートを解除するには M を押して下さい)。

音源の出力を選択するには:

$ amixer cset numid=3 x

x は以下のどれかになります:

  • 0 は自動
  • 1 はアナログ出力
  • 3 は HDMI

HDMI オーディオの注意

アプリケーションによっては音声を HDMI で出力するために /boot/config.txt に設定が必要です:

hdmi_drive=2

ビデオ

HDMI / アナログ TV 出力

HDMI やアナログ TV 出力のオン・オフを切り替えるには、次を見て下さい:

/opt/vc/bin/tvservice

-s パラメータでディスプレイの状態を確認し、-o パラメータでディスプレイをオフに、-p パラメータで優先設定を使って HDMI をオンにします。

オーバースキャン・アンダースキャンを適切に修正するには調整が必要で、多くの設定がある boot/config.txt で簡単に行うことができます。修正するには、コメントの指示に従って適切な行の設定をアンコメントしてください:

# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
#overscan_left=16
overscan_right=8
overscan_top=-16
overscan_bottom=-16

アナログビデオ出力を使いたいユーザーは NTSC 以外の出力のオプションを含んでいるこの設定ファイルを見て下さい。

新しい設定を適用するには再起動が必要です。

X.org ドライバー

Raspberry Pi の X.org ドライバーは xf86-video-fbdev パッケージでインストールできます:

# pacman -S xf86-video-fbdev

オンボードのハードウェアセンサー

温度

温度センサーは raspberrypi-firmware-tools パッケージにあるユーティリティで使うことができます。RPi は BCM2835 SoC (CPU/GPU) 上にセンサーを搭載しています:

$ /opt/vc/bin/vcgencmd measure_temp
temp=49.8'C

また、ファイルシステムから読み取ることもできます:

$ cat /sys/class/thermal/thermal_zone0/temp
49768

人間が読めるように出力するには:

awk '{printf "%3.1f°C\n", $1/1000}' /sys/class/thermal/thermal_zone0/temp
54.1°C

電圧

同じように /opt/vc/bin/vcgencmd で4つの異なる電圧をチェックすることができます:

$ /opt/vc/bin/vcgencmd measure_volts <id>

<id> は以下のどれかに置き換えてください:

  • core はコアの電圧
  • sdram_c は sdram Core の電圧
  • sdram_i は sdram I/O の電圧
  • sdram_p は sdram PHY の電圧

軽量なモニタリングスイート

monitorixAUR は v3.2.0 から RPi をサポートしています。スクリーンショットはここ にあります。

オーバークロック / アンダークロック

/boot/config.txt を編集することで RPi をオーバークロックさせることができます、例:

arm_freq=800
arm_freq_min=100
core_freq=300
core_freq_min=75
sdram_freq=400
over_voltage=0

xxx_min の行は任意で、それぞれの設定の最低値を定義します。システムの負担が低い時は、指定した値まで下がります。オプションの詳しい説明や例は elinux の Overclocking 記事を見て下さい。

新しい設定を適用するには再起動が必要です。

ノート: The overclocked setting for CPU clock applies only when the governor throttles up the CPU, i.e. under load.

次のコマンドで現在の CPU の周波数を確認できます:

$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq

SD カードのパフォーマンスを最大化するヒント

一般的なパフォーマンスを上げる方法については Maximizing Performance を見て下さい。

起動時に fsck を有効にする

起動時の fsck を有効にするには、最初に root ファイルシステムを読み取り専用でマウントして、それから読み書き可能で再マウントする必要があります。

まず、起動時に root を読み取り専用になるようにしてください。/boot/cmdline.txt を編集して root パーティションのオプションに "ro" を追加します。

ipv6.disable=1 selinux=0 plymouth.enable=0 dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p5 ro rootfstype=ext4 elevator=noop rootwait

次に、起動中にパーティションを再マウントするように /etc/fstab に次の行を追加します。

/dev/mmcblk0p5  /       ext4    remount,rw        0       0

/var/log を RAM に移動する

この記事またはセクションの正確性には問題があります。
理由: Very questionable tip, see also [1]. (議論: トーク:Raspberry Pi#)
警告: All system logs will be lost on every reboot.

次のエントリを /etc/fstab に追加すると 16MiB の容量の RAM ディスクが作成されます:

tmpfs   /var/log        tmpfs   nodev,nosuid,size=16M   0       0

既存のログディレクトリを削除してください:

# rm -R /var/log

変更を適用するためにシステムを再起動してください。

シリアルコンソール

ブートメッセージを見るには、デフォルトの /boot/cmdline.txt を編集して、loglevel5 に変更してください:

loglevel=5

速度を 115200 から 38400 に変える:

console=ttyAMA0,38400 kgdboc=ttyAMA0,38400

getty サービスを起動する:

# systemctl start getty@ttyAMA0

ブート時に有効にする:

# systemctl enable getty@ttyAMA0.service

適当な service リンクを作成する:

# ln -s /usr/lib/systemd/system/serial-getty@.service /etc/systemd/system/getty.target.wants/serial-getty@ttyAMA0.service

そして接続 :)

# screen /dev/ttyUSB0 38400

Raspberry Pi カメラモジュール

カメラモジュールのコマンドは raspberrypi-firmware-tools パッケージに含まれています - このパッケージはデフォルトでインストールされています。以下のコマンドで使うことができます:

$ /opt/vc/bin/raspistill
$ /opt/vc/bin/raspivid

/boot/config.txt に以下を追加する必要があります:

start_file=start_x.elf
fixup_file=fixup_x.dat

LED をオフにする設定 (任意):

disable_camera_led=1

以下のエラーが表示される場合:

mmal: mmal_vc_component_enable: failed to enable component: ENOSPC
mmal: camera component couldn't be enabled
mmal: main: Failed to create camera component
mmal: Failed to run camera app. Please check for firmware updates

/boot/config.txt に以下の値を設定してみてください:

cma_lwm=
cma_hwm=
cma_offline_start=

ハードウェア乱数生成器

Raspberry Pi 用の ArchLinux ARM には rng-tools パッケージがインストールされており、bcm2708-rng が起動時にロードされるように設定されています (こちら を参照) が、Hardware RNG Entropy Gatherer Daemon (rngd) にハードウェア乱数生成器の場所を教えてやる必要があります。

/etc/conf.d/rngd を編集することで設定します:

RNGD_OPTS="-o /dev/random -r /dev/hwrng"

設定したら rngd デーモンを再起動してください:

systemctl restart rngd

この設定で、ハードウェア乱数生成器からのデータがカーネルのエントロピープール (/dev/random) に取り入れられるようになります。

GPIO

Python

Python から GPIO ピンを使えるようにするために、RPi.GPIO ライブラリを使用することができます。AUR から python-raspberry-gpioAURpython2-raspberry-gpioAUR のどちらかをインストールしてください。

参照