Armadilloフォーラム

生産終了品A4601-U00Z用のlinux.bin.gzとromfs.img.gzから新規のA4631-U00Zを使ってカーネルのconfig設定を知る方法ありますか

mhiro

2021年6月16日 18時45分

Armadillo-460の生産終了品A4601-U00Zで開発したlinux.bin.gzとromfs.img.gzがあります。
手元にA4601-U00Z有りません。開発した環境もソースも有りません。
新規にA4631-U00Zは入手しました。
A4631-U00Z用のlinux.bin.gzとromfs.img.gzは作成済みで、起動も確認済みです。
今回知りたいのは、A4601-U00Z用で作成したカーネルのconfigの設定です。
新規のA4631-U00Zに生産終了品A4601-U00Z用で作成したlinux.bin.gzとromfs.img.gzでは起動出来ませんでした。
新規のA4631-U00Z用のlinux.bin.gzと生産終了品A4601-U00Zのromfs.img.gzでは起動出来ましたが、zcat /proc/config.gzで
得られるconfigの値は新規のA4631-U00Z用のconfigの値でした。
生産終了品A4601-U00Zがあれば簡単にzcat /proc/config.gzで分かることなのですが、A4601-U00Zが手元に無い為にconfigを
知ることが出来ません。
どうにかして、生産終了品A4601-U00Z用のカーネルのconfigの値を知ることは出来ないでしょうか

コメント

at_akihito.irie

2021年6月17日 13時12分

入江です。

extract-ikconfigを実行することで、ビルド済みのカーネルイメージからコン
フィグ設定を得ることができます。

ただし、ビルド済みカーネルがCONFIG_IKCONFIGを有効にしてビルドしたもの
でなければ本手順でのコンフィグ設定の取得はできません。
Armadillo-460のデフォルトコンフィグレーションでは、CONFIG_IKCONFIGは有
効になっているので、お客様が無効にしていなければ有効になっているはずで
す。

まず、以下からlinux-2.6.26-atのソースコードをATDE上にダウンロード・展
開してください。
既にダウンロード・展開してある場合はそちらを使用しても問題ありません。
https://armadillo.atmark-techno.com/resources/software/armadillo-460/li…

[ATDE]$ ls
linux-2.6.26-at31.tar.gz
[ATDE]$ tar xf linux-2.6.26-at31.tar.gz
[ATDE]$ ls
linux-2.6.26-at31 linux-2.6.26-at31.tar.gz

次に、コンフィグ設定を調べたいlinux.bin.gzを展開します。

[ATDE]$ ls linux.bin.gz
linux.bin.gz
[ATDE]$ gunzip linux.bin.gz
[ATDE]$ ls linux.bin
linux.bin

ダウンロード・展開したLinuxソースコードのディレクトリに入り、
extract-ikconfigを先の手順で展開したlinux.binに対して実行します。
linux.binへのパスは適宜読み替えてください。

[ATDE]$ cd linux-2.6.26-at31
[ATDE ~/linux-2.6.26-at31]$ ./scripts/extract-ikconfig /path/to/linux.bin > config_list

実行してできたconfig_listファイルにlinux.binで設定されているカーネルコ
ンフィグレーションがリストされます。

mhiro

2021年6月17日 15時22分

入江様、ご教示ありがとうございます。

無事に、生産終了版のlinux.binからカーネルのconfigを取得する事が出来ました。