用OMAPL138这段时间以来,深深体会ARM9+DSP强大数据采集和处理能力。现在我拿国内一家做OMAPL138很到位的广州创龙电子公司的SOM-OMAPL138开发套件来说说,谈谈OMAPL138开发板SD系统启动卡制作方法。
1 复制mkcard.sh脚本文件到用户工作目录
打开虚拟机Ubuntu系统,将光盘的tools/mkcard.sh的脚本文件拷贝到共享目录shareVM。再将共享目录的mkcard.sh脚本拷贝到用户工作目录。
2 插入SD卡
将SD卡通过SD卡读卡器插入到PC的USB口,虚拟机会自动弹出SD。
若没有自动弹出,请右击右下角的USB大容量存储设备图标,再点击Connect(Disconnect from Host)。
若没有以上图标,请将SD卡插在PC上,在虚拟机重启过程中不要拨出来,开机后图标会重新出现。
3 卸载SD卡
在命令行终端运行如下命令:
tl@tl-desktop:~$ ls /media/
这个命令可以看到SD卡分区挂载在/medi下的目录名字,这里显示是3EC2-8DA4。接下来我们将用到这个目录名字,不同的SD卡的挂载目录名字将会不一样。
tl@tl-desktop:~$ umount /media/3EC2-8DA4(注意:将3EC2-8DA4改为对应您的SD卡挂载在/media下的目录名字,有多个挂载目录则卸载多个。)
这个命令会将SD卡分区在系统卸载,否则将无法对SD卡进行重新分区操作。
4 查看SD卡分区名字
输入如下命令(不要按回车):
tl@tl-desktop:~$ ls /dev/sd,再按2次左上角的Tab补全键,显示如下:
可以看到SD卡的的真正名字是sdb,其中有1个分区,分区名字是sdb1,这个名字是可变的,一般插拔多次或者不同的卡插拔后,可能会显示sdc或者sdd甚至sde。
5 使用脚本文件分区
分区需要使用root权限,执行以下命令:
tl@tl-desktop:~$ sudo ./mkcard.sh /dev/sdb
等待1分钟左右,分区完成
注意:SD卡质量和读卡器质量会影响正常分区,若不能正常分区,请更换SD读卡器或者SD卡。
6 检查分区是否成功
SD拔出,再重新插入,如分区成功,将会在桌面左上角弹出boot和rootfs的SD分区图标。
boot和rootfs分区会自动挂载在/media目录下,输入命令:
tl@tl-desktop:~$ ls /media/,可以查看到/media目录下有这个两个目录。
SD系统启动卡分区完成。如果想修改分区名字,请将脚本的里面的boot和rootfs修改为对应的名字即可。打开mkcard.sh的命令是:
tl@tl-desktop:~$ gedit mkcard.sh
7 复制uImage到SD卡FAT32格式boot分区
将光盘的images/uImage内核文件拷贝到共享目录shareVM。
执行如下命令查看共享文件夹处是否有uImage文件:
tl@tl-desktop:~$ ls /mnt/hgfs/shareVM/
如有出现请输入如下命令将其从共享目录复制到SD卡FAT32格式boot分区:
tl@tl-desktop:~$ cp /mnt/hgfs/shareVM/uImage /media/boot/
执行如下命令检查是否已经将uImage成功复制到boot分区:
tl@tl-desktop:~$ ls /media/boot/
8 复制并解压文件系统rootfs.tar.bz2文件到SD卡EXT3格式rootfs分区
先将光盘的linux/rootfs.tar.bz2文件拷贝到共享目录shareVM。
执行如下命令查看共享文件夹处是否有rootfs.tar.bz2文件:
tl@tl-desktop:~$ ls /mnt/hgfs/shareVM/
如有出现请执行如下命令,使用超级用户权限将其从共享目录解压到用户工作目录下的omapl138目录。
tl@tl-desktop:~$ cd
tl@tl-desktop:~$ ls
tl@tl-desktop:~$ sudo tar jxvf /mnt/hgfs/shareVM/rootfs.tar.bz2 -C omapl138/
解压前请确保用户工作目录下有omapl138目录,否则请先在用户目录下建立omapl138目录再执行前面的命令。建立目录命令为:
tl@tl-desktop:~$ cd
tl@tl-desktop:~$ mkdir omapl138
解压完成后,执行以下命令查看omapl138/rootfs目录下的文件。
tl@tl-desktop:~$ ls omapl138/rootfs/
执行以下命令,使用超级权限将omapl138/rootfs目录的所有内容复制到到SD卡EXT3格式rootfs分区。
tl@tl-desktop:~$ sudo cp -a omapl138/rootfs/* /media/rootfs/
“-a”表示保留链接、文件属性,并递归地复制目录。“*”表示该目录下的所有文件。执行如下命令检查是否已经将omapl138/rootfs目录下的文件成功复制到rootfs分区:
tl@tl-desktop:~$ ls /media/rootfs/
9 卸载boot和rootfs分区
执行如下命令可以将数据写回SD卡并卸载boot和rootfs分区。不能直接拔掉SD卡,防止文件文件丢失。
tl@tl-desktop:~$ sync
tl@tl-desktop:~$ umount /media/boot
tl@tl-desktop:~$ umount /media/rootfs
10 检查SD系统启动卡是否可以正常使用
开发板断电,将开发板的编号1~8位拨码开关拨到00001110,这个档位是8位Nand Flash启动模式。串口接到底板UART0,波特率设置为115200,8N1,无校验位。开发板上电,串口会有调试信息打印,等待20秒左右,串口将会提示输入登录账号,输入root,回车即可登录系统,至此SD系统启动卡制作完成。