Armadilloフォーラム

Armadillo-IoT A6:USB Video Class(UVC)を有効にする

yuji_aoki

2023年11月22日 19時27分

お世話になります。
Armadillo-IoT A6 にて USB Video Class(UVC)を有効にする 方法について教えて下さい。

Armadillo-640:USB Video Class(UVC)を有効にする
https://armadillo.atmark-techno.com/blog/615/3185

を参考に作業してみました。
Armadillo-IoT A6 では ATDE のバージョンは ATDE8 v20201224 以降 と取説にありましたので、
atde8-amd64-20230127 を使用しています。

まず、カーネルのソースコードをこちらからダウンロードし、解凍しました。
https://armadillo.atmark-techno.com/files/downloads/armadillo-iot-a6/so…

カーネルコンフィギュレーションを設定する所

Device Drivers
[*] Multimedia support            // *を付ける
 [*] Cameras/video grabbers support    // *を付ける
 [*] Media USB Adapters        // *を付ける
   [*] USB_VIDEO_CLASS (UVC)        // *を付ける

にて[M] USB_VIDEO_CLASS (UVC) から変える事が出来ませんでした。この点如何でしょうか?

また、その後

atmark@atde8:~/linux-v4.14-at[version]$ make ARCH=arm armadillo-iotg-a6_defconfig
atmark@atde8:~/linux-v4.14-at[version]$ make ARCH=arm menuconfig
atmark@atde8:~/linux-v4.14-at[version]$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-

にて、certs/x509_certificate_list に必要なターゲット 'debian/certs/debian-uefi-certs.pem'を makeするルールがありません、中止
というエラーが発生します。どうすれば良いでしょうか?

コメント

at_keitaro.takahashi

2023年11月24日 14時31分

高橋です。

こちらでも新規にダウンロードしたATDE8を使用してUVCを有効にする手順を行いましたが、
コンフィギュレーションの変更、カーネルのビルドともに問題なく実行できました。

恐らくですが、menuconfigの実行前に

make ARCH=arm armadillo-iotg-a6_defconfig

のコマンドを実行できていないものと思われます。

お手数ですが、もう一度以下の手順をお試しいただけますでしょうか。

make ARCH=arm armadillo-iotg-a6_defconfig
make ARCH=arm menuconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- LOADADDR=0x82000000 uImage

高橋様、ご教授ありがとうございます。
armadillo-iotg-a6_defconfig が同フォルダ階層に必要なのかと勝手に思い込み、
このファイルを勝手に移動していました。
それを行わず、もう一度解凍したカーネルソースフォルダ内で

make ARCH=arm armadillo-iotg-a6_defconfig
make ARCH=arm menuconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-

をしたところ、今度は
./scripts/gen_initramfs_list.sh: Cannot open 'initramfs_a600.cpio.gz'
make[1]: *** [usr/Makefile:60: usr/initramfs_data.cpio.gz] エラー 1
make: *** [Makefile:1068: usr] エラー 2
というエラーが発生しました。
'initramfs_a600.cpio.gz'というファイルは 検索したところ存在しませんでした。
.config ファイルを直接見たところ

# CONFIG_SCHED_AUTOGROUP is not set
# CONFIG_SYSFS_dEPRECATED is not set
# CONFIG_RELAY is not set
CONFIG_BLK_DEV_INITRD=Y
CONFIG_INITRAMFS_SOURCE="initramfs_a600.cpio.gz"

という記述がありましたので、上記最下行をコメントアウトし、

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-

をしたところ、成功しました。
これは対応としてよろしかったでしょうか?
高橋様の環境では、このようなことは発生しませんでしょうか?

at_keitaro.takahashi

2023年11月28日 16時01分

高橋です。

申し訳ありません、ブログの手順が一部不足しておりました。
ビルド初回のみ、追加で必要な手順があります。

.configファイルへの変更を元に戻した状態で、
製品マニュアル 「22.2.1. イメージをカスタマイズ」を参考に
「initramfs アーカイブへのシンボリックリンク作成」の手順を行ってください。
https://manual.atmark-techno.com/armadillo-iot-a6/armadillo-iota6_produ…
(initramfs アーカイブはカーネルのソースコードと同じページでダウンロードできます。)

ブログの内容は追って修正いたします。