平臺:4412精英版 系統:ubuntu系統
圖片1.jpg (28.72 KB, 下載次數: 110)
下載附件
2017-8-17 16:24 上傳
按照教程燒寫ubuntu文件系統,TF卡和EMMC分區都完成(總之之前的操作試了幾遍都是沒問題的)燒寫u-boot是沒問題的:sdfuse flash bootloader u-boot-iTOP-4412.bin 燒寫在Image也成功:sdfuse flash kernel zImage_sd 重啟開發板:reset 查看分區這兒出問題:df -l 這里只顯示: root@iTOP4412-ubuntu-desktop:~# df -l Filesystem 1K-blocks Used Available Use% Mounted on /dev/root 2725780 2074844 512472 81% / none 323304 4 323300 1% /dev none 64664 664 64000 2% /run none 5120 0 5120 0% /run/lock none 323304 24 323280 1% /run/shm
并沒有像教程里面能夠顯示TF卡和EMMc 的分區,請問大神們指導如何才能掛載EMMc,能夠顯示分區啊?
哈哈,問題已解決,解決思路就是找到系統文件在哪個分區,我們需要移動這個文件到哪個分區。找到之后手動掛載相應的TF卡分區和EMMC分區,然后對相應的分區進行操作
其實對于熟悉linux的老司機是不會被這個問題難到,我們作為新手菜鳥就共同努力吧!!! /------------------------------------------------------分界線--------------------------------------------------/ 1、首先保證前面跟著教程走沒問題,也就是燒寫zImage_sd之前沒問題,下面重啟開發板準備解壓系統到EMMC 2、查看分區:df -l
root@iTOP4412-ubuntu-desktop:~# df -l Filesystem 1K-blocks Used Available Use% Mounted on /dev/root 2725780 2074844 512472 81% / none 323304 4 323300 1% /dev none 64664 664 64000 2% /run none 5120 0 5120 0% /run/lock none 323304 24 323280 1% /run/shm 到這兒出問題,無法顯示TF卡分區和EMMC分區:(按著教程走也許都會出現這問題) 3、使用fdisk -l命令查看分區: root@iTOP4412-ubuntu-desktop:~# fdisk -l
Disk /dev/mmcblk0: 3909 MB, 3909091328 bytes 226 heads, 33 sectors/track, 1023 cylinders, total 7634944 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000
Device Boot Start End Blocks Id System /dev/mmcblk0p1 6809154 7607159 399003 c W95 FAT32 (LBA) /dev/mmcblk0p2 37290 5571125 2766918 83 Linux /dev/mmcblk0p3 5571126 6190139 309507 83 Linux /dev/mmcblk0p4 6190140 6809153 309507 83 Linux
Partition table entries are not in disk order
Disk /dev/mmcblk1: 8011 MB, 8011120640 bytes 255 heads, 60 sectors/track, 1022 cylinders, total 15646720 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000
Device Boot Start End Blocks Id System /dev/mmcblk1p1 5798700 15605999 4903650 c W95 FAT32 (LBA) /dev/mmcblk1p2 45900 5584499 2769300 83 Linux /dev/mmcblk1p3 5584500 5691599 53550 83 Linux /dev/mmcblk1p4 5691600 5798699 53550 83 Linux
Partition table entries are not in disk order
注意:這里報出“Partition table entries are not in disk order”這個錯誤,是說“分區表條目不在磁盤順序中”,反正就是這時的ubuntu文件系統他無法自動掛載TF卡和EMMC分區。
但是我們在輸入fdisk -l命令后的信息中能夠查看到,Disk /dev/mmcblk0: 3909 MB, 3909091328 bytes,這其實就是我的EMMC的存儲空間(官方號稱是4G,看來坑了幾十兆的空間啊,不過這不重要,哈哈)。我們還能看見Disk /dev/mmcblk1: 8011 MB, 8011120640 bytes,這里其實就是我們的TF卡(我用的8G的TF卡) 所以我們很容易從盤符大小來區分哪一個是TF卡哪一個是EMMC,如果你的TF卡大小和EMMC 一樣的話,應該也是mmcblk0對應EMMC,mmcblk1對應TF卡(剛開始猜的,后來驗證沒猜錯)
4、看懂這些分區 Device Boot Start End Blocks Id System /dev/mmcblk1p1 5798700 15605999 4903650 c W95 FAT32 (LBA) /dev/mmcblk1p2 45900 5584499 2769300 83 Linux /dev/mmcblk1p3 5584500 5691599 53550 83 Linux /dev/mmcblk1p4 5691600 5798699 53550 83 Linux
這個是TF卡的分區,按照教程里面,我們是要去找有sdupdate文件夾這個分區,可以看見/dev/mmcblk1p1里面的blocks大小差不多是4.9G,我的TF卡一共8G,我按照教程給TF分區時使用fdisk -c 1 2700 50 50 ,看出名堂了吧,大概就是使用了2.7G+50M+50M,剩下的大概就是4.9G。我是在windows下新建的sdupdate文件夾,那里面就有ubuntu的文件系統。 所以/dev/mmcblk1p1這個分區就是教程中對應的/media/0000-3333_分區
Device Boot Start End Blocks Id System /dev/mmcblk0p1 6809154 7607159 399003 c W95 FAT32 (LBA) /dev/mmcblk0p2 37290 5571125 2766918 83 Linux /dev/mmcblk0p3 5571126 6190139 309507 83 Linux /dev/mmcblk0p4 6190140 6809153 309507 83 Linux
剛剛說了mmcblk0是EMMC,所以這四個就是我們在教程里面對EMMC操作產生的四個分區,可以看見/dev/mmcblk0p2 37290 5571125 2766918 83 Linux這個分區里面大概是2.7G大小,所以這個是我們要找的EMMC分區,對應教程里面的。。。(等等,完全對的上)
5、手動掛載TF卡中的/dev/mmcblk1p1分區和EMMC中的/dev/mmcblk0p2
我依次使用的如下四個命令: mkdir /mnt/uTF mount /dev/mmcblk1p1 /mnt/uTF mkdir /mnt/uEMMC mount /dev/mmcblk0p2 /mnt/uEMMC 這四個命令執行完成之后可以進入文件中查看: cd /mnt/uTF ls 此時能看到里面有sdupdate文件夾(沒有截圖)
6、復制系統文件到EMMC (等兩分鐘) cd /mnt/uTF/sdupdate cp -r iTOP4412_ubuntu_12.04_for_LCD_20141230.tar.gz /mnt/uEMMC
7、解壓文件(官方稱等30分鐘,騙你的,等15分鐘差不多了) tar -vxf iTOP4412_ubuntu_12.04_for_LCD_20141230.tar.gz /mnt/uEMMC
8、重啟開發板,進入u-boot模式,燒寫zImage sdfuse flash kernel zImage
9、燒寫完成重啟開發板(注意此時系統已經燒進EMMC了所以把TF卡拔出來也是可以的,插上去也是可以的)
/----------------------------------------------------分界線----------------------------------------------------------/
所以教程里面的這一步操作其實質就是將TF卡/dev/mmcblk1p1分區中的文件系統拷貝到EMMc中/dev/mmcblk0p2分區中,然后解壓。
下面總結我使用的命令(按照使用先后順序): df -l fdisk -l mkdir /mnt/uTF mount /dev/mmcblk1p1 /mnt/uTF mkdir /mnt/uEMMC mount /dev/mmcblk0p2 /mnt/uEMMC
cd /mnt/uTF/sdupdate cp -r iTOP4412_ubuntu_12.04_for_LCD_20141230.tar.gz /mnt/uEMMC tar -vxf iTOP4412_ubuntu_12.04_for_LCD_20141230.tar.gz /mnt/uEMMC 解壓完成重啟開發板,進入u-boot模式 sdfuse flash kernel zImage 燒寫zImage完成,重啟開發板(大功告成)
|