这次就来准备搭建一下T113i的开发环境,其实对于初入门的Linux开发者而言,开发环境的搭建真的也是一大课题,有时候甚至要耗费相当多的时间搭建环境,配置环境,配置工具等等。因此这部分是否能方便快捷,至少能顺利搭建也成了一大关键。而我也算是作为初入门的Linux开发者,本次也难免要经历这个过程。
Linux的开发环境一般使用Linux机器进行开发编译等工作,这个Linux机器可以是实体机,也可以是虚拟机,飞凌官方已经将虚拟机和整个开发环境,包括需要用到的一些工具等都打包起来了,很方便。但现在Windows已经支持WSL,之前熟悉其它Linux芯片开发的时候也尝试过,也是非常方便,不用额外再增加安装虚拟机了,因此这次也打算尝试一下。本机已经安装了如下的Ubuntu-20.04版本
 

37d526bd-2011-45de-bf6e-75d71a3a19c8-image.png


下面先登录该WSL,然后在Home文件夹下新建forlinx文件夹

a0303d21-06d7-4de4-b8cb-93ff5ea8f986-image.png

然后将源码拷贝如该文件夹

2147e26e-89bb-4896-ab2f-01545a1b21b6-image.png

此后进行MD5校验,并于上述文件夹中的sdk_md5sum.txt原始MD5进行对比

b19bb197-9212-4ff4-88ac-22f90d442580-image.png

没问题就可以进行解压了

03366e3f-f9d9-4a3d-b051-398664e9b733-image.png

解压完成

32e318f2-f107-40ee-91e8-d7dab6e6a3c9-image.png

解压完成可以看到如下文件信息

e9ca39d8-faa4-4843-8169-67a41b4f118b-image.png

进行sdk配置

2b47c17a-ca48-4ae4-b8aa-cb5302c0b2c0-image.png

开始内核全编译

db88dda8-77fc-44e1-96fe-64953b78abc3-image.png

提示了这个错误

5fafd9a8-5986-4c52-a590-f6365c9cdec5-image.png

这个可能是包没有安装好

b86db137-af3c-4385-9d97-adc4c4a124a2-image.png

还是不行,按照提示安装另一个

77c80584-1a60-43da-89c1-4b41ac30ccd1-image.png

然后接着编译

7f699506-3109-4e56-a62f-c5320eed54e3-image.png

然后开始打包

b58ffd5c-f346-419e-8cb8-e9f59b8fb750-image.png

提示最终打包成功,并在out文件中生成img镜像文件

afa660af-b604-4cbc-8d57-aae14be49f78-image.png

从宿主机的文件资源管理器中也能看到最新生成的镜像文件

b578d18e-52ab-4c1d-ba9d-c483b20f6e7f-image.png

由此编译打包成功。

还可以尝试编译一下内核
 

a8544ce9-cd60-41b0-b2aa-8ad9175d24a5-image.png


这里也能看到其编译使用的工具链情况
toolchain_archivedir=/home/forlinx/OK113i-linux-sdk/build/toolchain/gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabi.tar.xz

40489edf-e9ed-4d36-b8c9-f4cf42cb8919-image.png

96177236-31e8-4608-af03-78749f0c4b3e-image.png


编译成功

1b874a34-7fdb-47aa-8917-5b8e6b10c0b1-image.png

编译完会在/home/forlinx/OK113i-linux-sdk/out/t113_i/OK113i/longan/路径下生成 boot.img

943fddf7-c859-4352-b026-1f427b69b620-image.png

boot.img 可用于在线单独更新内核,用户需将其从虚拟机中拷贝到 OK113i 板卡/home 路径下,之后执行:dd if=/home/boot.img of=/dev/mmcblk0p4 conv=fsync
完成之后,重启板卡,即替换内核
注意单独编译内核只针对内核源码进行编译,影响驱动,适用于仅修改内核时进行编译

执行./build.sh clean可以清除所有中间文件。但不影响源文件,包括已经有改动的源文件。

38c61b5d-df2a-408e-b3c4-71ee8f912d1f-image.png

总结:看起来sdk在解包出来之后,整个编译的过程还是非常的顺利的,这个也得益于sdk的设计和打包。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐