Kickpi-Book
  • KICKPI Document
  • K5(A133)
    • A133中文文档
      • 02-KICKPI-K5C硬件介绍
      • 02-KICKPI-K5硬件介绍
      • 10-系统镜像烧录
      • 11-SDK源码编译
      • 12-硬件功能使用说明
      • 13-硬件工厂测试
      • 20-LCD功能调试
      • 21-LRADC按键配置
      • 31-Android10.0 Tablet系统定制
      • 32-Ubuntu16.04 系统定制
      • 33-Kernel 驱动定制
      • 34-K5C主板供电
  • K2B/K2C(H618)
    • zh
      • 01-主板介绍
        • 01-KICKPI-K2B硬件介绍
        • 02-KICKPI-K2C硬件介绍
      • 02-入门必读
        • 01-网盘目录说明
        • 02-快速使用
        • 03-功能测试
        • 04-扩展引脚
      • 03-镜像烧录
        • 01-SD卡烧录
        • 02-USB线烧录
      • 04-SDK编译
        • 01-编译环境搭建
        • 02-LINUX_SDK源码编译
        • 2. Android SDK编译
      • 05-外设驱动
        • RTC
      • 06-Android系统定制
        • Android常用系统定制
      • 07-Linux系统定制
        • Linux常用系统定制
      • 08-进阶
        • 14-Secure Boot
        • 硬件工厂测试
        • 44-Keybox
  • K1/K1B/K3/K8(RK3568/RK3562/RK3588)
    • zh
      • 01-主板介绍
        • 01-RK芯片对比介绍
        • 02-KICKPI-K1硬件介绍
        • 03-KICKPI-K1B硬件介绍
        • 04-KICKPI-K3硬件介绍
        • 06-KICKPI-K8硬件介绍
      • 02-入门必读
        • 01-网盘目录说明
        • 02-快速使用
        • 02-快速使用
        • 02-快速使用
        • 03-功能测试
        • 04-拓展引脚
      • 03-镜像烧录
        • 01-USB线烧录
      • 04-SDK编译
        • 01-编译环境搭建
        • 02-LINUX SDK 编译
        • 03-ANDROID SDK 编译
      • 05-外设驱动
        • GPIO
        • Kernel
        • LCD
        • PWM
        • RTC
      • 06-ANDROID系统定制
        • 01-Android常用系统定制
        • 07-Android NPU YOLOV5 目标检测
      • 07-LINUX系统定制
        • 01-Linux常用系统定制
        • 02-Linux安装VNC
        • 03-Linux Docker环境搭建
        • 04-Linux QT环境搭建
        • 05-Linux NPU YOLOV5S 目标检测
      • 08-进阶
        • 01-硬件工厂测试
        • 02-硬件老化测试
        • 03-固件解包和打包
  • K7(RK3576)
    • zh
      • 01-主板介绍
        • 01-KICKPI-K7硬件介绍
      • 02-入门必读
        • 01-网盘目录说明
        • 02-快速使用
        • 03-功能测试
        • 04-拓展引脚
      • 03-镜像烧录
        • 01-获取镜像文件
        • 02-USB线烧录
      • 04-SDK编译
        • 01-编译环境搭建
        • 02-Linux_SDK编译
        • 03-Android_SDK编译
      • 05-外设驱动
        • ADC
        • PWM
      • 06-ANDROID系统定制
        • 01-Android常用系统定制
      • 07-LINUX系统定制
        • 01-Linux常用系统定制
        • 02-Linux Docker环境搭建
        • 03-Linux NPU YOLOV5S 目标检测
        • 04-Linux_Deepseek大模型
        • 05-Linux_VNC远程控制
      • 08-进阶
        • ADB功能使用
        • 进阶测试
  • K4B(T113-S3)
    • T113-S3中文文档
      • 01-KICKPI-K4B硬件介绍
      • 10-系统镜像烧录
      • 11-SDK源码编译
      • 12-硬件功能测试
      • 13-硬件工厂测试
      • LCD功能调试
      • 20-Ubuntu20.04系统定制
      • Buildroot_QT5配置
      • Buildroot系统定制
  • common
    • zh
      • adb
        • ADB教程
      • android
        • 02-ADC
      • bluetooth
        • bootanimation
      • display
        • FPC接口介绍
      • linux
        • SSH
        • bluetoothctl教程
        • qt
Powered by GitBook
On this page
  • 获取SDK源码
  • 编译命令
  • 单步构建镜像
  • 编译工具链
  1. K2B/K2C(H618)
  2. zh
  3. 04-SDK编译

02-LINUX_SDK源码编译

获取SDK源码

  • 网盘下载目录

1-SDK\Linux\
	h618-linux-xxxxxxx.tar.gz
  • 拷贝源码压缩包到编译主机目录

    注意事项:

    1. 源码不可放在共享目录下编译

    2. 编译主机不可用ROOT账号登陆

  • MD5校验文件完整性

$ md5sum -c *.md5
  • 解压源码压缩包

$ tar -zxvf *.tar.gz

解压完成后,查看源码目录仅有.git文件夹,需要执行下一步才能完成恢复出源码

  • Git恢复源码目录

$ git reset --hard

编译命令

编译前确保编译环境能够正常联网,编译过程中会自动下载安装所需的工具

$ ./build.sh

下面命令编译固件制作的SD卡为烧录卡

$ ./build.sh auto_burn=true

烧录卡想要取消自动烧录 可以通过板子SD烧录卡启动后输入系统下面命令控制

禁用自动烧录服务

$ sudo systemctl disable kickpi.service 

启动自动烧录服务(烧录卡默认启动)

$ sudo systemctl enable kickpi.service 

编译详细步骤选择介绍

在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 进入对应的目录

# 进入内核源码目录 
cd /home/jiawen/Allwinner/H618/aw-image-build/source/kernel/linux-5.4-h618 

# 修改内核配置文件 
make ARCH=arm64 menuconfig

# 修改完成后保存并退出menuconfig配置页面,此时修改的配置保存在.config中,我们还需要将修改 同步到板卡的内核配置文件中 

# 保存defconfig配置文件 
make ARCH=arm64 savedefconfig 

# 使用生成的defconfig文件替换板卡配置文件 
cp defconfig arch/arm64/configs/linux_h618_defconfig 

# 查看板卡配置文件修改的内容 
git diff arch/arm64/configs/linux_h618_defconfig

至此,板卡的内核配置文件的修改就完成了,我们可以通过构建工具来重新编译内核

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。

# 使用管理员权限运行脚本 
sudo nand-sata-install 

选择选项 **5 Install/Update the bootloader on SD/EMMC **

遇到警告选yes

完成后,我们重启板卡即可使用更新后的u-boot

编译工具链

编译完成时会在此目录有编译工具链

aw-image-build/toolchains/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabi/bin

Last updated 22 hours ago

image-20241025181130073
image-20250324091854498
image-20241025181249872
image-20241025181345456
image-20241025181414687
image-20241025181456150
image-20241025181509226
image-20241025182302642
image-20241025183117623
image-20250512093014049
image-20250512095408332
image-20250512095441502
image-20250512093014049
image-20250512095830562
image-20241025183525874
image-20241025183646097
image-20241025183611510