2013年8月28日水曜日

USBラジオ RDPC-101(5) カスタムカーネル作成・・・コンパイルエラー

Raspberry Pi(Raspbian)用カーネルをクロスコンパイルを参考にカスタムカーネルを作成してみた。

詳細は参考を見てもらうとして、最終的にカーネルのビルドで以下のエラーが発生。
途方に暮れる。


$ DEB_HOST_ARCH=armhf fakeroot make-kpkg --arch arm --subarch armhf  --cross_compile arm-unknown-linux-gnueabi- --revision 0.1 --us --uc kernel_image modules_image


... 略 ...

  LD      drivers/staging/vt6656/built-in.o
  LD      drivers/staging/winbond/built-in.o
  LD      drivers/staging/wlan-ng/built-in.o
  LD      drivers/staging/zram/built-in.o
  LD      drivers/staging/zsmalloc/built-in.o
  LD      drivers/staging/built-in.o
  CC      drivers/thermal/thermal_sys.o
  CC      drivers/thermal/bcm2835-thermal.o
drivers/thermal/bcm2835-thermal.c:21:23: fatal error: mach/vcio.h: No such file or directory
compilation terminated.
make[3]: *** [drivers/thermal/bcm2835-thermal.o] エラー 1
make[2]: *** [drivers/thermal] エラー 2
make[1]: *** [drivers] エラー 2
make[1]: ディレクトリ `/home/mihara/raspberrypi-cross/linux' から出ます
make: *** [debian/stamp/build/kernel] エラー 2


なんだろう。
Raspbianのgithubのソースコードそのままではビルドできないのか。

それともなにか間違えているのだろうか。うーん。

1 件のコメント:

Unknown さんのコメント...

はじめまして、こんばんは

若浦と申します。

遙かな過去記事にコメントです。
先日、年末大掃除前の取捨選択で貴重品と書かれたダンボール箱を発見しましてサン電子 RDPC-101 が入っていました(笑)

買ってたんだと思い手持ち Raspberry PI 3B で使えるようにしてみました。
そのあたりのメイクとソースは GitHub に入れて行こうと思っています。

ALSA に嫌われる(mplayer radio://freq も含む)はもしかすると、この
USB デバイスのクラスのせいかもと思いコメントさせて頂いてる次第です。

$ lsusb
Bus 001 Device 004: ID 10c4:818a Cygnal Integrated Products, Inc. Silicon Labs FM Radio Reference Design
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

$ lsusb -t
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc_otg/1p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/5p, 480M
|__ Port 1: Dev 3, If 0, Class=Vendor Specific Class, Driver=smsc95xx, 480M
|__ Port 4: Dev 4, If 1, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 4: Dev 4, If 2, Class=Human Interface Device, Driver=radio-rdpc101, 12M
|__ Port 4: Dev 4, If 0, Class=Audio, Driver=snd-usb-audio, 12M

radio-rdpc101(base:Driver Labo.-> dafmemo -> izumogeiger -> 小生)
の USB クラスが

Human Interface Device

と(笑)

これは ALSA に言わせると

「はぁ? オーディオストリームキャプチャーポート持ち ko の USB クラスが Human Interface Device って Audio Interface Device じゃないの。偽装かよ」

かと。

当時のサン電子の社長の意向で USB クラス決定したのかもですね(爆笑)

ラジオなら人間インターフェースだろとwww そんな事言い出したら
電子デバイスって全て「人間インターフェース」に分類されてしまいますね。

せめて当時の Silicon Labs の日本代理店営業なりがカスタムチップ化
受注の打ち合わせのときに「Audio Interface Device にしておきます(^_^;」と気を利かせてくれていればと残念に思います。

amazonアソシエイト