【2015年 02月 09日】
- ■ SHARP SL-C700 (PDA)
-
- + [U-Boot]
-
u-boot on SL-C700 - 蔵 の U-Boot 2009.11 を使ってみました。
標準では netbsd カーネルが自動でブートしますので、以下の修正を行いました。
*** include/configs/corgi.h.ORIG 2012-10-29 21:14:59.000000000 +0900 --- include/configs/corgi.h 2015-02-08 16:50:03.415991913 +0900 *************** *** 112,118 **** #define CONFIG_BOOTDELAY 3 #define CONFIG_SERVERIP 192.168.1.99 #define CONFIG_ETHADDR 00:11:22:33:44:55 ! #define CONFIG_BOOTCOMMAND "run boot_netbsd" #define CONFIG_BOOTARGS "" #define CONFIG_EXTRA_ENV_SETTINGS \ --- 112,118 ---- #define CONFIG_BOOTDELAY 3 #define CONFIG_SERVERIP 192.168.1.99 #define CONFIG_ETHADDR 00:11:22:33:44:55 ! #define CONFIG_BOOTCOMMAND "run boot_autoselect" #define CONFIG_BOOTARGS "" #define CONFIG_EXTRA_ENV_SETTINGS \ *************** *** 125,133 **** "mmcinfo; " \ "if fatload mmc 0 a1200000 netbsd; " \ "then bootelf a1200000; " \ ! "fi; " \ ! "if fatload mmc 0 a1200000 zImage; " \ ! "then go a1200000; " \ "fi\0" \ #define CONFIG_SETUP_MEMORY_TAGS 1 --- 125,132 ---- "mmcinfo; " \ "if fatload mmc 0 a1200000 netbsd; " \ "then bootelf a1200000; " \ ! "else if fatload mmc 0 a1200000 zImage; " \ ! "then go a1200000; fi; " \ "fi\0" \ #define CONFIG_SETUP_MEMORY_TAGS 1
netbsd カーネルが無ければ Linux カーネル を起動します。
コンパイルには Ubuntu 14.04.1 x86_64 な PC で Sourcery CodeBench Lite を使ったのですが、
Sourcery CodeBench Lite 2012.03-57 (gcc 4.6.3) : OK Sourcery CodeBench Lite 2012.09-64 (gcc 4.7.2) : OK Sourcery CodeBench Lite 2013.05-24 (gcc 4.7.3) : OK Sourcery CodeBench Lite 2013.11-33 (gcc 4.8.1) : NG (Linux カーネルが画面を更新しない) Sourcery CodeBench Lite 2014.05-29 (gcc 4.8.3) : NG (Linux カーネルが画面を更新しない)
でした。
更に make 時に O=obj を付けるとコンパイルエラーでした。
- + [Linux]
-
The Linux Kernel Archives の linux-3.18.6 をコンパイルします。
コンパイラは Sourcery CodeBench Lite 2013.05-24 を使います。 (クロスコンパイルの設定は適当にしてあるものとします)
SHARP SL-C700 用のデフォルト設定を読み込みます。
% make corgi_defconfig
これだけでは動きませんので、設定を変更します。
% make menuconfig
最低限、以下の設定が必要になると思います。
System Type ---> Intel PXA2xx/PXA3xx Implementations ---> [*] Detect machine ID at run-time in the decompressor
Kernel Features ---> [*] Use the ARM EABI to compile the kernel
Boot options ---> (console=ttyS0,9600n8 console=tty1 root=/dev/mmcblk0p2 rw rootwait rootfstype=ext4)
Device Drivers ---> Input device support ---> [*] Keyboards ---> <*> GPIO Buttons <*> GPIO driven matrix keypad support
Device Drivers ---> <M> Sound card support ---> <M> Advanced Linux Sound Architecture ---> <M> ALSA for SoC audio support ---> <M> SoC Audio for the Intel PXA2xx chip <M> SoC Audio support for Sharp Zaurus SL-C7x0
Device Drivers ---> [*] LED Support ---> <*> LED Class Support <*> LED Support for GPIO connected LEDs [*] LED Trigger support ---> <*> LED Timer Trigger <*> LED Heartbeat Trigger
File systems ---> <*> Ext3 journalling file system support <*> The Extended 4 (ext4) filesystem
カーネルとモジュールをコンパイルします。
% make zImage % make modules