02-LINUX_SDK源码编译
获取SDK源码
网盘下载目录
拷贝源码压缩包到编译主机目录
注意事项:
源码不可放在共享目录下编译
编译主机不可用ROOT账号登陆
MD5校验文件完整性
解压源码压缩包
解压完成后,查看源码目录仅有.git文件夹,需要执行下一步才能完成恢复出源码
Git恢复源码目录
编译命令
编译前确保编译环境能够正常联网,编译过程中会自动下载安装所需的工具
下面命令编译固件制作的SD卡为烧录卡
烧录卡想要取消自动烧录 可以通过板子SD烧录卡启动后输入系统下面命令控制
禁用自动烧录服务
启动自动烧录服务(烧录卡默认启动)
编译详细步骤选择介绍
在aw-image-build根目录运行 ./build.sh 来进入交互式构建界面
可以看到,在我们的功能选择界面,总共有7个选项
Build all step :构建完整镜像,自动执行step1到step4
step1.Build Kernel:单独编译内核
step2.Build U-boot:单独编译u-boot
step3.Build base-rootfs and deb packages:构建根文件系统镜像并打包自定义deb软件包
step4.Pack image:将系统镜像的各个部分按规则打包成一个完整的用于烧录的镜像
update source repository:下载或更新软件源码
clean source/build/out files:清理拉取的源代码、构建过程中产生的文件、最终输出的镜像
如果我们只是需要构建一个用于板卡启动的镜像,选择 Build all step 再按Enter键进入下一步
选择我们要构建镜像的板卡,如kickpi-k2b Allwinner H618**
选择我们要构建的根文件系统的发行版和release版本,选择jammy Ubuntu
选择我们要构建的根文件系统是否为桌面版,如 desktop
选择我们要构建的根文件系统的桌面环境,如 Xfce
选择我们要构建的根文件系统的桌面环境的配置文件,默认是 base configuration
选择我们要构建的根文件系统预装的软件包,使用空格键选中,再按Enter键开始构建过程
构建完成后镜像保存在out/images目录下
单步构建镜像
对用户而言,如果要对板卡进行二次开发,需要预装应用、修改调试内核等,可能就涉及到了根文件系统或内核的单独构建, 此时就可以选择单步构建的方式。
在aw-image-build根目录运行 ./build.sh 来进入交互式构建界面
可以看到,除了使用 Build all step 进行一键构建以外,还有step1到step4的单步构建选项, 实际上一键构建的过程,就是顺序调用这四部分脚本的过程。
step1.Build Kernel
这一步是单独编译内核源码并生成内核deb包
运行 ./build.sh 进入交互式构建界面,选择 step1.Build Kernel 再按Enter键进入下一步
选择我们要编译内核的板卡,如 kickpi-k2b Allwinner H618
在构建结束后还会打印一些辅助信息
Kernel deb path:构建生成的内核deb文件保存路径
Kernel deb name:构建生成的内核deb包名称
将生成的内核deb包传输到正在运行的板卡中, 使用dpkg -i linux-***.deb,然后重启板卡,就可以更新升级内核了
修改内核配置项
如果我们想要修改内核配置文件来开启或关闭内核的某项功能,应该如何操作(需先正常编译一次):
首先我们需要进入内核所在的目录,可以查看构建时的提示信息 Compiler kernel path 进入对应的目录
至此,板卡的内核配置文件的修改就完成了,我们可以通过构建工具来重新编译内核
step2.Build U-boot
这一步是单独编译u-boot并将生成的u-boot镜像打包为deb
运行 ./build.sh 进入交互式构建界面,选择 step2.Build U-boot 再按Enter键进入下一步
选择我们要编译u-boot的板卡,如 kickpi-k2b Allwinner H618
结束后还会打印一些辅助信息
Target directory:构建生成的u-boot deb文件保存路径
File name:构建生成的u-boot deb包名称
将生成的u-boot deb包传输到正在运行的板卡中, 使用dpkg -i lubancat-a1-uboot-xxx.deb将u-boot镜像解压到板卡根文件系统中, 最后还需要使用脚本将u-boot镜像写入进我们存储设备的指定位置覆盖原来的u-boot。
选择选项 **5 Install/Update the bootloader on SD/EMMC **
遇到警告选yes
完成后,我们重启板卡即可使用更新后的u-boot
编译工具链
编译完成时会在此目录有编译工具链
Last updated