星期二, 6月 29, 2010

如何解救 u-boot bootdelay=0 的情況

昨天因為想避免serial port干擾,就把 bootdelay 設為 0,想不到這卻是悲劇的開始。因為 bootdelay=0,所以,根本無法進入 u-boot ... (冏),不能進 u-boot,就不能 update。

請 HW 同事幫忙看是否有線路可以設定強制用 SD 開,但試的結果是不行,一整個陷入困境,只好回家。

晚上睡覺時想到,公司用的 OMAP solution,把 NAND 切成7個部份:
  1. x-loader
  2. u-boot
  3. env
  4. kernel
  5. system
  6. userdata
  7. cache


開機以後,會把後面3個部份掛載成檔案系統來使用,那麼,開機以後我是不是也可以如法泡製把env那一塊抹掉,這樣u-boot讀這塊時,就不是我之前燒錄進入的bootdelay=0,那麼就有機會進u-boot了。

所以我在開機之後,先試著去mount,結果是不行,因為它不是正常的檔案系統。所以改用dd,用dd if=/dev/zero of=/dev/block/mtdblock2 bs=1024 count=1就抹除掉了。接著重新開機,果然讓我有機會按下任意鍵停在u-boot prompt下了。

沒有留言: