[失敗][ARM][Cubietruck][自分用メモ] CubietruckのKernelを3.19.3にアップデートしてみた。

ARM

Igorさんのお陰で手間をかけずにアップデートすることができます。

基本的にKernelのアップデートをするには、ページ下部にあるDevelopersの項目にあるKernelをまとめたファイルが置かれているので、こちらを先にダウンロードしておきます。

手順

wget http://mirror.igorpecovnik.com/kernel/3.19.3-cubietruck-next.tar

適当な場所に展開します。

tar xf 3.19.3-cubietruck-next.tar

ファイルが4つほど展開されるので、各ファイルをインストールします。

$ tar xf 3.19.3-cubietruck-next.tar
$ ls -l
total 28400
-rw-rw-r-- 1 kometch kometch 14540800 Apr  1 00:07 3.19.3-cubietruck-next.tar
-rw-r--r-- 1 kometch kometch    25242 Mar 28 06:53 linux-dtb-3.19.3-cubietruck_3.4_armhf.deb
-rw-r--r-- 1 kometch kometch  6639610 Mar 28 06:53 linux-headers-3.19.3-cubietruck_3.4_armhf.deb
-rw-r--r-- 1 kometch kometch  7101114 Mar 28 06:53 linux-image-3.19.3-cubietruck_3.4_armhf.deb
-rw-r--r-- 1 kometch kometch   766174 Mar 28 06:53 linux-libc-dev_3.4_armhf.deb
$ sudo dpkg -i linux-*
Selecting previously unselected package linux-dtb-3.19.3-cubietruck.
(Reading database ... 64181 files and directories currently installed.)
Preparing to unpack linux-dtb-3.19.3-cubietruck_3.4_armhf.deb ...
Unpacking linux-dtb-3.19.3-cubietruck (3.4) ...
dpkg: error processing archive linux-dtb-3.19.3-cubietruck_3.4_armhf.deb (--install):
trying to overwrite '/boot/dtb/sun5i-a10s-r7-tv-dongle.dtb', which is also in package linux-dtb-3.19.0-cubieboard 3.4
Selecting previously unselected package linux-headers-3.19.3-cubietruck.
Preparing to unpack linux-headers-3.19.3-cubietruck_3.4_armhf.deb ...
Unpacking linux-headers-3.19.3-cubietruck (3.4) ...
Selecting previously unselected package linux-image-3.19.3-cubietruck.
Preparing to unpack linux-image-3.19.3-cubietruck_3.4_armhf.deb ...
Unpacking linux-image-3.19.3-cubietruck (3.4) ...
dpkg: warning: downgrading linux-libc-dev:armhf from 3.13.0-48.80 to 3.4
Preparing to unpack linux-libc-dev_3.4_armhf.deb ...
Unpacking linux-libc-dev (3.4) over (3.13.0-48.80) ...
Setting up linux-headers-3.19.3-cubietruck (3.4) ...
Setting up linux-image-3.19.3-cubietruck (3.4) ...
update-initramfs: Generating /boot/initrd.img-3.19.3-cubietruck
Setting up linux-libc-dev (3.4) ...
Errors were encountered while processing:
linux-dtb-3.19.3-cubietruck_3.4_armhf.deb

過去にKernelのアップデートなどをしていると、dtbファイルが上書きできないというエラーが出るようなので、該当のパッケージを削除します。

$ sudo dpkg -r linux-dtb-3.19.0-cubieboard
(Reading database ... 77363 files and directories currently installed.)
Removing linux-dtb-3.19.0-cubieboard (3.4) ...
$ sudo dpkg -i linux-dtb-3.19.3-cubietruck_3.4_armhf.deb
(Reading database ... 77330 files and directories currently installed.)
Preparing to unpack linux-dtb-3.19.3-cubietruck_3.4_armhf.deb ...
Unpacking linux-dtb-3.19.3-cubietruck (3.4) ...
Setting up linux-dtb-3.19.3-cubietruck (3.4) ...

展開されたdtbファイルが/boot/dtb直下に展開されてしまうので、それらを/boot/dtb/3.19.3-cubietruckなどのディレクトリに再配置します。

/boot/dtb$ sudo cp -pr sun* 3.19.3-cubietruck/

このままでは新しいKernelが選択されていないため、新しい方で起動してきません。
ということでそれを司るboot.cmdファイルを書き換えます。
修正部分は2行目3行目になります。

修正前)

$ cat boot-next.cmd.org
setenv bootargs console=tty1 root=/dev/sda1 rootwait panic=10
ext4load mmc 0 0x49000000 /boot/dtb/3.19.0-rc5-cubieboard/${fdtfile}
ext4load mmc 0 0x46000000 /boot/vmlinuz-3.19.0-rc5-cubieboard
env set fdt_high ffffffff
bootz 0x46000000 - 0x49000000

修正後)

$ cat boot-next.cmd
setenv bootargs console=tty1 root=/dev/sda1 rootwait panic=10
ext4load mmc 0 0x49000000 /boot/dtb/3.19.3-cubietruck/${fdtfile}
ext4load mmc 0 0x46000000 /boot/vmlinuz-3.19.3-cubietruck
env set fdt_high ffffffff
bootz 0x46000000 - 0x49000000

ここを書き間違えると再起動後にbootしてこなくなるので注意しましょう。

問題がなさそうであれば、念じながら再起動を実施しましょう。

ところが自分の環境では3.19.3 + SATAな環境ではどうにも起動してこない症状を確認しております。
こちらについてはどうにか検証作業を続けて、然るべき場所に報告できればと思っています。

この記事を書いた人

kometchtech

うつ病を患いながら、IT業界の末席にいるおっさんエンジニア。科学計算をしたことがないのに、HPC分野にお邪魔している。興味のある分野で学習したことをblogにまとめつつ、うつ病の経過症状のメモも置いておく日々。じつはRouterboard User Group JPの中の人でもある。 Amazon欲しいものリスト / Arm板を恵んでくれる人募集中

kometchtechをフォローする
タイトルとURLをコピーしました