RK3506 ubuntu22.04系统编译

RK3506 ubuntu22.04系统编译

为了确保SDK每次更新都能顺利进行,建议在更新前清理之前的编译产物。这样做可以避免潜在的兼容性问 题或编译错误,因为旧的编译产物可能不适用于新版本的SDK。要清理这些编译产物,可以直接运行命令 ./build.sh cleanall。

配置

bash 复制代码
huiwei@hwserver:/mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0$ ./build.sh rockchip_rk3506_b_emmc_ubuntu_defconfig

############### Rockchip Linux SDK ###############

Manifest: rk3506_linux6.1_release_v1.2.0_20250310.xml

Log colors: message notice warning error fatal

Log saved at /mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/output/sessions/2026-05-27_10-29-25
Switching to defconfig: /mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/device/rockchip/.chip/rockchip_rk3506_b_emmc_ubuntu_defconfig
#
# configuration written to /mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/output/.config
#
Using last kernel version(6.1)
huiwei@hwserver:/mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0$

编译

bash 复制代码
huiwei@hwserver:/mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0$ ./build.sh

############### Rockchip Linux SDK ###############

Manifest: rk3506_linux6.1_release_v1.2.0_20250310.xml

Log colors: message notice warning error fatal

Log saved at /mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/output/sessions/2026-05-27_10-31-05
Using last kernel version(6.1)

==========================================
          Final configs
==========================================
RK_BOOT_COMPRESSED=y
RK_BOOT_FIT_ITS=/mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/device/rockchip/.chip/zboot.its

... ...

自动一键 编译 u-boot ,kernel,这里 只 讨论ubuntu 相关,自动编译 内核模块和头文件 等等,利用SDK 中的钩子函数。

bash 复制代码
Running mk-kernel.sh - build_kernel succeeded.
==========================================
          Start building rootfs(ubuntu)
==========================================
==========================================
          Start building jammy(armhf)
==========================================
[    Already Exists IMG,  Skip Make Ubuntu Scripts    ]
[ Delate ubuntu-rk3506-lite-rootfs.img To Rebuild Ubuntu IMG ]
Making rootfs!
Executing post-build.sh...
Adding build-info to /etc/os-release...
Fixing up /etc/fstab...
Fixing up rootfs type: auto
Adding dirs and links...
Executing post-build.sh...

############### Rockchip Linux SDK ###############

Manifest: rk3506_linux6.1_release_v1.2.0_20250310.xml

Log colors: message notice warning error fatal

Running within sudo(root) environment!

Using last kernel version(6.1)
Running 00-wifibt.sh for /mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/ubuntu22.04/binary (ubuntu init=systemd)...
Building Wifi/BT module and firmwares...
Skipping 00-wifibt.sh - build_wifibt for missing configs:  RK_WIFIBT RK_WIFIBT_MODULES.
Running 01-hostname.sh for /mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/ubuntu22.04/binary (ubuntu init=systemd)...
Keep original hostname for ubuntu by default
Running 05-udev.sh for /mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/ubuntu22.04/binary (ubuntu init=systemd)...
Running 06-async-commit.sh for /mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/ubuntu22.04/binary (ubuntu init=systemd)...
Running 07-log-guardian.sh for /mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/ubuntu22.04/binary (ubuntu init=systemd)...
Running 09-disk.sh for /mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/ubuntu22.04/binary (ubuntu init=systemd)...
Installing resize service...
Running 10-os-release.sh for /mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/ubuntu22.04/binary (ubuntu init=systemd)...
Keep original hostname for ubuntu by default
Running 20-info.sh for /mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/ubuntu22.04/binary (ubuntu init=systemd)...
Running 30-fstab.sh for /mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/ubuntu22.04/binary (ubuntu init=systemd)...
Keep original hostname for ubuntu by default
Running 40-busybox-reboot.sh for /mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/ubuntu22.04/binary (ubuntu init=systemd)...
Running 50-locale.sh for /mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/ubuntu22.04/binary (ubuntu init=systemd)...
Keep original locale for ubuntu by default
Running 60-mount-dirs.sh for /mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/ubuntu22.04/binary (ubuntu init=systemd)...
Adding dirs and links...
Running 90-overlay.sh for /mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/ubuntu22.04/binary (ubuntu init=systemd)...
Running 91-modules.sh for /mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/ubuntu22.04/binary (ubuntu init=systemd)...
Installing kernel modules...
Using kernel version(6.1) from environment
Toolchain for kernel:
/mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/prebuilts/gcc/linux-x86/arm/gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf-

==========================================
          Start building modules
==========================================
+ sudo -u #1000 make -C /mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/kernel/ -j21 CROSS_COMPILE=/mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/prebuilts/gcc/linux-x86/arm/gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf- ARCH=arm rockchip_rk3506b_emmc_defconfig rk3506-display.config rk3506-usb-otg.config
make: Entering directory '/mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/kernel-6.1'
#
# No change to .config
#
Using .config as base
Merging ./arch/arm/configs/rk3506-display.config
Value of CONFIG_MEDIA_ANALOG_TV_SUPPORT is redefined by fragment ./arch/arm/configs/rk3506-display.config:
Previous value: CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
New value: # CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set

Value of CONFIG_MEDIA_DIGITAL_TV_SUPPORT is redefined by fragment ./arch/arm/configs/rk3506-display.config:
Previous value: CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
New value: # CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set

Value of CONFIG_MEDIA_RADIO_SUPPORT is redefined by fragment ./arch/arm/configs/rk3506-display.config:
Previous value: CONFIG_MEDIA_RADIO_SUPPORT=y
New value: # CONFIG_MEDIA_RADIO_SUPPORT is not set

Value of CONFIG_MEDIA_SDR_SUPPORT is redefined by fragment ./arch/arm/configs/rk3506-display.config:
Previous value: CONFIG_MEDIA_SDR_SUPPORT=y
New value: # CONFIG_MEDIA_SDR_SUPPORT is not set

Value of CONFIG_MEDIA_TEST_SUPPORT is redefined by fragment ./arch/arm/configs/rk3506-display.config:
Previous value: CONFIG_MEDIA_TEST_SUPPORT=y
New value: # CONFIG_MEDIA_TEST_SUPPORT is not set

Value of CONFIG_VIDEOBUF2_DMA_SG is redefined by fragment ./arch/arm/configs/rk3506-display.config:
Previous value: CONFIG_VIDEOBUF2_DMA_SG=y
New value: # CONFIG_VIDEOBUF2_DMA_SG is not set

#
# merged configuration written to .config (needs make)
#
.config:5804:warning: override: reassigning to symbol MEDIA_SUPPORT_FILTER
#
# configuration written to .config
#
Using .config as base
Merging ./arch/arm/configs/rk3506-usb-otg.config
#
# merged configuration written to .config (needs make)
#
#
# configuration written to .config
#
make: Leaving directory '/mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/kernel-6.1'
+ sudo -u #1000 make -C /mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/kernel/ -j21 CROSS_COMPILE=/mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/prebuilts/gcc/linux-x86/arm/gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf- ARCH=arm modules
make: Entering directory '/mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/kernel-6.1'
  SYNC    include/config/auto.conf.cmd
  CALL    scripts/checksyscalls.sh
make[6]: warning: -j20 forced in makefile: resetting jobserver mode.
make[7]: warning: -j20 forced in makefile: resetting jobserver mode.
make: Leaving directory '/mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/kernel-6.1'
+ sudo -u #1000 make -C /mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/kernel/ -j21 CROSS_COMPILE=/mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/prebuilts/gcc/linux-x86/arm/gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf- ARCH=arm modules_install INSTALL_MOD_PATH=/mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/ubuntu22.04/binary/
make: Entering directory '/mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/kernel-6.1'
  INSTALL /mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/ubuntu22.04/binary//lib/modules/6.1.118/kernel/crypto/drbg.ko
  INSTALL /mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/ubuntu22.04/binary//lib/modules/6.1.118/kernel/crypto/ecc.ko
  INSTALL /mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/ubuntu22.04/binary//lib/modules/6.1.118/kernel/crypto/ecdh_generic.ko
  INSTALL /mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/ubuntu22.04/binary//lib/modules/6.1.118/kernel/crypto/hmac.ko
  INSTALL /mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/ubuntu22.04/binary//lib/modules/6.1.118/kernel/crypto/jitterentropy_rng.ko
  INSTALL /mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/ubuntu22.04/binary//lib/modules/6.1.118/kernel/crypto/sha512_generic.ko
  INSTALL /mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/ubuntu22.04/binary//lib/modules/6.1.118/kernel/drivers/bluetooth/btintel.ko
  INSTALL /mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/ubuntu22.04/binary//lib/modules/6.1.118/kernel/drivers/bluetooth/btrtl.ko
  INSTALL 

ubuntu 编译完成

bash 复制代码
Running 99-owner.sh for /mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/ubuntu22.04/binary (ubuntu init=systemd)...
Fixing up owner for /mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/output...
Fixing up owner for /mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/ubuntu22.04/binary...
Fixing up uid=huiwei(1000) to 0(root)...
Running build.sh - post-rootfs succeeded.
Executing add-build-info.sh...
Adding build-info to /etc/os-release...
mke2fs 1.47.0 (5-Feb-2023)
Creating regular file ubuntu-rk3506-lite-rootfs.img_new
Creating filesystem with 284928 4k blocks and 71280 inodes
Filesystem UUID: cc45092b-aaa1-4430-a9a4-1425c82e95d7
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376

Allocating group tables: done
Writing inode tables: done
Creating journal (8192 blocks): done
Copying files into the device: done
Writing superblocks and filesystem accounting information: done

Rootfs Image: ubuntu-rk3506-lite-rootfs.img
Running mk-rootfs.sh - build_ubuntu /mnt/Code/rk3506/rk3506_linux6.1_sdk_v1.2.0/output/ubuntu/images succeeded.
Running mk-rootfs.sh - build_rootfs succeeded.

然后 就是 编译 recovery 后 自动打包的过程。。。。。

启动后 显示系统信息

相关推荐
IT邦德10 小时前
Dify1.6基于ubuntu系统的部署实战
linux·运维·ubuntu
皮皮蟹虾饺14 小时前
NCCL 源码解析:通信器从出生到消亡的完整一生
linux·人工智能·ubuntu·语言模型·kubernetes
刘梦薇17 小时前
SSH连接失败connection reset解决办法
linux·运维·ubuntu·ssh·腾讯云
winfreedoms2 天前
VMware 桥接模式无法联网:从 DHCPDISCOVER 到静态 IP 的完整排障实战
网络协议·tcp/ip·ubuntu·桥接模式·vmware·嵌入式学习
静止了 所有的花开3 天前
Ubuntu 26.04 静态 IP 配置不生效解决方法
linux·ubuntu·静态ip
桑榆4163 天前
双系统(Windows + Ubuntu)安装流程
linux·windows·ubuntu
sunly_3 天前
TypeScript:3、类型声明与类型推断
javascript·ubuntu·typescript
wengqidaifeng3 天前
1.从“会敲命令”到理解 Linux:15 个基础指令、文件树与命令执行的本质
linux·运维·服务器·ubuntu
问天_观心4 天前
虚拟环境WSL之Ubuntu的安装
人工智能·ubuntu
lyx49494 天前
# Ubuntu/Linux 安装 Claude Code 并接入火山方舟 Coding Plan 完整教程(避坑版)
linux·运维·ubuntu