tiny4412u-boot燒寫及根文件系統制作(不進入終端問題)

http://m.blog.csdn.net/article/details?id=51400196(轉)

?

VMware12

環境:ubuntu12.4

開發板:tiny4412

首先燒寫bootloader,我用一個8G的內存卡,現在不說sd卡的制作過程了,網上可以參考。

現在就把我給arm的emmc燒寫過程開始說。

用sd卡啟動,開發板的右下角有個開關控制啟動方式,往下是sd卡啟動,往上是mmc啟動。

1,、先用sd卡啟動?

注意:把右下角的開關撥到下面。啟動后的是[940122@xxxxxxx] #

fdisk -p命令 查看內存分區 ,fdisk -p 1 查看mmc的分區 fdisk -p 0查看sd卡的信息如下:

[940122@xxxxxx] #fdisk -p 1 ? ? ? ? ? ? ? ? //mmc的信息
partion # ? ?size(MB) ? ? block start # ? ?block count ? ?partition_Id?
? ?1 ? ? ? ? ? 695 ? ? ? ? ?6070812 ? ? ? ? 1424478 ? ? ? ? ?0x0C?
? ?2 ? ? ? ? ? 320 ? ? ? ? ? 134244 ? ? ? ? ?656304 ? ? ? ? ?0x83?
? ?3 ? ? ? ? ?2057 ? ? ? ? ? 790548 ? ? ? ? 4213770 ? ? ? ? ?0x83?
? ?4 ? ? ? ? ? 520 ? ? ? ? ?5004318 ? ? ? ? 1066494 ? ? ? ? ?0x83?

[940122@tengfei] #fdisk -p 0 ? ? ? ? ? ? ? ? ? ?//這是sd卡的信息
?partion # ? ?size(MB) ? ? block start # ? ?block count ? ?partition_Id?
? ?1 ? ? ? ? 14756 ? ? ? ? ? ? 8192 ? ? ? ?30220288 ? ? ? ? ?0x0C?

?2、進去之后給mmc分區

?

??? fdisk -p 1(設備號) 對1查看
??? fdisk -c 1 320 2057 520?分區為4個,數字對應大小

結果像上面fdisk -p 1 那樣

?3、格式化分區 ?

格式化四個分區時注意,第一分區是fatformat格式的

?

fatformat mmc 1:1 ? ? ? ??

2、3、4分區都是ext3format的
ext3format mmc 1:2
ext3format mmc 1:3
ext3format mmc 1:4

格式化完成

4、燒寫bootloader

首先打開mmc使用如下命令[940122@tengfei] #fdisk -p 0 ?emmc open 1?

eMMC OPEN Success.!!
? ? ? ? ? ? ? ? ? ? ? ? !!!Notice!!!
!You must close eMMC boot Partition after all image writing!
!eMMC boot partition has continuity at image writing time.!
!So, Do not close boot partition, Before, all images is written.!

打開成功

事先編譯好Exxx_bl1.bin ?、bl2.bin 、?Exxx_tzsw.bin 、../../u-boot.bin(上上層目錄)

將這四個文件分別寫入四個分區

? ? ? ? ? ? ? ?開發板下 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?pc下

? ? ? ? ? ? ? ? dnw 50000000 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?dnw ? Exxxx_bl1.bin?

mmc ?write ?1 ?50000000 0x0 0x10

?

dnw 50000000 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?dnw ? bl2.bin?

mmc write 1 50000000 0x10 0x20

dnw 50000000 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?dnw ? ../../u_boot.bin

mmc write 1 50000000 0x30 0x290

dnw 50000000 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?dnw ? Exxxx_tzsw.bin?

mmc?write 1 50000000 0x2c0 0xb8

關閉mmc

[940122@tengfei] #emmc close 1

添加共享目錄vim /etc/exports

加上 /rootfs (rootfs是要共享的目錄)*(rw,sync,no_root_squash)保存退出

?

設置引導,打開共享目錄中的/rootfs/etc/inittab?

vim /rootfs/etc/inittab?然后?添加上::sysinit:/etc/init.d/rcS
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ttySAC0::askfirst:-/bin/sh兩行保存退出(你可以先將根文件的壓縮包先解壓到/rootfs(就是你的共享目錄))

*******************注意是共享目錄下的etc不是pc根目錄下的******************

奶奶的我就出錯到這了,自動掛載pc的rootfs死活掛不到,這樣出現的效果是眼睜睜的看著開發板內核已經啟動好了,minicom終端就是進不去,無法獲得終端控制權,急死人。

5、加載內核?

先將右下角的開關推上去mmc啟動

[tiny4412@name #

?先將根文件系統解壓到PC機作為開發板掛載目錄nfsroot,然后將內核(zImage需要提前編譯好)和根文件系統的包放進去,用內核引導開發板掛載pc的共享目錄

?

設置bootargs

set bootargs "root=/dev/nfs ?nfsroot=192.168.0.6:/rootfs? ip=192.168.0.199 console=ttySAC0,115200lcd=S70 init=linuxrc"

我pc的ip是192.168.0.6 ?開發板是0.199

設置bootcmd

set bootcmd "dnw 40008000;bootm 40008000"

設置cmd后就不用手動去40008000這個地址執行了

重啟開發板就出現等待dnw接收zImage的提示了 ? ?在pc端找到zImage,#dnw ?zImage

開發板下就啟動內核了,可能碰到的錯誤nosoundcard 這是網絡出現了問題 沒有掛載上pc的共享目錄。這時就得檢查你的共享目錄、pc中、etc/export中的設置、板子的ip,網線是否鏈接。出現Please press Enter to activate this console. 就說明掛載上了。

在pc端將你的zImage和根文件系統放到共享目錄中,我的是rootfs。

掛載mmc的分區執行mount ?/etc/mmcblk0p2 ?/mnt/

cp zImage /mnt/ 將zImage拷貝到第二分區中,待會啟動的時候就會自己去這個分區找內核并啟動內核

*****************umount ? /mnt/一定記得卸載******************

?6、制作根文件系統

?

掛載mmc第三分區寫根目錄
??????? ?????????????? mount /dev/mmcblk0p3 /mnt/
??????????????????? ?? tar rootfs—2014tar.gz -C /mnt/將根文件系統的壓縮包指定路徑(-C大寫)解壓到/mnt 這是板子的
??????????????????? ???進去/mnt中rootfs—2014(解壓后的跟文件目錄)文件目錄中,把里面全部的東西拷貝到放在/mnt中,可以用mv ?* ?/mnt/刪除空的解壓目錄?rootfs—2014
? ? ? ? ? ? ? ? ? ? ? ?然后拷貝inittab ? ? ? ?到/mnt/etc ? ? cp /etc/inittab?? /mnt/etc
? ? ? ? ? ? ? ? ? ? ?記得 ?umount /mnt
????????重啟設置引導到此為止燒寫成功了bootloader和內核鏡像

設置開發板的參數

重啟開發板,按回車鍵輸入pri查看bootargs和bootcmd主機從機ip等信息

[tiny4412@name] #pri
baudrate=115200
bootargs=root=/dev/mmcblk0p3 console=ttySAC0,115200 init=linuxrc lcd=S70
bootcmd=ext2load mmc 0:2 40008000 zImage;bootm 40008000
bootdelay=1
ethaddr=00:40:5c:26:0a:5b
filesize=4B3068
gatewayip=192.168.0.1
ipaddr=192.168.0.199
netmask=255.255.255.0
serverip=192.168.0.6
Environment size: 306/16380 bytes

主要是設置bootargs和bootcmd
??????? set bootcmd "ext2load mmc ?0:2 ?40008000 zImage;bootm 40008000"
#sav(保存你的設置 ) ? ? ??

set bootargs"root=/dev/mmcblk0p3 console=ttySAC0,115200 init=linuxrc ?lcd=S70"

#sav

如果bootargs設置成這樣想要讓pc編譯好的二進制文件在arm運行,還的重新掛載pc的共享目錄,

你可以設置成set bootargs "root=/dev/nfs ?nfsroot=192.168.0.6:/rootfs? ip=192.168.0.199 console=ttySAC0,115200lcd=S70 init=linuxrc"

就可以自動掛載pc共享目錄了。注意不能寫錯,細心一點。

錯的多了就知道在那改了,錯著錯著就對了,就會了。

好沒好重啟開發板試試唄。

Please press Enter to activate this console.出現就說明對了。值得幸災樂禍一下了。

轉載于:https://www.cnblogs.com/lys0827/p/5817350.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/457337.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/457337.shtml
英文地址,請注明出處:http://en.pswp.cn/news/457337.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

第三章 中間件,3.1 萬億級數據洪峰下的分布式消息引擎(作者:馮嘉、誓嘉、塵央、牟羽)...

3.1 萬億級數據洪峰下的分布式消息引擎 前言 通過簡單回顧阿里中間件(Aliware)消息引擎的發展史,本文開篇于雙11消息引擎面臨的低延遲挑戰,通過經典的應用場景闡述可能會面臨的問題 - 響應慢,雪崩,用戶體驗差,繼而交易…

Linux目錄結構和常用命令

一、Linux目錄結構 你想知道為什么某些程序位于/bin下,或者/sbin,或者/usr/bin,或/usr/sbin目錄下嗎?例如,less命令位于/usr/bin目錄下。為什么沒在/bin中,或/sbin,或/usr/sbin目錄中&#xff1…

掛載nfs文件系統_綜合架構-day38-NFS服務補充

1.如何讓nfs永久掛載-2種方法開機自啟動文件1.vim /etc/rc.d/rc.local需要修改執行權限chmod x /etc/rc.d/rc/localmount -t nfs 172.16.1.31:/upload/ /mnt/2.vim /etc/fstab172.16.1.31:/upload /mnt nfs defaults 0 02.exportfs 加載配置生效,等價于優雅重啟[15:…

A Neural Algorithm of Artistic Style

本系列文章由 yhl_leo 出品,轉載請注明出處。 文章鏈接: http://blog.csdn.net/yhl_leo/article/details/53931536 1. 資源 Paper: A Neural Algorithm of Artistic StyleTensorFlow version in GitHub: anishathalye/neural-styleCaffe version in GitH…

CSS布局奇淫技巧之--各種居中

居中是我們使用css來布局時常遇到的情況。使用css來進行居中時,有時一個屬性就能搞定,有時則需要一定的技巧才能兼容到所有瀏覽器,本文就居中的一些常用方法做個簡單的介紹。 注:本文所講方法除了特別說明外,都是兼容I…

手寫數字識別中多元分類原理_廣告行業中那些趣事系列:從理論到實戰BERT知識蒸餾...

導讀:本文將介紹在廣告行業中自然語言處理和推薦系統實踐。本文主要分享從理論到實戰知識蒸餾,對知識蒸餾感興趣的小伙伴可以一起溝通交流。摘要:本篇主要分享從理論到實戰知識蒸餾。首先講了下為什么要學習知識蒸餾。一切源于業務需求&#…

linux zip/unzip命令

2019獨角獸企業重金招聘Python工程師標準>>> 語  法&#xff1a;zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工 作目錄>][-ll][-n <字 尾字符串>][-t <日 期時間>][-<壓 縮效率>][壓 縮文件][文件...][-i <范本樣式>][-x <范本樣式…

離散事件模擬

1. 離散事件系統模擬 被模擬系統的行為&#xff1a; 可以抽象為一些離散事件的發生&#xff1b;所發生事件可以引發新的事件&#xff08;拓撲序&#xff09;&#xff1b;人們希望通過計算機模擬理解系統行為&#xff0c;評價或設計真實世界中實際的或所需的系統&#xff1b;適用…

epoll邊緣觸發_C++回聲服務器_9-epoll邊緣觸發模式版本服務器

epoll默認情況下是水平觸發模式&#xff0c;這次將epoll設置為邊緣觸發模式來實現服務器&#xff0c;而客戶端直接使用完美回聲服務器的客戶端。服務器代碼#include #include #include #include #include #include #include #include #include const int BUF_SIZE 4;const int…

利用dbstart和dbshut腳本自動啟動和停止數據庫的問題

客戶的兩臺IBM Power 740小型機使用HACMP軟件創建互備關系的數據庫服務器&#xff0c;每臺小型機運行一個數據庫&#xff0c;任何一臺服務器出現故障宕機&#xff0c;另一臺小型機應該立即接管&#xff0c;且要一并接管數據庫&#xff0c;這時在一臺小型機上就運行了兩個數據庫…

在Windows下不使用密碼遠程登陸Linux

在登陸Linux進行管理的時候我們通常會使用用戶名和密碼進行登陸&#xff0c;這樣一來是比較麻煩&#xff0c;二來是不安全&#xff0c;為了解決這個問題&#xff0c;我們可以使用公私鑰 (public keys和private keys)進行認證。簡單來說公鑰存放在服務器上&#xff0c;私鑰存放在…

dto 是只給前端需要的數據嗎_DO、VO、DTO...XXOO,你弄明白了么

技術公眾號&#xff1a;Java In Mind(Java_In_Mind),歡迎關注&#xff01;背景我相信&#xff0c;剛開始學習接觸企業代碼的時候&#xff0c;一定會發現&#xff0c;工程中充斥著各種XO&#xff1a;DO、VO、DTO、DAO&#xff0c;還有各種名詞&#xff1a;POJO&#xff0c;JavaB…

Javascript判斷object還是list/array的類型(包含javascript的數據類型研究)

前提&#xff1a;先研究javascript中的變量有幾種&#xff0c;參考&#xff1a; http://www.w3school.com.cn/js/js_datatypes.asp http://glzaction.iteye.com/blog/1285147 測試1&#xff1a; typeof關鍵字 var obj {test:test}; typeof obj;//輸出object var list [{test:t…

Core Data

簡介 Core Data是iOS5之后才出現的一個框架&#xff0c;它提供了對象-關系映射(ORM)的功能&#xff0c;即能夠將OC對象轉化成數據&#xff0c;保存在SQLite數據庫文件中&#xff0c;也能夠將保存在數據庫中的數據還原成OC對象。在此數據操作期間&#xff0c;我們不需要編寫任何…

tbase同步mysql_mysql主從同步

MySQL主從介紹MySQL主從叫做Replication、AB復制&#xff0c;A和B做主從后&#xff0c;在A上寫數據。B上也會同步A的數據&#xff0c;兩者實現實時同步MySQL是基于binlog日志來同步的&#xff0c;主上必須開啟binlog才能進行主從同步&#xff0c;同步過程大概有三個步驟(1)主將…

2017將轉行進行到底

2016 年說著轉行&#xff0c;最后還是在匆匆中找了一份老本行&#xff0c;此刻的心情還是無愛&#xff0c;畢竟螺絲一直分不清啊&#xff0c;不喜歡就是不喜歡。看了django的教程&#xff0c;不得不感嘆國外的書寫的相對優秀一點&#xff0c;《learning django web development…

mysql中函數是否可以返回多個值_是否可以從mysql函數返回多個值?

我的臟解決方案是&#xff1a;1.連接字符串中的值. 2返回字符串. 3 Splits將字符串返回值.我認為它不優雅,我確信這有局限性,但它適用于簡單的情況還有必要創建分裂函數,因為Mysql沒有這個函數&#xff1a;首先編輯你的功能.CREATE FUNCTION yourFunctionWith2valuesForReturni…

lua自定義迭代器

迭代器 http://www.tutorialspoint.com/lua/lua_iterators.htm 迭代器能夠讓你遍歷某個集合或者容器中的每一個元素。 對于lua來說&#xff0c; 集合通常指代 table&#xff0c; 用于創建變化的數據結構&#xff0c; 類似數組。 Iterator is a construct that enables you to t…

mysql非主鍵索引_主鍵索引和非主鍵索引的區別

1. 什么是最左前綴原則&#xff1f;以下回答全部是基于MySQL的InnoDB引擎例如對于下面這一張表如果我們按照 name 字段來建立索引的話&#xff0c;采用B樹的結構&#xff0c;大概的索引結構如下如果我們要進行模糊查找&#xff0c;查找name 以“張"開頭的所有人的ID&#…

優美的配色方案設計

2019獨角獸企業重金招聘Python工程師標準>>> 怎么做好設計配色一直是個難題&#xff0c;雖然網站上有各種各樣的色庫&#xff0c;但配色仍然至關重要&#xff0c;不得已的話可以親自動手&#xff0c;況且樂趣滿滿。 這個沒有一套標準&#xff0c;所以看自己怎么喜歡…