Y.s Diary


 

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 を付けるとコンパイルエラーでした。

 

This page is written in Japanese.