HowToChangeDisk

來自飛騰CPU與嵌入式係統
跳轉至: 導航搜索

硬盤啟動說明

  1. 飛騰主板斷電的情況下取出CF卡;
  2. 接上硬盤數據線、電源線;
  3. 飛騰主板連上串口, 接通電源,在串口console有輸出的情況下, 敲打任意鍵,等待出現字符“FT1500a#”時,鍵入如下命令:
    1     setenv bootargs console=ttyS1,115200 earlyprintk=uart8250-32bit,0x28001000 root=/dev/sda1 initrd=0x95000000,16M rootwait rw KEYBOARDTYPE=pc KEYTABLE=us;
    2    setenv scsi_load_kern ext4load scsi 0:1 0x90100000 boot/uImage;
    3    setenv scsi_load_initrd ext4load scsi 0:1 0x95000000 boot/initrd.m.gz;
    4    setenv scsi_load_fdt ext4load scsi 0:1 0x90000000 boot/dtb;
    5    setenv scsi_boot run scsi_load_kern\;run scsi_load_fdt\;run scsi_load_initrd\;eq close c0\;eq close c1\;eq close c4\;eq close c5\;pci enum\;bootm 0x90100000    0x95000000:0x1000000 0x90000000;
    6    setenv bootcmd run scsi_boot;
    7    saveenv
    8    run scsi_boot
    9    #(注:每條命令逐個執行)
    
  4. 執行完最後一步操作,硬盤啟動debian係統,debian登錄用戶名:root 密碼:root123


CF卡啟動說明

  1. 飛騰主板斷電拔除硬盤數據線、電源,接回CF卡;
  2. 飛騰主板連上串口, 接通電源,在串口console有輸出的情況下, 敲打任意鍵,等待出現字符“FT1500a#”時,鍵入如下命令:
    1    setenv bootargs console=ttyS1,115200 earlyprintk=uart8250-32bit,0x28001000 root=/dev/sda1 initrd=0x95000000,16M rootwait rw KEYBOARDTYPE=pc KEYTABLE=us;
    2    setenv cf_load_kern ext4load usb 0:1 0x90100000 boot/uImage;
    3    setenv cf_load_initrd ext4load usb 0:1 0x95000000 boot/initrd.m.gz;
    4    setenv cf_load_fdt ext4load usb 0:1 0x90000000 boot/dtb;
    5    setenv cf_boot run cf_load_kern\;run cf_load_fdt\;run cf_load_initrd\;eq close c0\;eq close c1\;eq close c4\;eq close c5\;pci enum\;bootm 0x90100000    0x95000000:0x1000000 0x90000000;
    6    setenv bootcmd run cf_boot;
    7    saveenv
    8    run cf_boot
    9    #(注:每條命令逐個執行)
    
  3. 執行完最後一步操作,通過CF卡啟動netone係統;


多塊硬盤(CF卡)並存的情況下的啟動說明

  1. 如果多塊硬盤並存, 那麼增加或者減少硬盤的時候, 有可能會發生識別順序漂移的現象, 例如上一次啟動的時候, 啟動盤是/dev/sda, 插上一塊新硬盤後, 啟動盤變成了/dev/sdb, 如果還是從/dev/sda去啟動, 這種漂移就有可能會造成啟動失敗.
  2. 另外, 由於B/CEX01A的CF卡是通過USB模式掛載的, 在硬盤和CF卡同時存在的情況下, 在debian下, 也有可能發生掛載次序的漂移問題.
  3. 解決這個問題的辦法是通過UUID.
  4. 第1步, 獲取啟動盤的UUID. 執行:
    1 blkid
    2 # 會有類似下麵的輸出:
    3 /dev/sda1: UUID="4fba3652-ac13-4086-97d4-3356537732f6" TYPE="ext4"
    4 /dev/sdb1: UUID="45559bc9-add1-4d6a-bd53-8ae0b5b043e3" TYPE="ext4"
    5 #記錄UUID之後的內容, 如上例所示, 本機的root盤是/dev/sda1, 那麼就記錄下4fba3652-ac13-4086-97d4-3356537732f6
    
  5. 第2步, 重啟設備, 進入uboot. (進入uboot的方法是在串口連接的情況下, 在uboot啟動過程中敲打鍵盤)
  6. 第3步, 在uboot下輸入如下命令:
    1 FT1500a# setenv bootargs console=ttyS1,115200 earlyprintk=uart8250-32bit,0x28001000 root=UUID=4fba3652-ac13-4086-97d4-3356537732f6 initrd=0x95000000,16M rootwait rw KEYBOARDTYPE=pc KEYTABLE=us;
    2 FT1500a# saveenv
    3 # 注意, 上麵的命令就是把原先root=/dev/sda1替換成root=UUID=4fba3652-ac13-4086-97d4-3356537732f6. 如果你的root盤類似/dev/sdb1, 請用對應的UUID替換
    
  7. 上述操作完成後, linux將始終使用指定UUID的硬盤分區作為root分區, 不論是否有新硬盤或者CF卡增加或者減少. 但是缺點也很明顯, 如果你要更換root硬盤, 需要先獲取新硬盤root分區的UUID, 並重複上麵的步驟.