嵌入式Linux emmc烧录,【分享】4412开发板POP烧写ubuntu出错,如何挂载emmc分区解决...

在Ubuntu系统烧录到EMMC过程中,遇到分区未自动挂载的问题。通过`fdisk -l`命令查看分区情况,手动挂载TF卡和EMMC分区,并将系统文件复制到EMMC。步骤包括创建挂载点,使用`cp`命令复制文件,`tar`命令解压,最后烧写zImage并重启。解决思路是找到系统文件所在分区并手动操作。
摘要由CSDN通过智能技术生成

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

本文转自:http://www.topeetboard.com

平台:4412精英版

系统:ubuntu系统

ebd8f64d73a630664e56af76eafb2b59.png

按照教程烧写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完成,重启开发板(大功告成)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!对于Linux eMMC开发板,我可以为您提供一些基本信息。eMMC嵌入式多媒体卡)是一种用于嵌入式系统的闪存存储解决方案,通常用于存储操作系统、固件和数据。下面是一些关于Linux eMMC开发板的常见问题和答案: 1. 什么是Linux eMMC开发板Linux eMMC开发板是一种硬件平台,配备了eMMC存储器和能够运行Linux操作系统的处理器。它可以用于嵌入式系统开发、物联网设备、嵌入式计算和其他类似应用。 2. 为什么选择Linux eMMC开发板Linux eMMC开发板具有以下优点: - 低功耗:eMMC存储器具有低功耗特性,适合用于便携设备和电池供电的应用。 - 高速性能:eMMC存储器具有快速的读写速度,可提供良好的系统性能。 - 可靠性:eMMC存储器采用闪存技术,具有较高的稳定性和可靠性。 - 简化设计:使用eMMC存储器可以简化系统设计,减少对额外存储器接口的需求。 3. 常见的Linux eMMC开发板有哪些? 市场上有许多供应商提供Linux eMMC开发板,其中一些知名的品牌包括: - Raspberry Pi:Raspberry Pi是一款流行的嵌入式开发板,具有丰富的社区支持和广泛的应用。 - BeagleBone系列:BeagleBone是一系列功能强大的开发板,具有丰富的扩展接口和较高的性能。 - Odroid系列:Odroid是一系列高性能开发板,适用于嵌入式计算和多媒体应用。 请注意,以上仅为一般信息,具体的选择应根据您的需求和预算来决定。希望这些信息对您有所帮助!如果您有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值