SD卡, EMMC固化 ,关于bootloader linux
2016-01-20 13:42
369 查看
一. 将bootloader烧入SD卡
1.格式化SD卡(不挂载): fdisk /dev/sdx -d 删除 -n 新建分区 -w 保存退出 6~default sdx1
两种格式化方式: mkfs -t vfat /dev/sdx1
mkfs.vfat /dev/sdx1
2.将bootloader烧入SD卡: 注意--不挂载
./sd_fusing.sh /dev/sdx 执行后将SD卡插入开发板,在minicom中启动
注:分区是对整个设备进行操作(sdx)而不是(sdx1)
二. 将Linux/Andriod系统烧入SD卡,进而固化EMMC中运行
1.格式化SD卡(不挂载): fdisk /dev/sdx -d 删除 -n 新建分区 -w 保存退出 6~default sdx1
两种格式化方式: mkfs -t vfat /dev/sdx1
mkfs.vfat /dev/sdx1
2.将Linux/Andriod系统烧入SD卡(不挂载):
./sd_write /dev/sdb ../images/Superboot.bin
3. 将image复制到sdx1中(先挂载):
mount /dev/sdx1 /media
cp images /media/*
三. Linux内核的烧写
minicom常用命令:
printenv :打印环境变量
bootargs :启动参数,决定内核启动后根文件系统如何挂载
bootcmd : 用于实现内核的自启动
help,bootm,mmc list,mmcinfo 0,ext2format,ext2load
注:从SD卡启动
1.分区: fdisk -p 1 打印分区信息
fdisk -c 1 320 2057 520 (能且只能)分成四个分区 (剩余空间自动为一份分区)
2.格式化: fatformat mmc 1:1
ext3format mmc 1:2
ext3format mmc 1:3
ext3format mmc 1:4
3.烧写bootloader到EMMC:
emmc open 1 --打开emmc
mmc write 1 40000000 0 10
mmc write 1 40000000 10 20 这些逻辑块数都为16进制数
mmc write 1 40000000 30 290
mmc write 1 40000000 2c0 ba
emmc close 1 --关闭emmc
注: 以EMMC方式重启
4. 烧写linu内核和根文件系统到EMMC的第二 三分区:
第一步: 使开发板挂载到nfs虚拟文件系统
mkdir /nfsroot
添加 /nfsroot *(rm,sync,no_root_squash) 到 文件 /etc/exports
重启nfs服务 service nfs restart
拷贝inittab文件 cp inittab /nfsroot/etc
设置启动参数 set bootargs "root=/dev/nfs nfsroot=192.168.0.222:/nfsroot ip=192.168.0.20
lcd=S70 console=ttySAC0,115200 init=linuxrc"
保存 save
注意: Ctrl + A(松开) W :打开自动换行(由于变量太多,必须自动换行)
第二步:利用虚拟文件系统拷贝内核和根文件系统
将内核拷贝到EMMC的第二个分区
挂载 mount /dev/mmcblk0p2 /mnt
拷贝内核 cp zImage /mnt (在pc机中先将zImage拷贝到共享目录nfsroot中)
卸载EMMC第二分区 umount /mnt
将根文件系统拷贝到EMMC的第三个分区
挂载 mount /dev/mmcblk0p3 /mnt
拷贝根文件系统
PC端: cp root_qt*.tar.gz /nfsroot ( 在pc机中先将root_qt*拷贝到共享目录)
minicom开发板: tar -zxvf root_qt*.tar.gz -C /mnt (后将所有文件拷到/mnt目录)
拷贝inittab--根文件系统缺失部分
PC端: cp inittab /nfsroot/
minicom开发板:cp /inittab /mnt/etc (或 cp /etc/inittab /mnt/etc )
卸载EMMC第三分区 umount /mnt
注:之后手动复位,从EMMC启动,下一步在minicom中设置环境变量
5.设置变量:
设置内核自启动 set bootcmd "ext2load mmc 0:2 40008000 zImage;bootm 40008000"
设置启动参数 set bootargs "root=/dev/mmcblk0p3 console=ttySAC0,115200 init=linuxrc lcd=S70"
保存 save
注:EMMC有四个分区 ,其中: 第一个分区 bootloader
第二个分区 内核
第三个分区 根文件系统
2016-01-19
1.格式化SD卡(不挂载): fdisk /dev/sdx -d 删除 -n 新建分区 -w 保存退出 6~default sdx1
两种格式化方式: mkfs -t vfat /dev/sdx1
mkfs.vfat /dev/sdx1
2.将bootloader烧入SD卡: 注意--不挂载
./sd_fusing.sh /dev/sdx 执行后将SD卡插入开发板,在minicom中启动
注:分区是对整个设备进行操作(sdx)而不是(sdx1)
二. 将Linux/Andriod系统烧入SD卡,进而固化EMMC中运行
1.格式化SD卡(不挂载): fdisk /dev/sdx -d 删除 -n 新建分区 -w 保存退出 6~default sdx1
两种格式化方式: mkfs -t vfat /dev/sdx1
mkfs.vfat /dev/sdx1
2.将Linux/Andriod系统烧入SD卡(不挂载):
./sd_write /dev/sdb ../images/Superboot.bin
3. 将image复制到sdx1中(先挂载):
mount /dev/sdx1 /media
cp images /media/*
三. Linux内核的烧写
minicom常用命令:
printenv :打印环境变量
bootargs :启动参数,决定内核启动后根文件系统如何挂载
bootcmd : 用于实现内核的自启动
help,bootm,mmc list,mmcinfo 0,ext2format,ext2load
注:从SD卡启动
1.分区: fdisk -p 1 打印分区信息
fdisk -c 1 320 2057 520 (能且只能)分成四个分区 (剩余空间自动为一份分区)
2.格式化: fatformat mmc 1:1
ext3format mmc 1:2
ext3format mmc 1:3
ext3format mmc 1:4
3.烧写bootloader到EMMC:
emmc open 1 --打开emmc
mmc write 1 40000000 0 10
mmc write 1 40000000 10 20 这些逻辑块数都为16进制数
mmc write 1 40000000 30 290
mmc write 1 40000000 2c0 ba
emmc close 1 --关闭emmc
注: 以EMMC方式重启
4. 烧写linu内核和根文件系统到EMMC的第二 三分区:
第一步: 使开发板挂载到nfs虚拟文件系统
mkdir /nfsroot
添加 /nfsroot *(rm,sync,no_root_squash) 到 文件 /etc/exports
重启nfs服务 service nfs restart
拷贝inittab文件 cp inittab /nfsroot/etc
设置启动参数 set bootargs "root=/dev/nfs nfsroot=192.168.0.222:/nfsroot ip=192.168.0.20
lcd=S70 console=ttySAC0,115200 init=linuxrc"
保存 save
注意: Ctrl + A(松开) W :打开自动换行(由于变量太多,必须自动换行)
第二步:利用虚拟文件系统拷贝内核和根文件系统
将内核拷贝到EMMC的第二个分区
挂载 mount /dev/mmcblk0p2 /mnt
拷贝内核 cp zImage /mnt (在pc机中先将zImage拷贝到共享目录nfsroot中)
卸载EMMC第二分区 umount /mnt
将根文件系统拷贝到EMMC的第三个分区
挂载 mount /dev/mmcblk0p3 /mnt
拷贝根文件系统
PC端: cp root_qt*.tar.gz /nfsroot ( 在pc机中先将root_qt*拷贝到共享目录)
minicom开发板: tar -zxvf root_qt*.tar.gz -C /mnt (后将所有文件拷到/mnt目录)
拷贝inittab--根文件系统缺失部分
PC端: cp inittab /nfsroot/
minicom开发板:cp /inittab /mnt/etc (或 cp /etc/inittab /mnt/etc )
卸载EMMC第三分区 umount /mnt
注:之后手动复位,从EMMC启动,下一步在minicom中设置环境变量
5.设置变量:
设置内核自启动 set bootcmd "ext2load mmc 0:2 40008000 zImage;bootm 40008000"
设置启动参数 set bootargs "root=/dev/mmcblk0p3 console=ttySAC0,115200 init=linuxrc lcd=S70"
保存 save
注:EMMC有四个分区 ,其中: 第一个分区 bootloader
第二个分区 内核
第三个分区 根文件系统
2016-01-19
相关文章推荐
- thrift在centos6.5下编译环境的安装
- linux常用的和查看操作系统相关的命令
- Linux曲径通幽:常用命令(文件处理命令)
- Linux曲径通幽:入门
- CentOS安装GitLab
- linux服务器添加硬盘
- 软件测试人员必备Linux命令(初、中、高级)
- centos 有java 没有 javac
- 修改CentOS的yum源为163
- Linux LVM硬盘管理及LVM扩容
- linux系统下安装多个MySql数据库并做主从配置(个人项目经验)
- 关于Linux常用系统性能监控命令(转自微信公众号: linux爱好者)
- Ubuntu 下安装 maven
- 查看LINUX当前目录下的文件夹大小
- Centos下安装ECSHOP操作指南
- linux sleep(0)与usleep
- 点滴记录——在Ubuntu 14.04中使SublimeText 3支持中文输入法
- Linux中mkdir函数与Windows中_mkdir函数的区别
- linux下 配置weblogic 与nodemanager到服务里,开机自启动
- linux查看进程的线程数