【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
【2012年 11月 04日】
- ■ SHARP SL-C3000 (PDA)
-
- + [EXT3-fs error]
-
Slackware ARM 14.0 の動作テストをしていますが
shutdown -r now
等を実行すると、終了処理の途中で EXT3-fs error や Command not found. が大量に 発生します。
最初は内蔵のマイクロドライブが壊れたのかと CompactFlash に換装し、 OS の再インストールをしましたが、やっぱりエラーになります。
SHARP SL-C700 の時は起きなかったのにと思い、ふと気付きました。
SHARP SL-C700 では SDHCカードに OS をインストールしましたが、 SHARP SL-C3000 では CompactFlash です。
そうです、終了時には /etc/rc.d/rc.pcmcia が、stop 引数付きで呼ばれています。
早速、/etc/rc.d/rc.pcmcia の中を見ますと stop の時は
/sbin/pccardctl eject /sbin/modprobe -r pcmcia
等とヤバそうなのが並んでいます。
これでは終了処理の途中でルートファイルシステムが消えますので、 エラーになるのは当然です。
/etc/rc.d/rc.pcmcia の stop 時の処理を全て削除して対処しましたが、 こんな修正で良いのでしょうか。
【2012年 11月 02日】
- ■ SHARP SL-C700 (PDA)
-
- + [Slackware ARM 14.0]
-
initrd-versatile.img からインストール用の rootfs を作ってます。
まだ未完成ですが、CompactFlash に展開して SDHCカードにインストールしてみました。
うにゅ、遅いです。
4時間ぐらい掛かってます。
Slackware をインストールした PC があれば、そちらで展開した方が速いです。
<追記>
さて、インストールも終わりましたので動かしてみました。
kexecboot から起動して login プロンプトが出るまで…
5分です…startx してから twm が起動するまで…
45秒です…</追記>
【2012年 11月 01日】
- ■ SHARP SL-C700 (PDA)
-
- + [最近の作業結果]
-
kernel は 3.4.11 ではなく 3.2.32 です。
インストールも出来なくはなさそうですが、インストール後に kernel & module とか keymap とかいろいろ修正をしなければなりません。それから、X Window System も Zaurus 用が必要ですよね。
<追記>
w100 ではなく fbdev なら Slackware ARM の X サーバで動きますな。
</追記>
【2012年 10月 30日】
- ■ SHARP SL-C700 (PDA)
-
- + [Linux]
-
久しぶりに電源を入れてみたのですが、Angstrom のブートが途中で止まります。
それならと、linux-3.6.3 をダウンロードしてコンパイルし kexecboot で 起動してみますがブートメッセージすら出ません。
いろいろなバージョンを試したところ
linux-3.1.10 : OK linux-3.2.32 : OK linux-3.3 : NG linux-3.3.8 : NG linux-3.6.3 : NG linux-3.6.4 : NG
な感じになりました。
<追記 (2015/02/09)>
U-Boot 2009.11 を使ってみたところ、linux-3.18.6 は正常にブートしました。
</追記 (2015/02/09)>
前のページ 次のページ