pcDuino day2

pcDuino系統啓動過程

  • 檢測update按鈕,如果有按下,進入USB啓動
  • 如果檢測到SD卡,讀SD卡上的啓動信息
  • 如果檢測到Nand啓動芯片上有啓動信息,讀取啓動。

uboot

kernel

  • 獲得內核源碼文件kernel.tar.bz2
  • 解壓後進行編譯
    1. tar xjvf kernel.tar.bz2
    2. cd kernel
    3. mkdir linux-sunxi/.git
    4. mkdir u-boot-sunxi/.git
    5. make u-boot
    6. sudo cp build/pcduino-u-boot/tools/mkimage /usr/sbin
    7. make linux
  • 編譯成功後測試
    1. 將編譯結果拷貝到nfs共享目錄
      1.cp build/sun4i_defconfig-linux/arch/arm/boot/uImage ~/nfsroot
      2.cp -r build/sun4i_defconfig-linux/output/lib ~/nfsroot
    2. 將目標板上系統相關文件替換成自己編譯的
      1.sudo mount /dev/nanda /boot
      2.cp /boot/uImage ~/
      3.cp /mnt/uImage /boot
      4.cp -r /mnt/lib /lib
      5.sync
      6.reboot
      7.cat /proc/version
    3. 測試失敗後的處理辦法
      1.插入可以正常啓動開發板的TF卡
      2.開機啓動,等待系統進入命令行
      3.mount /dev/nanda /boot
      4.mount /dev/nandd /mnt
      5.cp /mnt/home/ubuntu/uImage /boot
      6.sync

filesystem

  • u-boot-spl
    1. 初始化CPU外部的RAM
    2. 讀取u-boot.bin到RAM並執行
  • u-boot.bin
    1. 讀取Nand上的分區表,找到分區nanda
    2. 從nanda分區內讀取Linux內核所需要的啓動信息sprite.bin,uImage,uEnv.txt
    3. 爲uImage(linux kernel)運行準備環境
    4. 運行uImage
  • uImage
    1. init
    2. 運行級別
發佈了43 篇原創文章 · 獲贊 19 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章