SSブログ
Hummingboard ブログトップ

Archlinux 固定IPの設定 [Hummingboard]

 他のPCからのリモート(ssh)操作にはDHCPだと何かと不便なので固定IPにした。Archlinuxのネットワーク設定方法にはsystemd、netctl、systemd-networkdなど幾つかあるようで、ここではsystemd-netwokdで行った。最初にネットワークのデフォルト状態である。
# ip a
・・・・・・・・・・・・・・・・・・・
2: eth0: mtu 1500 qdisc pfifo_fast state UP g0
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
inet 192.168.1.181/24 brd 192.168.1.255 scope global dynamic eth0
・・・・・・・・・・・・・・・・・・・
# cat /etc/systemd/network/eth0.network
[Match]
Name=eth0

[Network]
DHCP=both
# systemctl is-enabled systemd-networkd
enabled
ipコマンドで確認できたデバイス名(eth0)のNICに対して「eth0.network」の中で「DHCP=both(DHCPv4とv6の両方)」に設定されおり、結果としてDHCPサーバから「192.168.1.181」が割り振られている。これを固定IPに設定するには「eth0.network」を以下のように変更してやれば良い。
# vi /etc/systemd/network/eth0.network
[Match]
Name=eth0

[Network]
DHCP=false
Address=192.168.1.41/24
Gateway=192.168.1.1
DNS=192.168.1.1
# ip addr flush dev eth0
# ip a
・・・・・・・・・・・・・・・・・・・
2: eth0: mtu 1500 qdisc pfifo_fast state UP gr0
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
・・・・・・・・・・・・・・・・・・・
# systemctl restart systemd-network
# ip a
・・・・・・・・・・・・・・・・・・・
2: eth0: mtu 1500 qdisc pfifo_fast state UP g0
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
inet 92.168.1.41/24 brd 192.168.1.255 scope global dynamic eth0
・・・・・・・・・・・・・・・・・・・
# systemctl reboot
固定IPアドレス(ここでは192.168.1.41)で立ち上がっているはずである。
nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

Archlinux+xbmcの導入 [Hummingboard]

 HummingBoard-i2eXへ何とかArchlinuxをインストールできたので次にxbmcを導入してみた。手順は「Archlinuxarm official + xbmc (imx6)」を参考にした。
# pacman -Syu
# pacman -S polkit
# pacman -S xbmc-imx-git libfslvpuwrap libcec-imx6 gpu-viv-bin-mx6q-fb firmware-imx imx-vpu
# systemctl start xbmc
# systemctl enable xbmc
# systemctl reboot
これでお馴染みのxbmcの画面が立ち上がって来る筈。ここでxbmcより先に「polkit」をインストールしているが、後ではxbmc終了メニューで「システム終了、電源を切る」などが表示されなかった。あと、この「xbmc」はユーザ名「xbmc」、ホームディレクトリは「/var/lib/xbmc/」で立ち上がってくるので、
# cat /usr/lib/systemd/system/xbmc.service
[Unit]
Description = Starts an instance of XBMC
After = remote-fs.target
[Service]
User = xbmc
Group = xbmc
Type = simple
ExecStart = /usr/bin/runxbmc
Restart = on-failure
[Install]
WantedBy = multi-user.target
# grep xbmc /etc/passwd
xbmc:x:1000:1000::/var/lib/xbmc:/bin/bash
設定ファイル類は「/var/lib/xbmc/.xbmc/」配下になるので、例えば日本語フォントを入替えたければ
# mkdir /var/lib/xbmc/.xbmc/media/Fonts
# cp migmix-1p-regular.ttf /var/lib/xbmc/.xbmc/media/Fonts/arial.ttf
# chown xbmc.xbmc -R /var/lib/xbmc/.xbmc/media/Fonts
のようにすれば良い。
nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

Archlinuxのインストール [Hummingboard]

 HummingBoard-i2eXが届いた。早速、Archlinuxをインストール、他にXBian、OpenELEC、Ubuntu14.04等も試したが、結果としてArchlinuxを選択した。ただArchlinux、U-boot自体、初めてなのでインストールから苦戦を強いられ、使いこなすには相当時間がかかりそう。やっとインストールできたので、取り敢えずその手順を。
(1)取り敢えずの手順
 インストールは「CuBox-i | Arch Linux ARM」や「ArchLinux - CuBox-i Wiki Pages」を参考にした。後者は前者の手順をスクリプトにより自動化したもので基本は同じ、いづれでもOSまで起動出来なかった(9/20追記:2014-09-12版ArchLinuxARM-imx6-cubox-latest.tar.gzで前者手順で正常OS起動できたので、以下記事中のSPL、u-boot.img入替え不要)。やったのは後者の「make-sdcard」スクリプトによる手順。(作業はUbuntu 14.04 PC上で)
$ wget http://archlinuxarm.org/os/ArchLinuxARM-imx6-cubox-latest.tar.gz
$ wget https://www.dropbox.com/s/e0my9z0tq644wam/make-sdcard
$ chmod +x make-sdcard
$ sudo fdisk -l # 作成するSDカードのドライブを確認
$ sudo ./make-sdcard /dev/sdX ArchLinuxARM-imx6-cubox-latest.tar.gz
本来であればこのmicroSDで正常に立ち上がる筈だが、結果として作成された一部フィアルを差替える必要があった。具体的には、このmicroSD内のBoot配下の
$ ls -l /media/hoge/Boot
合計 6771
-rw-r--r-- 1 hoge hoge 31744 8月 11 20:08 SPL
-rw-r--r-- 1 hoge hoge 43332 8月 11 21:36 imx6dl-cubox-i.dtb
-rw-r--r-- 1 hoge hoge 42379 8月 11 21:36 imx6dl-hummingboard.dtb
-rw-r--r-- 1 hoge hoge 43789 8月 11 21:36 imx6q-cubox-i.dtb
-rw-r--r-- 1 hoge hoge 227204 8月 11 20:08 u-boot.img
-rw-r--r-- 1 hoge hoge 6543872 8月 11 21:36 zImage
「SPL」、「u-boot.img」の2ファイルを以下で作成した古いものへ置き換えた。
 まずクロスコンパイル環境のインストールと環境変数の設定。(「Building the kernel and u-boot for the CuBox-i and the HummingBoard - CuBox-i Wiki Pages」を参考にした。)
$ sudo apt-get install gcc-arm-linux-gnueabi
$ export ARCH=arm
$ export CROSS_COMPILE=/usr/bin/arm-linux-gnueabi-
次に「u-boot」のソース(gitリポ)取り込みとコンパイル。
$ git clone https://github.com/SolidRun/u-boot-imx6.git
$ cd u-boot-imx6
$ git checkout b203583
$ make mx6_cubox-i_config
$ make
$ ls -l SPL u-boot.img
-rw-rw-r-- 1 hoge hoge 39936 8月 16 23:51 SPL
-rw-rw-r-- 1 hoge hoge 298420 8月 16 23:51 u-boot.img
「git checkout b203583」で2014年3月4日コミットされたソースに戻している。あとは、
$ sudo cp SPL u-boot.img /media/hoge/Boot/
でmicroSDへ上書きコピー。このSDをHummingboard-i2eXへ装着、やっとArchlinuxのログインプロンプトを表示させることが。
Arch Linux 3.10.30-27-ARCH

alarm login: root
Password: (root)
[root@alarm ~]# uname -r
3.10.30-27-ARCH
このあと、コンパイル済みのものが以下のところにあることが判明、
$ wget https://www.dropbox.com/sh/gn17qpuislhpnvo/AAAj-gyaLMginDIlqDY4CDn6a/busybox.tar.xz
$ mkdir tmp/
$ tar xvfJ busybox.tar.xz -C temp/
$ ls -l temp/u-boot/
合計 356
-rw-r--r-- 1 hoge hoge 39936 3月 4 13:46 SPL
-rw-r--r-- 1 hoge hoge 79 2月 24 09:34 serialcon.txt
-rw-r--r-- 1 hoge hoge 297652 3月 4 13:46 u-boot.img
.............................................................................
たまたま見つけたとはいえ、こちらの方が断然お手軽。

(2)もう一つの手順。多分、こちらの方が正解に近いかも..(追記)
 「SPL」、「u-boot.img」の2ファイルは古いものへ差替えずにそのまま。代りに「boot.scr」を新規作成、以下がその作成手順。
$ sudo apt-get install u-boot-tools
$ cd /media/hoge/Boot/
$ sudo vi boot.txt
setenv bootargs 'root=/dev/mmcblk0p2 console=ttymxc0,115200
video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24,bpp=32'
load mmc 0:1 0x18000000 imx6q-cubox-i.dtb
fatload mmc 0:1 0x10800000 zImage
bootz 0x10800000 - 0x18000000
$ sudo mkimage -A arm -O linux -T script -C none -n "U-Boot commands" -d boot.txt boot.scr
これでもArchlinuxのログインプロンプトを表示させることができた。
 
 現状、Archlinux+XBMC(+iptvsimple)+S880で"Media Center"として使用中だがCPU、GPUパワーを実感している。余り期待していなかったが動作も思っていたより安定している、安定性の方はRaspbmcほどではないと思うが。
 それにしても試行錯誤、しばらくはこの繰り返しですね。
nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット
Hummingboard ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。