コンテンツへスキップ

Armbianをアップグレードする方法(jessie -> stretch)

我が家のOrengePi PCにarmbian jessieをインストールして約2年が経ちました。その間に新しくarmbian BionicとStretchがリリースされLinux kernelも4.x系に変わりました。この記事ではarmbian jessieからStretchにアップグレードする方法について記載します。

環境

今回アップグレードするOrange Pi PCは送料込みで2,000円と安価なボードです。我が家では3DプリンタサーバやNASとして活躍しています。

  • Board:Orange Pi PC
  • CPU:Allwinner H3 @1.3GHz(core x4)
  • Memory:1GByte
  • OS:Armbian(32bit)
R0011953.JPG
Orange Pi PC

Orange Pi PCを使ったサーバ構築については以下の記事を参照してください。

Armbianを既存環境を残してjessie -> stretchにアップグレード

はじめに

我が家のOrangePi PCにはarmbian jessieがインストールされています。日頃は3DプリンタサーバやNASとして使っているのでこの設定を残したままアップグレードを行います。手順としては、

  1. aptリポジトリの書き換え(jessie -> stretch)
  2. kernelのアップグレード
  3. その他パッケージ類のアップグレード

という感じになります。

OrangePi PCとArmbian
kernelは3.4がインストールされています。

リポジトリの書き換え

まず、aptのリポジトリを既存のものから新しいものに変更します(ここではjessieからstretchに変更)。以下のファイルを編集してください。

  • /etc/apt/sources.list
  • /etc/apt/sources.list.d/armbian.list

/etc/apt/sources.list


deb http://httpredir.debian.org/debian stretch main contrib non-free
#deb-src http://httpredir.debian.org/debian stretch main contrib non-free

deb http://httpredir.debian.org/debian stretch-updates main contrib non-free
#deb-src http://httpredir.debian.org/debian stretch-updates main contrib non-free

deb http://httpredir.debian.org/debian stretch-backports main contrib non-free
#deb-src http://httpredir.debian.org/debian stretch-backports main contrib non-free

deb http://security.debian.org/ stretch/updates main contrib non-free
#deb-src http://security.debian.org/ stretch/updates main contrib non-free

/etc/apt/sources.list.d/armbian.list


deb http://apt.armbian.com stretch main stretch-utils stretch-desktop

書き換えたらupdateしておきます。


$ sudo apt update

kernelのアップデート

次にkernelを3.x系から4.x系に更新します。なお、kernelを4.x系に更新すると何故かMACアドレスが変わってしまいました。DHCPで固定IPを割り当てている方はご注意。


$ sudo apt-get install linux-image-next-sunxi linux-headers-next-sunxi linux-dtb-next-sunxi linux-u-boot-orangepipc-next linux-stretch-root-next-orangepipc

アップグレード前


$ uname -a
Linux orangepipc 3.4.113-sun8i #68 SMP PREEMPT Wed Sep 19 10:23:30 CEST 2018 armv7l GNU/Linux

アップグレード後


$ uname -a
Linux orangepipc 4.14.70-sunxi #265 SMP Wed Sep 19 10:01:19 CEST 2018 armv7l GNU/Linux

OrangePi PCとArmbian
kernelが4.14に更新されました

パッケージのアップグレード

他のパッケージ類をまとめてアップグレードします。


$ sudo apt upgrade

 

CPUがひとつしか認識しない

これで無事アップグレード完了、めでたしめでたし・・・で終わりたかったのですが、問題が発生しました。Orange Pi PCに積まれているAllwinner H3はCPUが4コア搭載されているのですが、アップグレード後に確認するとひとつしか認識していません。

アップグレード前


$ cat /proc/cpuinfo
Processor : ARMv7 Processor rev 5 (v7l)
processor : 0
BogoMIPS : 6171.42

processor : 1
BogoMIPS : 6171.42

processor : 2
BogoMIPS : 6171.42

processor : 3
BogoMIPS : 6171.42

Features : swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpv4 idiva idivt
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc07
CPU revision : 5

Hardware : sun8i
Revision : 0000
Serial : 44005035c2042c3c074e

アップグレード後


$ cat /proc/cpuinfo
processor : 0
model name : ARMv7 Processor rev 5 (v7l)
BogoMIPS : 22.85
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc07
CPU revision : 5

Hardware : Allwinner sun8i Family
Revision : 0000
Serial : 02c0008152a4692a

どうもu-bootのパラメータが問題らしく、以下のu-bootスクリプトのパラメータを修正すると4coreともに認識しました。

  • /boot/boot.cmd

修正するパラメータ

  • setenv bootm_boot_mode=nonsec

私は以下のスクリプトをそのままコピーさせてもらいました。

boot.cmdを書き換えたら以下のコマンドを実行して再起動します。


$ sudo mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr
$ shutdown -r now

念の為確認すると、


$ cat /proc/cpuinfo
processor : 0
model name : ARMv7 Processor rev 5 (v7l)
BogoMIPS : 22.85
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc07
CPU revision : 5

....

processor : 3
model name : ARMv7 Processor rev 5 (v7l)
BogoMIPS : 22.85
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc07
CPU revision : 5

Hardware : Allwinner sun8i Family
Revision : 0000
Serial : 02c0008152a4692a

無事に認識しました。ほっと一息です。

 

所感

OragenPi PCにインストールしたarmbianを、既存環境を残したままaptでアップグレードを行ってみました。

多分、ゼロからOSを入れ直したほうがいいと思うのですが最初から設定するのが面倒で駄目元でやってしまいました。途中でCPU Coreが1つしか認識しなくなったりしましたが、一応設定変更で対応出来て動いてくれています。

 

参考

この記事は以下の内容を参考にさせていただきました。

公開日 カテゴリー PC

sukeについて

自転車で日本一周旅行に出ようとー思い立ったエンジニア。 ガジェット類やセミナーに目がない。 将来は田舎でほっこりとしたいですねー

1 thought on “Armbianをアップグレードする方法(jessie -> stretch)

  1. suke

    その後、sambaが起動できなくなっているのを発見。segment faultで落ちているみたい・・・ライブラリかなにかの不整合かなぁ。

    (追記)
    sambaを一度purgeしてdist-upgradeしたあとにもう一度installしたら直りました。

    $ sudo apt purge samba

    $ sudo apt upgrade
    $ sudo apt dist-upgrade
    $ sudo apt autoclean

    $ sudo apt install samba

    返信

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください