上篇文章,编译的hello word程序在板子中不能运行,这篇,我们重新自己编译一个系统镜像,再把自己编译的hello word程序放进去,看看能不能运行。
自己编译系统镜像,首先需要下载SDK源码。
全志客户服务平台上添加自己的公钥,用来下载SDK代码
公钥如何生成呢,我用的是ubuntu系统,输入ssh-keygen可以产生公钥,一路回车使用默认选项,最终的公钥保存在~/.ssh目录下的id_rsa.pub文件中:
配置好公钥之后,就可以下载D1-H的Tina系统的SDK源码了,点击下载会有如何下载的提示说明:
在ubunt中创建一个SDK目录,用于存放SDK源码,然后使用git clone指令来下载源码,注意下载地址要改成全志客户服务平台上注册的用户名:
下载完之后,需要修改repo文件中的用户名为自己在全志客户服务平台上注册的用户名:
我的改为如下:
然后将repo文件复制到/usr/bin目录中,并赋予777的权限:
接下来输入repo init指令来初始化代码仓库
这里提示了邮箱和用户名没有设置:
那就来设置一下邮箱和用户名:
然后再来init一次,注意,init完之后,这个文件夹好像也没有多出来什么文件,然后使用repo sync指令来同步代码:
代码同步完成之后的结果:
然后输入如下指令来创建分支:
repo start product-smartx-d1-tina-v1.0-release --all
接下来就是使用make编译了:
需要先更新环境变量:
source build/envsetup.sh
lunch d1_nezha-tina
然后再make编译:
那就安装一下awk,注意awk分为好几种,我安装了gawk:
安装完之后,再使用make指令编译:
编译完之后,就可以使用pack指令打包了
pack
最终得到img镜像文件:
进到out/d1-nezha目录中,查看各个编译成果:
将img镜像烧写到SD卡中,烧写方式参考之前的文章。
这次使用adb方式连接开发板,如下图,注意需要把USB线的插头用小刀削薄一点c
进入到系统之后,就可以看到Tina Linux的图标:
本来想新建个文件夹,把hello word程序拷贝进行运行试试,但这里提示这个系统是只读(Read-only)的文件系统。
使用df-T指令查看根文件系统的类型,显示的squashfs类型的文件系统。
hello word程序还是运行不了,还要继续想办法。