Raspberry_Pi

Raspberry Pi 2 model B 向けのUbuntu 15.04 MATE がリリースされていたので試してみました。(armv6のRaspberryPi? B+ 以前では動かないので注意!私は2に見た目の似ているB+ で起動しようとしてkernel.img が見つからないエラーで無駄な時間を費やしましたorz) Google+ はちょっと重いけどmozc もパッケージで導入できてデスクトップ利用には良さそうです。

Screenshot.png

導入

イメージは以下からダウンロードしてdd で書き込むだけです.SDは4GB以上必要です.(初期設定終了時で / の消費容量は77% なので8GB 以上のほうが良さそう)

Raspberry Pi 公式ページからもリンクされています.

hash見つからないと思ったら以下で確認できました

hashを確認して

% sha1sum ubuntu-mate-15.04-desktop-armhf-raspberry-pi-2.img.bz2
491259b16a5bc8a70a8ef0cc005fd3f2a3bb23c5  ubuntu-mate-15.04-desktop-armhf-raspberry-pi-2.img.bz2

展開しつつ書き込み

% bzcat ubuntu-mate-15.04-desktop-armhf-raspberry-pi-2.img.bz2 | sudo dd of=/dev/sdb bs=4M

※公式ページではddrescue 使ってるけど手元環境には入ってなかったので普通のdd で.ddrescue の方が進捗確認しやすいぶんいいかも?(ちょっと試してみたけどstdin からの入力は出来無さそうなので一旦展開しないといけ無さそう)

初回起動時には初期設定画面になる.

  • 言語設定
    • 日本語を使いたい場合はここで日本語を選択.後で変更しようとしたらうまく行かなかった -> MATE 日本語化?
  • ロケールの設定
  • キーボードレイアウトの設定
  • アカウント, マシン名設定

この後暫くシステム設定が走る

パーティションリサイズ

dd で書き込んでいるのでパーティションサイズが固定になっている.Raspbian ではraspi-config コマンド内でパーティションを広げることができるが,Ubuntu 15.04 MATE はまだその機能がないので手動で設定する.

※TODO に載っているのでそのうちツールか何かが提供されると思う. Add automatic reszing of the root file system.

fdisk コマンドで /dev/mmcblk0p2 を一旦消して最大容量で再作成する

$ sudo fdisk /dev/mmcblk0

容量確認

Command (m for help): p
Disk /dev/mmcblk0: 29.7 GiB, 31914983424 bytes, 62333952 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device         Boot  Start     End Sectors  Size Id Type
/dev/mmcblk0p1 *      2048  133119  131072   64M  c W95 FAT32 (LBA)
/dev/mmcblk0p2      133120 7679999 7546880  3.6G 83 Linux

2番目の領域(mmcblk0p2)を削除

Command (m for help): d
Partition number (1,2, default 2): 2

Partition 2 has been deleted.

再作成

Command (m for help): n
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (2-4, default 2): 2
First sector (133120-62333951, default 133120): 
Last sector, +sectors or +size{K,M,G,T,P} (133120-62333951, default 62333951): 

Created a new partition 2 of type 'Linux' and of size 29.7 GiB.

領域が大きくなっているのを確認

Command (m for help): p
Disk /dev/mmcblk0: 29.7 GiB, 31914983424 bytes, 62333952 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device         Boot  Start      End  Sectors  Size Id Type
/dev/mmcblk0p1 *      2048   133119   131072   64M  c W95 FAT32 (LBA)
/dev/mmcblk0p2      133120 62333951 62200832 29.7G 83 Linux

書き込んで終了

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Re-reading the partition table failed.: Device or resource busy

The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).

再起動して反映する.

この時点では未だ容量は増えていない.

$ df /
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/root        3648564 2914608    717572  81% /

resize2fs でfdisk で広げたパーティションを反映する.

$ sudo resize2fs /dev/mmcblk0p2 
resize2fs 1.42.12 (29-Aug-2014)
Filesystem at /dev/mmcblk0p2 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 2
The filesystem on /dev/mmcblk0p2 is now 7775104 (4k) blocks long.

広くなっている

$ df /
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/root       30548276 2917376  27614516  10% /

#乱暴に見えるけどraspi-config の中を見ると同じことやってる. fdisk 叩いて,/etc/init.d/resize2fs_once を作って次回起動時に一度だけ走らせて削除

パッケージを最新に

家のaptproxy を設定して,(家回線細いのでproxy 用意してます….)

$ cat /etc/apt/apt.conf.d/02proxy 
Acquire::http::Proxy "http://home.matoken.org:3142/";

リポジトリをお近くのsite に向けて

最新に

$ sudo apt update
$ sudo apt upgrade

セキュリティアップデートは自動更新にしておいてもいいかもしれない.

$ cat /etc/apt/apt.conf.d/20auto-upgrades
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";
$ cat /etc/apt/apt.conf.d/50unattended-upgrades|grep -v ^\/\/|uniq
Unattended-Upgrade::Allowed-Origins {
        "${distro_id}:${distro_codename}-security";
};

Unattended-Upgrade::Package-Blacklist {
};

Software Updater を使うとGUI での設定も可能
SoftwareUpdater_menu.png

MATE 日本語化

初回起動時に言語にEnglish を選択した後日本語に変更したくなった. Language Support で日本語を追加したが,グレーアウトで変更できない?
Screenshot-Language Support.png

初回起動時に日本語を選んだ場合は問題ない.

日本語入力

日本語入力をfcitx-mozc で出来るようにするにはこんな感じで

$ sudo apt update
$ sudo apt install fcitx-mozc
$ im-config -n fcitx

再ログイン or 再起動

mikutter

もちろん動きます!

$ sudo apt install mikutter

Screenshot-mikutter.png

Chromium のタブがよく強制終了するのでswapファイルを設定

Chromium を導入( $ sudo apt install chromium-browser chromium-browser-l10n )して重めの動的なページなどを開いていると頻繁に落ちる. &ref(): File not found: "'Screenshot from 2015-05-13 01:43:50.png'" at page "Raspberry_Pi/Ubuntu_MATE";

swap を追加したらほぼ起きなくなった. 以下は1GB のswap file を設定した例

$ sudo dd if=/dev/zero of=/var/swap bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 124.972 s, 8.6 MB/s
$ sudo chmod 700 /var/swap
$ sudo mkswap -c /var/swap
$ sudo vi /etc/fstab 

で以下の行を追記

/var/swap       swap    swap    0       0

swap を有効に

$ sudo swapon -a

確認

$ swapon -s

以下のscript でも設定できると思います
https://gist.github.com/ad55c297f62b2789eb97

vino 自動起動

DISPLAY=:0 を操作できるVNC Server のvino を導入( sudo apt install vino )してみたが自動起動しない.手動では起動する.

$ /usr/lib/vino/vino-server

/etc/xdg/autostart/vino-server.desktopOnlyShowIn?MATE を追記ることで自動起動出来るようになった.

-OnlyShowIn=GNOME;Unity;
+OnlyShowIn=GNOME;Unity;MATE

おまけ,設定画面起動

$ vino-preferences

vino-preferences.png

仮想端末が利用できない

/etc/inittab が存在しない?
systemd だから管理方法が違うのか…

$ sudo systemctl enable getty@tty2.service
Created symlink from /etc/systemd/system/getty.target.wants/getty@tty2.service to /lib/systemd/system/getty@.service.
$ sudo reboot
$ ps -ef|grep getty
root       755     1  0 09:00 tty2     00:00:00 /sbin/agetty --noclear tty2 linux
root       760     1  0 09:00 tty1     00:00:00 /sbin/agetty --noclear tty1 linux

行けそうだけどキー(Ctrl+Alt+F1/F2)が効かない?

dm を止めたらAlt+Fn で使えた.そして設定していない端末も自動的に増える.

$ sudo service lightdm stop
$ ps -ef|grep getty
root       751     1  0  5月08 tty2   00:00:00 /sbin/agetty --noclear tty2 linux
root       752     1  0  5月08 tty1   00:00:00 /sbin/agetty --noclear tty1 linux
root       754     1  0  5月08 tty3   00:00:00 /sbin/agetty --noclear tty3 linux
root       757     1  0  5月08 ?      00:00:00 /sbin/agetty --keep-baud 115200 ttyAMA0 vt220
root      1770     1  0 00:11 tty4     00:00:00 /sbin/agetty --noclear tty4 linux
root      1772     1  0 00:11 tty5     00:00:00 /sbin/agetty --noclear tty5 linux
root      1778     1  1 00:11 tty6     00:00:00 /sbin/agetty --noclear tty6 linux

この状態でdm 起動するとやはり使えない….

$ sudo service lightdm start

自動的に端末が増えるなら1枚でいいなということで結局消す.

$ sudo systemctl disable getty@tty2.service
Removed symlink /etc/systemd/system/getty.target.wants/getty@tty2.service.

シリアル接続が出来ない

GPIOからシリアル接続が出来ない.

$ sudo systemctl enable serial-getty@ttyAMA0.service
Created symlink from /etc/systemd/system/getty.target.wants/serial-getty@ttyAMA0.service to /lib/systemd/system/serial-getty@.service.
$ sudo systemctl start serial-getty@ttyAMA0.service
$ ps -ef|grep getty
root       770     1  0 09:00 ?        00:00:00 /sbin/agetty --keep-baud 115200 38400 9600 ttyAMA0 vt220
% cu -l /dev/ttyUSB6 -s 9600
Connected.
�
�o�i��
Ubuntu 15.04 ubuntupi ttyAMA0

ubuntupi login: ���~!��

繋がるけど文字化けする. /etc/systemd/system/getty.target.wants/serial-getty@ttyAMA0.service を編集して回線速度を固定しても変わらない

音声出力切り替え

  • 本体3.5mmジャック
    $ sudo amixer cset numid=3 1
    numid=3,iface=MIXER,name='PCM Playback Route'
      ; type=INTEGER,access=rw------,values=1,min=0,max=2,step=0
      : values=1
  • HDMI
    $ sudo amixer cset numid=3 2
    numid=3,iface=MIXER,name='PCM Playback Route'
      ; type=INTEGER,access=rw------,values=1,min=0,max=2,step=0
      : values=2

3.5mmジャック側では結構ノイズが乗る

動画再生

ハードウェア支援の使える omxplayer が利用できる.

叩くとインターフェースが開けない.

$ omxplayer hoge.mp4
* failed to open vchiq instance

/dev/vchiq に対しての権限がないので失敗している.

$ ls -l /dev/vchiq
crw-rw---- 1 root video 249, 0  1月  1  1970 /dev/vchiq

利用ユーザを video グループに追加する.

$ echo $USER
mk
$ sudo addgroup $USER video
Adding user `mk' to group `video' ...
Adding user mk to group video
Done.
$ grep video /etc/group
video:x:44:mk

-o オプションで音声の出力先を指定できる.

  • 内蔵3.5mmジャック
    $ omxplayer -o local hoge.mp4
  • HDMI
    $ omxplayer -o hdmi hoge.mp4

ちなみに,omxplayer での再生はVNC では飛ばされない.動画を再生しつつVNCでWeb閲覧なんかも可能.(今この部分はそうやって書いている) スクリーンセーバも裏で動く.

操作方法とか

連続再生
あるディレクトリに格納されたファイルを名前順で再生

$ find '/media/mk/Movie/' | sort -n | xargs -n1 -I{} omxplayer -o local "{}"

これだと画面に入力したキーがomxplayer に渡らないらしく画面上に入力したキーが表示されるだけでキーバインドが効かない….

$ for I in /media/mk/Movie/* ; do omxplayer -o local "$I" ;done

これなら効く

Planex GW-USDual300

Linux/Device/Planex_GW-USDual300 の手順ではうまく行かないのでメモ.

導入パッケージの linux-headerslinux-headers-rpi2 にする.

$ sudo apt install linux-headers-rpi2 build-essential git

archが見つからないので

$ make
make ARCH=armv7l CROSS_COMPILE= -C /lib/modules/3.18.0-21-rpi2/build M=/home/mk/src/rtl8192du  modules
make[1]: Entering directory '/usr/src/linux-headers-3.18.0-21-rpi2'
Makefile:620: arch/armv7l/Makefile: No such file or directory
make[1]: *** No rule to make target 'arch/armv7l/Makefile'.  Stop.
make[1]: Leaving directory '/usr/src/linux-headers-3.18.0-21-rpi2'
Makefile:149: recipe for target 'modules' failed
make: *** [modules] Error 2

リンクを貼る(リンク貼るより $ ARCH=arm make の方が良いか)
$ sudo ln -s /usr/src/linux-headers-3.18.0-21-rpi2/arch/arm /usr/src/linux-headers-3.18.0-21-rpi2/arch/armv7l
ARCH を指定してmake (3.18.0-22.23が降りてきたのでARCH=arm を試した)

$ ARCH=arm make

あとは同じ手順で利用できるようになった

$ /sbin/iwconfig wlan1 
wlan1     unassociated  Nickname:"<WIFI@REALTEK>"
          Mode:Auto  Frequency=5.18 GHz  Access Point: Not-Associated   
          Sensitivity:0/0  
          Retry:off   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

$ /sbin/iwconfig wlan2
wlan2     unassociated  Nickname:"<WIFI@REALTEK>"
          Mode:Auto  Frequency=2.412 GHz  Access Point: Not-Associated   
          Sensitivity:0/0  
          Retry:off   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

しかし,このデバイス大きいので1つで4port埋まる感じです….

Wine は動くの?

vividのpkg ではi386/amd64 にしか提供されていない.

でもWine自体はarm でも動くようなので自分でbuild すれば動くと思う.※未検証

Rasbian だとpkgで行けそう.※未検証

pi@raspberrypi ~ $ apt-cache search ^wine
wine - Windows API implementation - standard suite
wine-doc - Windows API implementation - documentation
winetricks - package manager for WINE to install software easily



spam 避けですcheck を付けて下さい

添付ファイル: fileSoftwareUpdater_menu.png 306件 [詳細] fileScreenshot from 2015-05-13 01:43:50.png 164件 [詳細] fileScreenshot-mikutter.png 319件 [詳細] fileDL2.png 346件 [詳細] fileDL1.png 331件 [詳細] fileScreenshot.png 367件 [詳細] fileScreenshot-Language Support.png 367件 [詳細] filevino-preferences.png 361件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-05-13 (水) 16:22:25 (649d)