Raspbian Jessie のインストール ()
Debian の最新安定版の jessie (release 8.0) に対応した Raspbian の新バージョンが 2015/09/29 に公開されました。Raspbian は最初の 2012-07-15-wheezy-raspbian から 2015-05-05-wheezy-raspbian まで 3 年間 wheezy (Debian 7.0) をベースとしたディストリビューションでした。 色々なパッケージが古くなってきて、ビルドできないソフトウェアも出てきていたため、新バージョンを待っていた方も多かったのではないかと思います。 Debian 8.0 のリリースは 2015/04/26 だったので、早速 2015-09-24-raspbian-jessie を入手して Raspberry Pi2 で jessie を試してみます。
Debian は コードネームで呼ばれることも多く、なれないとよく分からなくなるので Debian のコードネームとリリースバージョンの対応を表にしてみました。「Toy Story」のキャラクターの名前になっています。 Jessie は woody の妹の名前です。 ディズニーの公式ページ で確認できます。
codename | release |
---|---|
jessie | 8.0 |
wheezy | 7.0 |
squeeze | 6.0 |
lenny | 5.0 |
etch | 4.0 |
sarge | 3.1 |
woody | 3.0 |
potato | 2.2 |
slink | 2.1 |
hamm | 2.0 |
bo | 1.3 |
rex | 1.2 |
buzz | 1.1 |
今回のバージョンアップでは、SDカードで起動するといきなりデスクトップが表示され、LibreOffice で表計算などのオフィスアプリケーションがすぐ使えるなど、普通にコンピュータとして使えるようになってます。また、トップメニューの右端に USB のイジェクト用のアイコンが表示されるようになりました。ちょっと最初の方向性(学生の教育用)と違ってきている気がするような...
2015-09-24-raspbian-jessie のインストール
作業を行うSD カードはデータがすべて初期化されるので、新しいカードやデータが不要で消去してもいい SD カードを使って下さい。
いつものように MacBook Pro17(MacOSX 10.10.5) でインストール作業した記録です。 MacOS X ではデバイス名の指定方法が異なるだけで、Linuxと同じく dd コマンドを使ってSDカードに ディスクイメージを書き込みます。 以下の例は、私のMacBookでの例です。今回の作業では SDカード が /dev/disk4 で認識されています。適宜読み替えてください。
dd コマンドのデバイスの指定を間違えると最悪ハードディスクがすべて消えるなどの悲惨な結果が待っています。十分に注意して行なってください。
$ uname -rsv
Darwin 14.5.0 Darwin Kernel Version 14.5.0: Wed Jul 29 02:26:53 PDT 2015;
root:xnu-2782.40.9~1/RELEASE_X86_64
ダウンロードしたディスクイメージは以下のサイズです。
$ ls -lt
-rw-r--r--@ 1 jun staff 1332985725 9 29 21:46 2015-09-24-raspbian-jessie.zip
イメージのハッシュ(SHA-1 Checksum)が公式サイトにある d8d4880cd0e4f155f343984725d5bd94c1f86023 であることを確認します。
$ shasum 2015-09-24-raspbian-jessie.zip
d8d4880cd0e4f155f343984725d5bd94c1f86023 2015-09-24-raspbian-jessie.zip
いつものようにMacBook Pro17 にUSB接続のmicroSDカードリーダを接続して、SDカードをアンマウントします。
$ df -k
Filesystem 1024-blocks Used Available Capacity iused ifree %iused Mounted on
略
/dev/disk4s1 57288 9696 47592 17% 512 0 100% /Volumes/boot
/dev/disk4s2 15343836 2940004 11754252 21% 86750 870962 9% /Volumes/Untitled
今回は色々USBに接続していたので、SDカードは /dev/disk4s1 と /dev/disk4s2 と認識されていました。SDカードに見えている2つのパーティションをアンマウントします。
$ diskutil unmount /dev/disk4s1 Volume boot on disk4s1 unmounted $ diskutil unmount /dev/disk4s2 Volume on disk4s2 unmounted
zipファイルを展開します。
$ unzip 2015-09-24-raspbian-jessie.zip
Archive: 2015-09-24-raspbian-jessie.zip
warning [2015-09-24-raspbian-jessie.zip]: 76 extra bytes at beginning or
within zipfile
(attempting to process anyway)
error [2015-09-24-raspbian-jessie.zip]: reported length of central
directory is -76 bytes too long (Atari STZip zipfile? J.H.Holm ZIPSPLIT
1.1 zipfile?). Compensating...
skipping: 2015-09-24-raspbian-jessie.img need PK compat.
v4.5 (can do v2.1)
note: didn't find end-of-central-dir signature at end of central dir.
(please check that you have transferred or created the zipfile in the
appropriate BINARY mode and that you have compiled UnZip properly)
今回の zip ファイルは壊れていると言われて unzip では展開できませんでした。イメージのハッシュは正しいので、zip ファイルのフォーマットが unzip では扱えない形式になっているようです。「The Unarchiver」を使って img ファイルを抽出しました。Windows では「7zip」を使うと大丈夫とのことです(Raspbian Jessie zip appears corrupt)。
$ ls -l 2015-09-24-raspbian-jessie.* -rw-r--r--@ 1 jun staff 4325376000 9 25 01:14 2015-09-24-raspbian-jessie.img -rw-r--r--@ 1 jun staff 1332985725 9 29 21:46 2015-09-24-raspbian-jessie.zip
SDカードに書き込みます。 今回は /dev/rdisk4 に書いています。
$ sudo time dd bs=1m if=2015-09-24-raspbian-jessie.img of=/dev/rdisk4
4125+0 records in
4125+0 records out
4325376000 bytes transferred in 264.807992 secs (16334009 bytes/sec)
264.83 real 0.01 user 2.87 sys
ブート領域のファイルを確認します。
$ cd /Volumes/boot $ ls -lt total 39712 -rwxrwxrwx 1 jun staff 137 9 24 15:33 issue.txt drwxrwxrwx 1 jun staff 8192 9 24 13:30 overlays -rwxrwxrwx 1 jun staff 136 9 24 13:29 cmdline.txt -rwxrwxrwx 1 jun staff 1583 9 24 13:29 config.txt -rwxrwxrwx 1 jun staff 10125 9 23 15:10 bcm2708-rpi-b-plus.dtb -rwxrwxrwx 1 jun staff 9846 9 23 15:10 bcm2708-rpi-b.dtb -rwxrwxrwx 1 jun staff 9850 9 23 15:10 bcm2708-rpi-cm.dtb -rwxrwxrwx 1 jun staff 11113 9 23 15:10 bcm2709-rpi-2-b.dtb -rwxrwxrwx 1 jun staff 17900 9 23 15:10 bootcode.bin -rwxrwxrwx 1 jun staff 6359 9 23 15:10 fixup.dat -rwxrwxrwx 1 jun staff 2392 9 23 15:10 fixup_cd.dat -rwxrwxrwx 1 jun staff 9599 9 23 15:10 fixup_db.dat -rwxrwxrwx 1 jun staff 9597 9 23 15:10 fixup_x.dat -rwxrwxrwx 1 jun staff 4056224 9 23 15:10 kernel.img -rwxrwxrwx 1 jun staff 4032544 9 23 15:10 kernel7.img -rwxrwxrwx 1 jun staff 2719896 9 23 15:10 start.elf -rwxrwxrwx 1 jun staff 596824 9 23 15:10 start_cd.elf -rwxrwxrwx 1 jun staff 4852968 9 23 15:10 start_db.elf -rwxrwxrwx 1 jun staff 3810376 9 23 15:10 start_x.elf -rwxrwxrwx 1 jun staff 18693 8 21 16:04 COPYING.linux -rwxrwxrwx 1 jun staff 1447 8 21 16:04 LICENCE.broadcom -rwxrwxrwx 1 jun staff 18974 9 25 2013 LICENSE.oracle
overlays というディレクトリも見てみましょう。
$ cd overlays/ $ ls -l $ ls README pps-gpio-overlay.dtb ads7846-overlay.dtb pwm-2chan-overlay.dtb bmp085_i2c-sensor-overlay.dtb pwm-overlay.dtb dht11-overlay.dtb raspidac3-overlay.dtb enc28j60-overlay.dtb rpi-dac-overlay.dtb gpio-poweroff-overlay.dtb rpi-display-overlay.dtb hifiberry-amp-overlay.dtb rpi-ft5406-overlay.dtb hifiberry-dac-overlay.dtb rpi-proto-overlay.dtb hifiberry-dacplus-overlay.dtb rpi-sense-overlay.dtb hifiberry-digi-overlay.dtb sdhost-overlay.dtb hy28a-overlay.dtb sdio-overlay.dtb hy28b-overlay.dtb smi-dev-overlay.dtb i2c-rtc-overlay.dtb smi-nand-overlay.dtb i2s-mmap-overlay.dtb smi-overlay.dtb iqaudio-dac-overlay.dtb spi-bcm2708-overlay.dtb iqaudio-dacplus-overlay.dtb spi-bcm2835-overlay.dtb lirc-rpi-overlay.dtb spi-dma-overlay.dtb mcp2515-can0-overlay.dtb tinylcd35-overlay.dtb mcp2515-can1-overlay.dtb uart1-overlay.dtb mmc-overlay.dtb vga666-overlay.dtb mz61581-overlay.dtb w1-gpio-overlay.dtb piscreen-overlay.dtb w1-gpio-pullup-overlay.dtb pitft28-resistive-overlay.dtb
デバイスツリーの定義ファイルは、ハードウェアの違いを吸収するため、色々なハードウェアの個別の設定値をカーネルの外で用意しておいて、起動時にカーネルに渡すことで多くのハードウェアに対応する仕組みです。 /boot/config.txt にちょっと追加すれば比較的簡単に使えるようになるのでしょう。 rpi-ft5406 が公式の7インチタッチスクリーン用のファイルのようです。
Name: rpi-ft5406 Info: Official Raspberry Pi display touchscreen Load: dtoverlay=rpi-ft5406 Params: <None>
/boot/config.txt に dtoverlay=rpi-ft5406 を追記すると公式の7インチタッチスクリーンが使えるようになりそうです(未確認)。 タッチスクリーンは発注済みですが、3週間遅れるとの連絡が今日届きました (T_T)。
$ cat config.txt # For more options and information see # https://www.raspberrypi.org/documentation/configuration/config-txt.md # Some settings may impact device functionality. See link above for details # uncomment if you get no picture on HDMI for a default "safe" mode #hdmi_safe=1 # uncomment this if your display has a black border of unused pixels visible # and your display can output without overscan #disable_overscan=1 # 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=16 #overscan_top=16 #overscan_bottom=16 # uncomment to force a console size. By default it will be display's size minus # overscan. #framebuffer_width=1280 #framebuffer_height=720 # uncomment if hdmi display is not detected and composite is being output #hdmi_force_hotplug=1 # uncomment to force a specific HDMI mode (this will force VGA) #hdmi_group=1 #hdmi_mode=1 # uncomment to force a HDMI mode rather than DVI. This can make audio work in # DMT (computer monitor) modes #hdmi_drive=2 # uncomment to increase signal to HDMI, if you have interference, blanking, or # no display #config_hdmi_boost=4 # uncomment for composite PAL #sdtv_mode=2 #uncomment to overclock the arm. 700 MHz is the default. #arm_freq=800 # Uncomment some or all of these to enable the optional hardware interfaces #dtparam=i2c_arm=on #dtparam=i2s=on #dtparam=spi=on # Uncomment this to enable the lirc-rpi module #dtoverlay=lirc-rpi # Additional overlays and parameters are documented /boot/overlays/README
Raspberry Pi で動かすため、Mac から SDカードをアンマウントして取り出します。 /dev/disk4s2 はフォーマットが ext4 なので Mac では見えていないのが普通です。
$ df -k Filesystem 1024-blocks Used Available Capacity iused ifree %iused Mounted on 略 /dev/disk4s1 57288 20264 37024 36% 512 0 100% /Volumes/boot /dev/disk4s2 4097112 3156700 732284 82% 128265 132343 49% /Volumes/Untitled $ diskutil unmount /dev/disk4s1 Volume boot on disk4s1 unmounted $ diskutil unmount /dev/disk4s2 Volume on disk4s2 unmounted
Raspbian Jessie で起動
2015-09-24-raspbian-jessie ではイメージを書き込んだ SDカードで起動すると、そのままデスクトップが表示されて、ログインすることもなく、すぐに使用することができます。 このバージョンから、コンピュータを起動した時に期待される動作:「すぐに使える」に変更したとのことです。
カーネルのバージョンを確認してみます。
$ uname -a
Linux raspberrypi 4.1.7-v7+ #817 SMP PREEMPT Sat Sep 19 15:32:00 BST 2015
armv7l GNU/Linux
raspi-config による初期設定は自動的に実行されません。 SDカードは容量にかかわらず、書き込んだイメージのサイズになっています。
$ df -k
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 4031552 3197456 609584 84% /
devtmpfs 469756 0 469756 0% /dev
tmpfs 474060 0 474060 0% /dev/shm
tmpfs 474060 6444 467616 2% /run
tmpfs 5120 4 5116 1% /run/lock
tmpfs 474060 0 474060 0% /sys/fs/cgroup
/dev/mmcblk0p1 57288 20312 36976 36% /boot
tmpfs 94812 0 94812 0% /run/user/1000
上のようにパーティションは4GBとなっていて、あまり空きはありません。
raspi-config による初期設定
これまでと同じ raspi-config も使用できますが、上のスクリーンショットのようにデスクトップのメニューからもGUIで設定できるようになりました。「Expand Filesystem」ボタンを押して、再起動するとSDカード全体を使うようになります。
$ df Filesystem 1K-blocks Used Available Use% Mounted on /dev/root 15275404 3201584 11393724 22% / devtmpfs 469756 0 469756 0% /dev tmpfs 474060 0 474060 0% /dev/shm tmpfs 474060 6432 467628 2% /run tmpfs 5120 4 5116 1% /run/lock tmpfs 474060 0 474060 0% /sys/fs/cgroup /dev/mmcblk0p1 57288 20312 36976 36% /boot tmpfs 94812 0 94812 0% /run/user/1000
その他の設定
以下の記事も参考にして下さい。
- 日本語化
- デスクトップの軽量な日本語化と英語モードとの切替。ちょっとダイアログのデザインが変更されていますが、理解できる範囲内と思います。
- デスクトップのカスタマイズ
- デスクトップのウィンドウやダイアログの色や形状を変更する方法。
- 新しい無線LANの設定
- デスクトップのメニューから簡単に無線LANの設定ができるようになっています。
プログラミング言語のバージョン
Wheezy から Jessie になって、 プログラミング言語のバージョンはどうなったのか調べてみました。 Raspbian では、追加インストールすること無く使えるプログラミング言語として、C、C++、Java、Python、Pypy、Lua、LuaJIT、Perl、Awk、Ruby、アセンブラ(GNU as)といった、ほとんどすべてのメジャーな言語が使えるようになっています。 最後の glibc は言語ではなくライブラリですが、重要なので載せておきます。
言語 | Weezy | Jessie |
---|---|---|
gcc | 4.6.3 | 4.9.2 |
java | 1.8.0 | 1.8.0 |
python | 2.7.3 | 2.7.9 |
python3 | 3.2.3 | 3.4.2 |
pypy | 2.2.1 | 2.2.1 |
perl | v5.14.2 | v5.20.2 |
lua | 5.1.5 | 5.1.5 |
luajit | 2.0.0-beta11 | 2.0.3 |
ruby | 1.9.3p194 | 2.1.5p273 |
as | 2.24.51.20140425 | 2.25 |
bash | 4.2.37(1) | 4.3.30(1) |
awk | 1.3.3 | 1.3.3 |
glibc | 2.13 | 2.19 |