嵌入式Linux SD系统启动卡制作方法 您所在的位置:网站首页 sd卡u盘启动失败 嵌入式Linux SD系统启动卡制作方法

嵌入式Linux SD系统启动卡制作方法

2023-10-18 17:05| 来源: 网络整理| 查看: 265

SD 卡启动是开发板系统启动方式的一种。 SD 系统启动卡共有 FAT32、 EXT3 两个格式分区,还包含 RAW 格式的无名分区。其中 FAT32 格式分区在 Windows 系统下可见,EXT3 格式分区在 Windows 系统下不可见,两分区在 Linux 系统下均可见。无名分区在Windows 和 Linux 操作系统下均不可见。 无名分区存放 u-boot.ais, FAT32 格式分区存放内核文件 uImage、系统启动脚本等文件, EXT3 格式分区存放文件系统。 开发板出厂时已经提供一个正常使用的 Linux SD 系统启动卡,以下步骤是 Linux SD系统启动卡的制作过程 注: 启动卡的制作需要用到uboot里面的制作工具mkimage,需要先安装mkimage。

两种途径得到mkImage工具uImage: 解决方法: 方法一: 安装mkimage工具,载ubuntu11.10下执行以下命令进行安装: #sudo apt-get install uboot-mkimage 方法二: 编译uboot源码,编译成功后载uboot/tools目录下会生成mkimage工具,将mkimage工具拷贝到/usr/bin/目录下即可。 1 SD 系统启动卡制作步骤 (1) 将光盘 images 目录 u-boot.ais、 uImage 文件拷贝到光盘”shell/mksdboot-tl/boot”目录中,将光盘 Linux 目录 rootfs.tar.bz2 文件系统拷贝到光盘”shell/mksdboot-tl/filesystem”目录中, 然后将整个 mksdboot-tl 目录拷贝到 Ubuntu 任意目录下。 图1 (2) 将 SD 卡插入到 Ubuntu, 系统会自动弹出 SD 卡分区。 图2 ( 3) 输入如下命令(先不要按回车): Host# ls /dev/sd, 再按 2 次左上角的 Tab 补全键,显示如下: 这里写图片描述 可以看到 SD 卡节点的真正名字是 sdb,其中有 1 个分区,分区名字是 sdb1。 SD 卡节点名字是可变的,一般插拔多次或者不同的卡插拔后,可能会显示 sdc 或者 sdd 甚至sde。

( 4) 在 mksdboot-tl 目录下执行以下命令制作 SD 启动卡: Host# sudo ./mksdboot-tl.sh –device /dev/sdb 备注: SD 卡如错误输入其他存储介质的节点名,将会造成存储介质数据的损坏。 这里写图片描述 等待 3~5 分钟左右, SD 系统启动卡制作完成,提示如下类似信息: 这里写图片描述 备注: SD 卡和读卡器质量会影响正常分区,若不能正常分区,请更换 SD 读卡器或者 SD卡。

2 SD 系统启动卡制作脚本作用说明 SD 系统启动卡制作脚本作用如下: ( 1) 将 SD 卡格式化成无名分区( RAW 格式)、 boot 分区( FAT32 格式)和 rootfs分区( EXT3 格式)。 在 SD 系统启动卡制作完成后重新插拔一下 SD 卡, 即可看到 Ubuntu 桌面出现 boot分区和 rootfs 分区,而无名分区不可见。 ( 2) 拷贝 mksdboot-tl 目录相关文件到 SD 卡对应分区。 “mksdboot-tl/boot” 目 录 下 的 u-boot.ais 文 件 被 烧 写 到 SD 卡 无 名 分 区 ;”mksdboot-tl/boot”目录下所有文件被拷贝到 SD 卡 boot 分区; “mksdboot-tl/filesystem”目录下”.tar.bz2”格式文件系统被解压到 SD 卡 rootfs 分区。 如有更换文件系统,后缀务必为”.tar.bz2”格式。 ( 3) 在 boot 分区生成 SD 卡启动脚本源文件和 SD 卡启动脚本镜像。 SD 卡启动脚本源文件是 boot.cmd, SD 卡启动脚本镜像是 boot.scr。 boot.cmd 由 SD系统启动卡制作脚本产生, boot.scr 由 boot.cmd 通过 SD 系统启动卡制作脚本编译得到。 默认的 SD 卡启动脚本参数可打开 boot.cmd 文件查看: 图10 如需更换 SD 卡启动脚本,请参考 SD 卡启动脚本制作方法章节。

如在开发过程中只更新 u-boot.ais,可以使用如下命令单独烧写 u-boot.ais 到 SD 卡无 名分区: Host# sudo dd if=u-boot.ais of=/dev/sdb seek=10 图11 重新插拔 SD 卡后不能直接拔掉 SD 卡, 为防止数据丢失,请使用如下命令卸载: Host# umount /media/boot Host# umount /media/rootfs 以上命令会先将数据写回才卸载 SD 卡。 3 检查 SD 系统启动卡是否可以正常使用 开发板断电,将开发板的拨码开关编号 1~5 对应拨到 00111,这个档位是 SD 卡启动模式。 连接好调试串口 UART2, 开发板上电,串口会有类似如下的启动信息。如有接LCD 显示屏,将会有系统界面出现。 图12

4 SD 系统启动卡恢复为普通 SD 卡方法 SD系统启动卡恢复为普通 SD卡的方法是在 Linux 下使用硬盘 fdisk命令删除多个 SD 卡分区后新增一个分区, 再将新增分区格式化为普通 SD 卡分区,具体步骤如下: ( 1) 卸载 SD 卡分区。 在使用 fdisk 命令前,请使用如下命令卸载 boot 分区和 rootfs 分区: Host# umount /media/boot Host# umount /media/rootfs ( 2) 确认 SD 卡节点名字。 输入如下命令(先不要按回车): Host# ls /dev/sd, 再按 2 次左上角的 Tab 补全键,显示如下: 图13 可以看到 SD 卡节点的真正名字是 sdb,其中有 2 个分区, 分别是 sdb1 和 sdb2。 SD 卡节点名字是可变的,一般插拔多次或者不同的卡插拔后,可能会显示 sdc 或者 sdd 甚至 sde。 ( 3) 删除 SD 卡分区。 执行如下命令开始对 SD 卡进行操作: Host# sudo fdisk /dev/sdb 图 14 输入 m, 可看到所有 fdisk 命令操作指令。 图15 先后输入 d 和 1, 即可删除第一个分区。 图16 输入 d, 即可删除第二个分区。 图17 ( 4) 增加一个新分区。 先后输入 n、 p、 1、回车键、回车键, 即新增一个分区。 图18 ( 5) 保存分区修改。 输入 w,即可保存分区修改。 图19 ( 6) 格式化为普通 SD 卡格式分区,命令如下: Host# sudo mkfs.vfat /dev/sdb1 图20



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有