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 后 自动打包的过程。。。。。

启动后 显示系统信息

相关推荐
zhangrelay5 天前
《机器人控制器设计与编程》课程习题资料-2026
linux·笔记·学习·ubuntu
CODER03045 天前
ubuntu22.04部署完整deepseek局域网web服务全过程(RTX5090安装黑屏+web端多人并发)
pytorch·webui·ubuntu22.04·ollama·deepseek·rtx5090·自然语言模型
Linux-lucky5 天前
39-41-Linux学习之旅之redis缓存基础与NFS基础
linux·运维·mysql·ubuntu
QQ14220784495 天前
2012 年的老 ThinkPad E430 改装 Ubuntu 24.04全程翻车排查实录
ubuntu·项目复盘
阿钱真强道5 天前
06 嵌入式操作系统 | vim 与软件管理:apt / 源码编译
ubuntu·vim·嵌入式·apt·源码编译
牢姐与蒯5 天前
Linux进程间通信(三).基于匿名管道的进程池的实现
linux·运维·服务器·ubuntu
Linux-lucky6 天前
32-38-Linux学习之旅之MySQL综合
linux·运维·学习·mysql·ubuntu
星野云联AIoT技术洞察6 天前
核心板、底板、开发板有什么区别:Rockchip 项目如何选择采购方式
开发板·嵌入式开发·rockchip·核心板·芯片选型·底板
士訫6 天前
【Linux 踩坑】HP Victus RTX4050 Ubuntu 系统双屏无法同时点亮解决方案(完美适配 Advanced Optimus 机型)
ubuntu
指尖的爷6 天前
ARM 架构 Ubuntu(RK3588/aarch64)go开发环境安装手册
ubuntu·架构·golang