採用情報

お問い合わせ

BLOG

EMLinux

2025 年 01 月 29 日

第 6 話:組込み Linux「EMLinux」をアップデートしてみよう

※本記事は、2025 年 1 月 28 日時点の情報です。

はじめに

EMLinux 3.x 系の最新バージョン EMLinux 3.2-202501 が、2025 年 1 月 10 日にリリースされました。

本記事では、これまでの記事で使ってきた EMLinux 3.1-202409 から EMLinux 3.2-202501 にアップデートするための手順を紹介します。

アップデート手順の概要

アップデート手順の概要は以下になります。以下の 3 ステップで、EMLinux のアップデートが行えます。

  1. EMLinux 3.2-202501.zip を任意のディレクトリに展開する
  2. EMLinux 3.1-202409 で作成したカスタムレイヤーを EMLinux 3.2-202501 に追加する
  3. EMLinux 3.2-202501 で EMLinux をビルドする

アップデートの実行

EMLinux のサブスクリプションを既にご契約いただいている方は、サイバートラストのカスタマーポータルから、EMLinux 3.2-202501.zip をダウンロードしてください。

無償評価版で試してみたいという方は、以下の「EMLinux 評価版ダウンロード申し込み」から、EMLinux 3.2-202501.zip を入手してください。

EMLinux無償評価版ダウンロード申し込み

EMLinux 3.2-202501 を展開したディレクトリに移動してください。本記事では、以下のディレクトリに展開しました。

cd /home/emlinux/EMLinux_3.2-202501/source/emlinux-3.2-202501/

EMLinux 3.1-202409 で作成したレイヤー meta-nginx をコピーします。

cp -a /home/emlinux/EMLinux_3.1-202409/source/emlinux-3.1-202409/\
repos/meta-nginx repos/

リンクファイルを作成してください。

ln -s ../repos/meta-nginx/scripts/add-layer-nginx \
setup-hooks/70-add-layer-custom

EMLinux のビルド用コンテナを起動するため、以下のディレクトリに移動してください。

cd /home/emlinux/EMLinux_3.2-202501/source/emlinux-3.2-202501/\
repos/meta-emlinux/docker

EMLinux のビルド用コンテナを起動してください。

./run.sh

work ディレクトリにて、以下のコマンドを実行してください。

build@e0d34b689d39:~/work$ source setup-emlinux build

上記実行後、build ディレクトリに自動で移動します。

build@e0d34b689d39:~/work/build$

bitbake-layers コマンドで、meta-nginx が追加されていることを確認してください。

build@e0d34b689d39:~/work/build$ bitbake-layers show-layers 
NOTE: Starting bitbake server...
layer                 path                                                                    priority
========================================================================================================
core                  /home/build/work/build/../repos/isar/meta                               5
emlinux-private       /home/build/work/build/../repos/meta-emlinux-private                    13
emlinux               /home/build/work/build/../repos/meta-emlinux                            12
cip-core              /home/build/work/build/../repos/isar-cip-core                           6
nginx                 /home/build/work/build/../repos/meta-nginx                              30

もし、meta-nginx が追加されていない場合には、bitbake-layers コマンドを用いて meta-nginx を追加してください。

build@e0d34b689d39:~/work/build$ bitbake-layers add-layer ../repos/meta-nginx

vim コマンドで、conf/local.conf ファイルを開いてください。

build@e0d34b689d39:~/work/build$ vim conf/local.conf

conf/local.conf ファイルの末尾に以下を追記してください。

(前略)
MACHINE = "qemu-arm64"

以下のコマンドを実行し、EMLinux のビルドを実行します。

bitbake custom-image

ビルドが完了しましたら、exit コマンドでコンテナからログアウトしてください。

build@37a3c680506c:~/work/build$ exit

アップデートされたことを確認する

build ディレクトリに移動してください。

cd /home/emlinux/EMLinux_3.2-202501/source/emlinux-3.2-202501/build

vim などで、run-vm.sh ファイルを作成し、run-vm.sh を以下のように編集してください。

$ vi run-vm.sh
path=./tmp/deploy/images/qemu-arm64
image=custom-image-emlinux-bookworm-qemu-arm64

qemu-system-aarch64 \
-device virtio-net-device,netdev=net0,mac=52:54:00:12:35:02 \
-netdev user,id=net0,hostfwd=tcp::2280-:80 \
-drive id=disk0,file=$path/$image.ext4,if=none,format=raw \
-device virtio-blk-device,drive=disk0 -show-cursor -device VGA,edid=on \
-device qemu-xhci \
-device usb-tablet \
-device usb-kbd \
-object rng-random,filename=/dev/urandom,id=rng0 \
-device virtio-rng-pci,rng=rng0 \
-nographic \
-machine virt \
-cpu cortex-a57 \
-m 512 \
-serial mon:stdio \
-serial null \
-kernel $path/$image-vmlinux \
-initrd $path/$image-initrd.img \
-append 'root=/dev/vda rw highres=off console=ttyS0 mem=512M ip=dhcp console=ttyAMA0'

run-vm.sh ファイルに実行権限を付与してください。

$ chmod +x run-vm.sh

run-vm.sh を実行し、QEMU で EMLinux を起動してください。

$ ./run-vm.sh

起動完了後、ユーザ名 root、パスワード root でログインしてください。

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x411fd070]
[    0.000000] Linux version 6.1.119-cip33 (isar-users@googlegroups.com) (aarch64-linux-gnu-gcc (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40) #1 SMP PREEMPT Thu, 01 Jan 1970 01:00:00 +0000
[    0.000000] Machine model: linux,dummy-virt
(中略)
EMLinux 3.2 EMLinux3 ttyAMA0
EMLinux3 login: 

uname -r コマンドで kernel のバージョンを確認すると、以下のように 6.1.119-cip33 に更新されていることが分かります。

# EMLinux 3.1-202409 で実行
root@EMLinux3:~# uname -r 
6.1.102-cip26

# EMLinux 3.2-202501 で実行
root@EMLinux3:~# uname -r
6.1.119-cip33

また、meta-nginx レイヤーにてインストールした NGINX も正常に起動しています。

root@EMLinux3:~# systemctl status nginx
● nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; preset: enabled)
     Active: active (running) since Wed 2025-01-15 08:11:40 UTC; 1min 47s ago
(後略)

さいごに

本記事では EMLinux のアップデート手順についてご紹介しました。

「アップデート手順の概要」にてお伝えしたように、3 ステップで簡単に EMLinux をアップデートすることができます。

EMLinux は年間サブスクリプションを契約されているお客様に向けて、定期的なアップデートを提供しています。お客様の大切な組込み機器のセキュリティ向上のためにも、定期的なアップデートの適用をお勧めいたします。

関連リンク
連載リンク
CentOS 7 延長サポートサービス
デジタルトランスフォーメーションのための電子認証基盤 iTrust
SSL/TLS サーバー証明書 SureServer Prime