免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 10293 | 回复: 7
打印 上一主题 下一主题

[其它] 为什么linux从SD卡启动要设为mmcblk0p2 ? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-05-09 10:45 |只看该作者 |倒序浏览
各位大哥,你们好!这个问题已经困扰我很久了,想请教大家!

我现在用的是I.MX51EVK开发板+LINUX系统,然后我想让系统从SD卡启动。

看文档说,首先将UBOOT,KERNEL下载到SD卡,然后将SD分区为EXT3格式,放入ROOTFS根文件系统,然后设置UBOOT参数,从SD卡启动。

我的疑问是:在UBUNTU 10.04中,我使用 sudo cat /proc/partitions查看到我插入的SD卡为sdd..,然后使用fdisk分区,
fdisk /dev/sdd,然后创建一个主分区,然后用p命令查看为:/dev/sdd1,

为什么在UBOOT中设置从SD卡启动时,要设置为:root=/dev/mmcblk0p1呢?

为什么在UBUNTU中,我刚才创建的ROOTFS分区明明是/dev/sdd1,而UBOOT启动参数却是mmcblk0p1?到底是什么情况,网上根本就没有讲解。

论坛徽章:
22
丑牛
日期:2014-08-15 14:32:0015-16赛季CBA联赛之同曦
日期:2017-12-14 15:28:14黑曼巴
日期:2017-08-10 08:14:342017金鸡报晓
日期:2017-02-08 10:39:42黑曼巴
日期:2016-11-15 15:48:38CU十四周年纪念徽章
日期:2016-11-09 13:19:1015-16赛季CBA联赛之同曦
日期:2016-04-08 18:00:03平安夜徽章
日期:2015-12-26 00:06:30程序设计版块每日发帖之星
日期:2015-12-03 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-09 06:20:002015亚冠之吉达阿赫利
日期:2015-07-03 08:39:42
2 [报告]
发表于 2014-05-09 13:26 |只看该作者
mmcblk是mmc卡的分区,sdd是sta硬盘的。设备不一样

论坛徽章:
0
3 [报告]
发表于 2014-05-09 13:57 |只看该作者
版主,你好!感谢你能回复!

可是疑问仍然存在,这篇文章:http://www.docin.com/p-110853570.html,说SD卡分区名称是mmcblk0,另外我的卡是8G的高速闪迪SDHC卡,

在没有插入UBUNTU 10.04前,cat /proc/partitions,出现的是sda1,sda2...(因为我的电脑是SATA串口硬盘,不是IDE接口),
当我插入读卡器后,再执行上述命令,除了sdax节点,出现sdb,sdb1,有时是sdd,sdd1设备节点(因为我在SD上用FDISK创建了一个EXT3分区)。

可是为什么开发文档上介绍完这个分区操作后,却在UBOOT里设置root=/dev/mmcblk0p1来启动SD卡呢?

整个互联网,几乎找不到对此作出分析和解答的文章。

论坛徽章:
22
丑牛
日期:2014-08-15 14:32:0015-16赛季CBA联赛之同曦
日期:2017-12-14 15:28:14黑曼巴
日期:2017-08-10 08:14:342017金鸡报晓
日期:2017-02-08 10:39:42黑曼巴
日期:2016-11-15 15:48:38CU十四周年纪念徽章
日期:2016-11-09 13:19:1015-16赛季CBA联赛之同曦
日期:2016-04-08 18:00:03平安夜徽章
日期:2015-12-26 00:06:30程序设计版块每日发帖之星
日期:2015-12-03 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-09 06:20:002015亚冠之吉达阿赫利
日期:2015-07-03 08:39:42
4 [报告]
发表于 2014-05-09 15:44 |只看该作者
回复 3# roney527


    好问题,你看看这里
http://www.tldp.org/HOWTO/Partit ... ming-HOWTO/x99.html

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:58:11
5 [报告]
发表于 2014-05-10 14:13 |只看该作者
本帖最后由 arm-linux-gcc 于 2014-05-10 17:44 编辑

因为在电脑上,你的SD卡是插在usb读卡器上的,在电脑上是走的usb总线,是u盘那一套流程,所以是sdb

而在板子上你是直接插在mmc/sd/sdio插槽上的,直接就是走的mmc总线,所以是mmcblk0

你可以把SD卡插在USB读卡器上,再把读卡器插在板子上,你就可以看到USB读卡器里的SD卡在板子上也是sda了

论坛徽章:
0
6 [报告]
发表于 2014-05-12 14:01 |只看该作者
顿悟,谢谢解答!

论坛徽章:
0
7 [报告]
发表于 2014-05-15 13:51 |只看该作者
这里有两个系统:
第一:你的主机开发系统,对应的开发操作系统的linux内核和X86硬件环境  
第二:开发板系统,对应的Linux内核和IMX51硬件环境
两个系统对于同一个硬件识别为不同的dev节点,是可以的,完全没有问题

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:58:11
8 [报告]
发表于 2014-05-15 20:06 |只看该作者
回复 7# zll468904197


    你这不说了等于没说吗,LZ是问的原因
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP