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

启动后 显示系统信息

相关推荐
padane222 小时前
gmssl编译wasm
ubuntu·html·密码学·wasm·js
reikocao5 小时前
ubuntu系统源
linux·运维·ubuntu
Sisphusssss5 小时前
DiskGenius 备份 Ubuntu 系统
linux·ubuntu·diskgenius
城南观北6 小时前
Ubuntu 解决 apt 锁占用 + 安装 net-tools + 搭建 SSH 远程连接(保姆级实操)
linux·ubuntu·ssh
Rain5097 小时前
05. mini-cc 工具系统:让 AI 拥有动手能力
linux·前端·人工智能·ubuntu·typescript·ai编程
Arik~朽木8 小时前
Ubuntu 安装指南
linux·运维·ubuntu
派勤电子8 小时前
IP65 vs IP30 防护机器人工控机对比 防护等级怎么选
机器人·工控机·机器人工控机·ip65工控机·ip30工控机·工控机防护·防护机器人工控机
TheRouter9 小时前
LLM 异步任务队列工程实战:从同步等5 分钟到Webhook 回调的完整设计
ubuntu
三无推导10 小时前
Prompt Optimizer 安装部署教程:用 Docker 快速搭建本地提示词优化工具
人工智能·ubuntu·docker·容器·性能优化·prompt·持续部署