Armadilloフォーラム

800EVA or EVA1500でmainlineカーネル起動するには

o-hayashi

2025年1月8日 10時05分

林と申します。
お世話になります。

800EVAでmainlineカーネル(Vanilla kernel v4.19以降)を動かそうとしていますが、
start_kernel が呼ばれず、起動には至りませんでした。

・3.4.81-ltsi + Yocto daisy 起動した
・mainline v4.19 + Yocto warrior start_kernelが呼ばれず起動しない

https://armadillo.atmark-techno.com/forum/armadillo/1266
にある通り、
800EVAのHermit v3.1.0がDTBの展開に対応しておらず、最近のmainlineカーネルは起動できないという
理解であっていますでしょうか?

また、
EVA1500ボードとHermit v4.1.1であれば、DTBに対応しておりv4.19以降のカーネルも起動できるのではと
思っていますが、
mainlineカーネルに対して何かしらのポーティングが必要と思っており、
主にどのようなポーティングが必要かアドバイスをいただきたく投稿しました。

よろしくお願いします。

コメント

溝渕です。

> 800EVAのHermit v3.1.0がDTBの展開に対応しておらず、最近のmainlineカーネルは起動できないという
> 理解であっていますでしょうか?

mainlineカーネルでも、CONFIG_ATAGSを有効にするとDevice Tree無しで起動できます。

ただし、その場合はカーネル側にハードウェア構成情報を持ったボードドライバが必要になり、mainlineカーネルにはこれが入っていません。その為自作する必要があります。

> EVA1500ボードとHermit v4.1.1であれば、DTBに対応しておりv4.19以降のカーネルも起動できるのではと
> 思っていますが、

上記の通り、Hermit v4系はDTBに対応しています。

> mainlineカーネルに対して何かしらのポーティングが必要と思っており、
> 主にどのようなポーティングが必要かアドバイスをいただきたく投稿しました。

少なくとも、EVA1500ボード用のDTSと、Linuxカーネルコンフィギュレーションの作成は必要です。

ただ、こちらでEVA1500ボードにmainlineカーネルを移植した実績が無い為、全作業を明示する事ができません。

以上、参考になりますと幸いです。

溝渕さま

さっそくの回答、ありがとうございます。
何れもVanillaに対してボードドライバやDTSや関連するドライバなどが必要そうであるということが理解できました。

Hermit について質問させてください。

https://armadillo.atmark-techno.com/forum/armadillo/1266
# Armadillo-EVA 1500 用の Hermit-At では、Device Tree に対応していますが、
# 多分 Armadillo-800 EVA ではそのまま動かないかと思います。

で回答されている通りではありますが、
Armadillo-800 EVAで Hermit v4.1.1をSDブートしようとしましたが、Hermitは起動しませんでした。(リリースされているバイナリと手元でビルドしたバイナリの両方で確認済)
1500EVAでは1STローダが提供されていますが、800では1STローダが提供されておらず、こちらは書き換えができないという理解です。
800において、Hermit v4.1.1を起動方法はありますでしょうか?

よろしくお願いします。

> 溝渕です。
>
> > 800EVAのHermit v3.1.0がDTBの展開に対応しておらず、最近のmainlineカーネルは起動できないという
> > 理解であっていますでしょうか?
>
> mainlineカーネルでも、CONFIG_ATAGSを有効にするとDevice Tree無しで起動できます。
>
> ただし、その場合はカーネル側にハードウェア構成情報を持ったボードドライバが必要になり、mainlineカーネルにはこれが入っていません。その為自作する必要があります。
>
> > EVA1500ボードとHermit v4.1.1であれば、DTBに対応しておりv4.19以降のカーネルも起動できるのではと
> > 思っていますが、
>
> 上記の通り、Hermit v4系はDTBに対応しています。
>
> > mainlineカーネルに対して何かしらのポーティングが必要と思っており、
> > 主にどのようなポーティングが必要かアドバイスをいただきたく投稿しました。
>
> 少なくとも、EVA1500ボード用のDTSと、Linuxカーネルコンフィギュレーションの作成は必要です。
>
> ただ、こちらでEVA1500ボードにmainlineカーネルを移植した実績が無い為、全作業を明示する事ができません。
>
> 以上、参考になりますと幸いです。
>

補足します。

>>(リリースされているバイナリと手元でビルドしたバイナリの両方で確認済)
手元でビルドした際のConfigは、
 armadillo800eva_mmcsd_defconfig
に対して以下を有効化したconfigを使用しました。

CONFIG_USE_OF=y
CONFIG_FLASH=y

よろしくお願いします。

> Hermit について質問させてください。
>
> https://armadillo.atmark-techno.com/forum/armadillo/1266
> # Armadillo-EVA 1500 用の Hermit-At では、Device Tree に対応していますが、
> # 多分 Armadillo-800 EVA ではそのまま動かないかと思います。
>
> で回答されている通りではありますが、
> Armadillo-800 EVAで Hermit v4.1.1をSDブートしようとしましたが、Hermitは起動しませんでした。(リリースされているバイナリと手元でビルドしたバイナリの両方で確認済)
> 1500EVAでは1STローダが提供されていますが、800では1STローダが提供されておらず、こちらは書き換えができないという理解です。
> 800において、Hermit v4.1.1を起動方法はありますでしょうか?
>
> よろしくお願いします。
>
> > 溝渕です。
> >
> > > 800EVAのHermit v3.1.0がDTBの展開に対応しておらず、最近のmainlineカーネルは起動できないという
> > > 理解であっていますでしょうか?
> >
> > mainlineカーネルでも、CONFIG_ATAGSを有効にするとDevice Tree無しで起動できます。
> >
> > ただし、その場合はカーネル側にハードウェア構成情報を持ったボードドライバが必要になり、mainlineカーネルにはこれが入っていません。その為自作する必要があります。
> >
> > > EVA1500ボードとHermit v4.1.1であれば、DTBに対応しておりv4.19以降のカーネルも起動できるのではと
> > > 思っていますが、
> >
> > 上記の通り、Hermit v4系はDTBに対応しています。
> >
> > > mainlineカーネルに対して何かしらのポーティングが必要と思っており、
> > > 主にどのようなポーティングが必要かアドバイスをいただきたく投稿しました。
> >
> > 少なくとも、EVA1500ボード用のDTSと、Linuxカーネルコンフィギュレーションの作成は必要です。
> >
> > ただ、こちらでEVA1500ボードにmainlineカーネルを移植した実績が無い為、全作業を明示する事ができません。
> >
> > 以上、参考になりますと幸いです。
> >

溝渕です。

> Armadillo-800 EVAで Hermit v4.1.1をSDブートしようとしましたが、Hermitは起動しませんでした。(リリースされているバイナリと手元でビルドしたバイナリの両方で確認済)

やりたい事は、Armadillo-800 EVAのLinuxカーネルをアップグレードしたいという理解で良いでしょうか?

Armadillo-800 EVAは、「ルネサス エレクトロニクス R-Mobile A1 評価ボード」です。

また、R-Mobile A1(R8A77404DBA)の生産終了にともない、弊社の該当プロセッサ搭載製品も販売終了となっています。

[Armadilo-810/840/840m販売終了のご案内]
https://armadillo.atmark-techno.com/system/files/change_notification/20…

Armadillo-800 EVAのLinuxカーネルをアップグレードできたとしても、それを動かすハードウェアをこれから入手するのは困難と思います。どのような目的で作業されていますか?

林です。

> やりたい事は、Armadillo-800 EVAのLinuxカーネルをアップグレードしたいという理解で良いでしょうか?

はい、目的としては、
>> 800EVAでmainlineカーネル(Vanilla kernel v4.19以降)を動かそうとしていますが、
です。
Vanilla カーネルには800EVAのDTBがあるため、Hermitもこれに合わせて、DTBに対応したv4系を使用する必要があると考え、
800EVA上で、v4系Hermitの起動を試みました。

>> Armadillo-800 EVAのLinuxカーネルをアップグレードできたとしても、それを動かすハードウェアをこれから入手するのは困難と思います。どのような目的で作業されていますか?
Armadillo-800 EVA ボードは手元にあり、VanillaカーネルでLTP等のカーネルのテストを動かすことが目的です。

よろしくお願いします。

> 溝渕です。
>
> > Armadillo-800 EVAで Hermit v4.1.1をSDブートしようとしましたが、Hermitは起動しませんでした。(リリースされているバイナリと手元でビルドしたバイナリの両方で確認済)
>
> やりたい事は、Armadillo-800 EVAのLinuxカーネルをアップグレードしたいという理解で良いでしょうか?
>
> Armadillo-800 EVAは、「ルネサス エレクトロニクス R-Mobile A1 評価ボード」です。
>
> また、R-Mobile A1(R8A77404DBA)の生産終了にともない、弊社の該当プロセッサ搭載製品も販売終了となっています。
>
> [Armadilo-810/840/840m販売終了のご案内]
> https://armadillo.atmark-techno.com/system/files/change_notification/20…
>
> Armadillo-800 EVAのLinuxカーネルをアップグレードできたとしても、それを動かすハードウェアをこれから入手するのは困難と思います。どのような目的で作業されていますか?
>

溝渕です。

> Armadillo-800 EVAで Hermit v4.1.1をSDブートしようとしましたが、Hermitは起動しませんでした。(リリースされているバイナリと手元でビルドしたバイナリの両方で確認済)
> 1500EVAでは1STローダが提供されていますが、800では1STローダが提供されておらず、こちらは書き換えができないという理解です。

1500EVAで1STローダを提供している理由は、RZ/G1Mが起動した直後に実行可能なプログラムサイズの最大が16kBytesである為です。その為、RZ/G1Mが直接Hermit-Atを実行する事ができない為、1STローダであるIPLを利用しています。

R-Mobile A1にはこのような制限は無いのでIPLは不要です。

> 800において、Hermit v4.1.1を起動方法はありますでしょうか?

以前も申し上げましたが、Armadillo-1500/800 EVAmainlineカーネルを移植した実績が無い為、全作業を明示する事ができません。思い付きのアドバイス程度になってしまう事をご容赦ください。

まず、DTB対応するとの事ですので、少なくともDTBを配置する為にRAMのマップを変更する必要があると思います。

(恐らく)Hermit-Atの起動ログ等も全く起動できない状態と思いますので、まずはどこまで動いているのかを把握するのが良いかなと思います。私がブートローダの移植を行う際は、全く起動できない状態の場合はJTAGを利用して起動しない原因を特定する事が多いです。

以上、ご参考になりますと幸いです。