Hi3518内核和文件系统烧写以及nfs挂载

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Hi3518内核和文件系统烧写以及NFS挂载

修改履历

第一步编译内核和文件系统

文档说明:涉及到目录的请根据自己的实际情况进行更改,本文档仅根据笔者的测试进行举例说明。

1 安装交叉编译器

cd arm-hisiv100nptl-linux

./cross.install

说明:3518e推荐使用100nptl进行编译,arm-hisiv100nptl-linux-(使用uclibc库,uclibc 工具链支持全规格版本和小型化版本

)arm-hisiv200-linux-(glibc 库glibc 工具链只支持全规格版本),实验时没有使用hisiv200,不确定会出什么问题,不推荐使用。

2 编译步骤

cd ./linux-3.0.y

./mk3518.sh

mk3518.sh 脚本里面包含了编译linux内核所需的所有的命令,具体看mk3518.sh文件,编译成功将生成在目录arch/arm/boot/uImage文件,这个就是要烧录到板子上的

注意:大小大约为1M。大于1M也许会出问题,在实验前期都是大于1M,烧录的时候出问题。

制作rootfs文件系统,使用的是最新的squashfs只读文件系统,使用的工具为mksquashfs,目录squashfs4.2为这个工具的代码

rm ./rootfs.squashfs //仅仅为了删除之前存在的文件系统,如果没有,可不执行这一步。

./mksquashfs ./rootfsrootfs.squashfs -b 256K

cp ./rootfs.squashfs ./tftpboot //可不用命令,自己拷贝,黏贴,文件夹根据自己实际情况所定。

生成的rootfs.squashfs这个就是要烧录到板子上的文件

注意:生成的文件大约为1.5M

地址空间说明

| 256K | 1M | 1.5M |

|------------|---------------|-----------------------|

| boot | kernel | rootfs |

剩下5.25M可以由用户自由使用。

可以看出如果文件超出限制,将会出现内存不够的错误。烧写前期遇到几次提示内存不足的错误。

第二步烧写内核和文件系统

1 烧写工具安装和配置

win7下使用tftod32和secureCRT 进行烧写。

a、安装usb转串口的驱动

在~/usb驱动/WIN7驱动2/Prolific_DriverInstaller_v110.exe目录下

安装后到设备管理器中查看是否安装成功。

注:有时系统会自己安装,安装以后只要secureCRT设置正确,仍可以正常使用,如果不能正常使用,请尝试卸载系统自动安装的,使用hisi提供的驱动。

b、安装tftpd32软件,在百度上面随便搜索一个下载,安装后,打开tftpd32软件。其中当前目录指的是安装tftpd32的安装目录,点击显示目录可以看到该目录下的内容。后面要烧录的镜像文件都是放在这个目录下的,在u-boot控制命令台加载镜像文件的时候,自动从该目录下搜索指定的镜像文件。

服务器IP地址指的是当前PC机的IP地址,当打开tftpd32软件的时候,会自动把你当前PC上的IP地址加载到此处。如果你想修改服务器的IP地址,直接把你的PC的IP地址修改后,打开tftpd32软件,会自动加载的。

注:烧录基本不用远程服务器,如果有兴趣可以研究使用远程服务器烧录,不推荐使用远程服务器。

c、安装SecureCTR软件,具体步骤请百度。

首先打开SecureCTR软件,选择快速链接,会弹出一个选项框。

在Protocla 下拉菜单中选择 serial ;

Port的选择依据安装驱动时分配的com端口;

波特率选择115200

点击ok

当窗口出现绿色勾时表明链接成功。

d、重新启动开发板,按住ctrl+c进入u-boot的控制台,再根据烧录步骤,输入命令烧kernel和文件系统。但是一定要把相关镜像文件拷贝到tftpd32的安装目录下,不然找不到。

注。切记uImage和 rootfs一定要拷贝到tftpd32的根目录下。

2 烧写过程

注:千万不要忘记把tftpd32打开并进行设置

uboot烧写内核

set serverip 192.168.16.100

mw.b 0x82000000 0xFF 0x100000

tftp 0x82000000 uImage

sf probe 0

sf erase 0x40000 0x100000

sf write 0x82000000 0x40000 0x100000

烧写rootfs文件系统

mw.b 0x82000000 0xFF 0x180000

tftp 0x82000000 rootfs.squashfs

sf probe 0

sf erase 0x140000 0x180000

sf write 0x82000000 0x140000 0x180000

设置启动参数和启动命令

setenvbootargs 'mem=32M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=squashfsmtdparts=hi_sfc:256K(boot),1M(kernel),1536K(rootfs),5 376K(user)'

setenvbootcmd 'sf probe 0;sf read 0x82000000 0x40000 0x100000;bootm

0x82000000'

saveenv

reset

相关文档
最新文档