Armadilloフォーラム

[Armadillo-A6]Linuxカーネル(at65)ビルドでエラー発生

y-harada

2024年12月17日 14時21分

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

下記ビルド手順でビルド実施
https://manual.atmark-techno.com/armadillo-iot-a6/armadillo-iota6_produ…

ビルドエラーが発生します。
対処方法をご教示願います。

※コンフィギュレーションで「armadillo-640_defconfig」
指定時は正常にビルドが完了します。

atmark@atde8:/linux-v4.14-at65$ sudo make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- LOADADDR=0x82000000 uImage
CHK include/config/kernel.release
CHK include/generated/uapi/linux/version.h
…(中略)…
drivers/misc/linmux/Makefile:66: /drivers/misc/linmux/major_devnums: そのようなファイルやディレクトリはありません
make[3]: *** ターゲット '/drivers/misc/linmux/major_devnums' を make するルールがありません. 中止.
make[2]: *** [scripts/Makefile.build:588: drivers/misc/linmux] エラー 2
make[1]: *** [scripts/Makefile.build:588: drivers/misc] エラー 2
make: *** [Makefile:1068: drivers] エラー 2

==========
製品型番:Armadillo-IoT A6
Debian/ABOSバージョン:
カーネルバージョン:linux-v4.14-at65
3G/LTE モジュール情報 (Debianのみ):
その他:
ATDEのバージョン
atde8-amd64-20210913
Linuxカーネルのソース
linux-v4.14-at65.tar.gz
initramfs_a600-2.1.2.cpio.gz
==========

コメント

at_dominique.m…

2024年12月17日 14時53分

haradaさん

お世話になっています、
マルティネです。

> atmark@atde8:/linux-v4.14-at65$ sudo make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- LOADADDR=0x82000000 uImage
>
> drivers/misc/linmux/Makefile:66: /drivers/misc/linmux/major_devnums: そのようなファイルやディレクトリはありません

このエラーの原因は、linmux の Makefile で $PWD の変数を使ってますが sudo で make を実行すると sudo がその変数をクリアしてエラーが発生します。

- 基本的にはビルドステップ(make等)に sudo を使わない方が好ましいです(色々理由ありますが、例えば万が一にビルドスクリプトの問題で rm -rf /などあれば、ユーザーで実行した方が被害が少ない)。よろしければビルドディレクトリを「sudo chown -R $USER: .」などで権限を渡してから sudo なしでビルドしてください。
- どうしても sudo でビルドしたいばあいはこのカーネルの場合に PWD を設定しなおす必要があります(「sudo make ... PWD="$PWD"」等)

よろしくお願いします。

マルティネさん
お世話になります。

詳細な回答ありがとうございました。
解決できました。
本件はクローズ致します。