OnionPi 化 (2)

えーと、とりあえずソース入手。クロスで作ります。

$ git clone --depth 1 git://github.com/raspberrypi/linux.git

本体のカーネルはどうなってるかというと以下。

$ uname -a
Linux raspberrypi 3.6.11+ #474 PREEMPT Thu Jun 13 17:14:42 BST 2013 armv6l GNU/Linux

あ、3.6.y だと入手の方法が違うみたい。

$ mkdir linux
$ cd linux
$ git init
$ git fetch git://github.com/raspberrypi/linux.git rpi-3.6.y:refs/remotes/origin/rpi-3.6.y
$ git checkout rpi-3.6.y

との事なんですが、これも fetch に時間かかりそげ。
で、ソースは入手できたのですが、何をどうすりゃ良いものか。とりあえず dmesg 確認したところ以下な出力を確認。

usb 1-1.3: new high-speed USB device number 5 using dwc_otg
usb 1-1.3: New USB device found, idVendor=0789, idProduct=0168
usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-1.3: Product: 802.11 n WLAN
usb 1-1.3: Manufacturer: Ralink
usb 1-1.3: SerialNumber: 1.0

lsusb の出力 (の一部) が以下。

Bus 001 Device 005: ID 0789:0168 Logitec Corp. LAN-W150N/U2 Wireless LAN Adapter

ええと、ソース確認してみたのですが (drivers/net/wireless/

        /* Logitec */
        { USB_DEVICE(0x0789, 0x0162) },
        { USB_DEVICE(0x0789, 0x0163) },
        { USB_DEVICE(0x0789, 0x0164) },
        { USB_DEVICE(0x0789, 0x0166) },
        /* Motorola */

ってなってて追加が必要なのか。とりあえずどうすりゃ良いのかは分かりました。

次に何すりゃ良いか

というと

  • ロスコンパイルな環境設定
  • モジュールを作って
  • 転送して
  • 試験

なのか。うぶんつだと gcc-arm-linux-gnueabi で良いのかな。導入済みですね。
で、コンパイルなんだけど、とりあえず make menuconfig とかしなきゃ、なのか。

$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- menuconfig

で、モジュール作る形になってるのを確認して全部作るか。

$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-

暫くこれで放置。

エラー出た

drivers/input/touchscreen/egalax_ts.c て何それ。menuconfig から外すことができるのかどうか。Input device support から Touchscreens な * を取り消し。これで再度 make を kickoff してしばらく放置なのかどうか。

その後

SCSI 方面の driver でもコンパイルエラーが出てたので SCSI 関連全部スルーで再度 make している所です。staging でもコンパイルエラーが出たのでこちらもスルー。
で、そろそろ大丈夫かと思いきや

ERROR: "__bad_udelay" [sound/pci/ali5451/snd-ali5451.ko] undefined!
ERROR: "__bad_udelay" [drivers/gpu/drm/nouveau/nouveau.ko] undefined!
ERROR: "__bad_udelay" [drivers/atm/he.ko] undefined!

というナニが。
上記を disable にして最初からやりなおすか。とりあえず clean してやり直してみます。

$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- clean
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-

どうなるやら。

ぐぬ

同じエラーが出ました (ある意味あたりまえ)。これ、ちょっとバンザイ状態です。
なんとなくエラーが出てるっぽいドライバを disable して再度 make を kickoff しておりますがどうなることやら。かなり限界気味なので続きがあるとすると明日です。