Skip to content

Commit 001b345

Browse files
committed
NXP Debian Linux SDK 25.06 Release for i.MX and Layerscape MPU platforms
- Upgrade Debian to 12.9 Bookworm (Base, Server and Desktop) custom RootFS for NXP MPU platforms - Upgrade GPU/NPU/VPU/ISP driver based on Debian runtime dependencies for imx8/imx9 SoC - Upgrade NXP-specific components based on lf-6.6.52-2.2.0 for BSP, kernel - Add support of eIQ AI/ML and GoPoint demos on imx platforms - Add Weston desktop support for imx91/imx93. For imx8, weston is alternative desktop - Add support of imx91evk and imx8mpfrdm boards Signed-off-by: Andy Tang <[email protected]>
1 parent 6264b13 commit 001b345

File tree

425 files changed

+71082
-1661
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

425 files changed

+71082
-1661
lines changed

README.md

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ device (SD/eMMC card or USB/SATA disk) on target board or on host machine.
1919
- Native-build on ARM board running Debian for arm64 target
2020

2121
## Host system requirement
22-
- Docker hosted on Ubuntu LTS host (e.g. 22.04, 20.04) or other any distro
22+
- Docker hosted on Ubuntu LTS host (e.g. 22.04, 24.04) or other any distro
2323
Refer to [docker-setup](docs/FAQ-docker-setup.md)
2424
User can run 'bld docker' to create a Debian docker and build it in docker.
2525
- Debian 12 host
@@ -29,19 +29,15 @@ device (SD/eMMC card or USB/SATA disk) on target board or on host machine.
2929
## Supported distro for target arm64
3030
------------------------------------------
3131
- Debian-based userland (base, desktop, server)
32-
- Yocto-based userland (tiny, devel)
33-
- Buildroot-based userland (tiny, devel)
3432

3533

3634
## Supported platforms
3735
----------------------
3836
- __iMX platform__:
39-
imx6qpsabresd, imx6qsabresd, imx6sllevk, imx7ulpevk, imx8mmevk, imx8mnevk, imx8mpevk,
40-
imx8mqevk, imx8qmmek, imx8qxpmek, imx8ulpevk, imx93evk, imx91frdm, imx93frdm, etc
37+
imx8mmevk, imx8mpevk, imx8mpfrdm, imx8mqevk, imx8ulpevk, imx93evk, imx93frdm, imx91evk, imx91frdm
4138

4239
- __Layerscape platform__:
43-
ls1012ardb, ls1012afrwy, ls1028ardb, ls1043ardb, ls1046ardb, ls1046afrwy,
44-
ls1088ardb, ls2088ardb, ls2160ardb, lx2162aqds, etc
40+
ls1028ardb, ls1043ardb, ls1046ardb, ls2160ardb
4541

4642

4743
## Flexbuild Usage
@@ -72,19 +68,14 @@ Most used example with separate command:
7268
bld rfs [ -r debian:desktop ] # generate Debian-based Desktop rootfs (with more graphics/multimedia packages for Desktop)
7369
bld rfs -r debian:server # generate Debian-based Server rootfs (with more server related packages, no GUI Desktop)
7470
bld rfs -r debian:base # generate Debian-based base rootfs (small footprint with base packages)
75-
bld rfs -r poky:tiny # generate poky-based arm64 tiny rootfs
76-
bld rfs -r buildroot:tiny # generate Buildroot-based arm64 tiny rootfs
77-
bld itb -r poky:tiny # generate poky_tiny_IMX_arm64.itb including kernel, dtb and rootfs_poky_tiny_arm64.cpio.gz
7871
bld linux [ -p IMX|LS] # compile linux kernel for all arm64 IMX or LS machines
7972
bld atf -m lx2160rdb -b sd # compile atf image for SD boot on lx2160ardb
8073
bld boot [ -p IMX|LS ] # generate boot partition tarball (including kernel,dtb,modules,distro bootscript) for iMX/LS machines
8174
bld apps # compile NXP-specific components against the runtime dependencies of Debian Desktop rootfs for i.MX machines
8275
bld apps -r debian:server -p LS # compile NXP-specific components against the runtime dependencies of Debian Server rootfs for LS machines
83-
bld ml [ -r <type> ] # compile NXP-specific eIQ AI/ML components against the library dependencies of Debian rootfs
8476
bld merge-apps [ -r <type> ] # merge NXP-specific components into target Debian rootfs (Desktop by default,add '-r debian:server' for Server)
8577
bld packrfs [ -r <type> ] # pack and compress target rootfs as rootfs_xx.tar.zst (or add '-r debian:server' for Server)
8678
bld packapps [ -r <type> ] # pack and compress target app components as apps_xx.tar.zst (add '-p LS' for Layerscape platforms)
87-
bld repo-fetch [ <component> ] # fetch git repository of all or specified component from remote repos if not exist locally
8879
bld docker # create or attach docker container to build in docker
8980
bld clean # clean all obsolete firmware/linux/apps binary images except distro rootfs
9081
bld clean-apps [ -r <type> ] # clean the obsolete NXP-specific apps components binary images
@@ -97,8 +88,7 @@ Most used example with separate command:
9788

9889
## More info
9990
------------
100-
Please refer to https://nxp.com/nxpdebian for more information about NXP Debian Linux SDK Distribution for i.MX and Layerscape.
101-
[i.MX Debian Linux SDK User's Guide](https://nxp.com/docs/en/user-guide/UG10155.pdf).
102-
[Layerscape Debian Linux SDK User's Guide](https://nxp.com/docs/en/user-guide/UG10143.pdf).
91+
Please refer to https://nxp.com/nxpdebian for more information about NXP Debian Linux SDK Distribution.
92+
[Debian Linux SDK User's Guide]((https://docs.nxp.com/bundle/UG10155).
10393

10494
[flexbuild_usage](docs/flexbuild_usage.md), [build_and_deploy_distro](docs/build_and_deploy_distro.md), [nxp_linux_sdk](docs/nxp_linux_sdk.md) for detailed information.

SCR.txt

Lines changed: 150 additions & 44 deletions
Large diffs are not rendered by default.

configs/board/imx8mpfrdm.conf

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# [general]
2+
3+
machine=imx8mpfrdm
4+
5+
UBOOT_CONFIG="imx8mp_frdm_defconfig"
6+
7+
# BOARD_VARIANTS="lpddr4 ddr4"
8+
9+
COMPOSITE_IMG1_FILE_sd="bsp/imx-mkimage/imx8mpfrdm/flash.bin"
10+
11+
# distro boot script
12+
distro_bootscript="bsp/u-boot/imx8mpfrdm/imx8mpfrdm_boot.scr"
13+
14+
# imx8mp-ddr4-evk.dtb for ddr4 rev-a3 board
15+
# imx8mp-evk.dtb for lpddr4 rev-b2 board with sound-wm8960 codec
16+
# imx8mp-evk-revb4.dtb for lpddr4 rev-b4 board with new sound-wm8962 codec
17+
# setenv fdtfile imx8mp-evk-os08a20.dtb for camera os08a20
18+
19+
# set distro boot to generate boot.scr which is searched by u-boot automatically
20+
distroboot=\
21+
'env exists fdtfile || setenv fdtfile imx8mp-frdm.dtb;'\
22+
'env exists image || setenv image Image;'\
23+
'env exists devpart_boot || setenv devpart_boot 1;'\
24+
'env exists devpart_root || setenv devpart_root 3;'\
25+
'part uuid $devtype $devnum:$devpart_root partuuidr;'\
26+
'setenv bootargs console=ttymxc1,115200 root=PARTUUID=$partuuidr rw rootwait $othbootargs;'\
27+
'ext4load mmc $mmcdev:$devpart_boot $fdt_addr $fdtfile;'\
28+
'ext4load mmc $mmcdev:$devpart_boot $loadaddr $image;'\
29+
'booti $loadaddr - $fdt_addr'

configs/board/imx91frdmstorm.conf

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# [general]
2+
3+
machine=imx91frdmstorm
4+
5+
UBOOT_CONFIG="imx91_11x11_frdm_storm_defconfig"
6+
7+
COMPOSITE_IMG1_FILE_sd="bsp/imx-mkimage/imx91frdmstorm/flash.bin"
8+
9+
10+
# distro boot script
11+
distro_bootscript="bsp/u-boot/imx91frdmstorm/imx91frdmstorm_boot.scr"
12+
13+
# set distro boot to generate boot.scr which is searched by u-boot
14+
distroboot=\
15+
'env exists fdtfile || setenv fdtfile imx91-11x11-frdm-storm.dtb;'\
16+
'env exists image || setenv image Image;'\
17+
'env exists devpart_boot || setenv devpart_boot 1;'\
18+
'env exists devpart_root || setenv devpart_root 3;'\
19+
'part uuid $devtype $devnum:$devpart_root partuuidr;'\
20+
'setenv bootargs console=ttyLP0,115200 earlycon root=PARTUUID=$partuuidr rw rootwait $othbootargs;'\
21+
'ext4load mmc $mmcdev:$mmcpart $fdt_addr $fdtfile;'\
22+
'ext4load mmc $mmcdev:$mmcpart $loadaddr $image;'\
23+
'booti $loadaddr - $fdt_addr'

configs/board/ls1028ardb.conf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ distroboot=\
5353
'env exists devpart_boot || setenv devpart_boot 1;'\
5454
'env exists devpart_root || setenv devpart_root 3;'\
5555
'part uuid $devtype $devnum:$devpart_root partuuidr;'\
56-
'setenv bootargs console=ttyS0,115200 earlycon=uart8250,mmio,0x21c0500 root=PARTUUID=$partuuidr rw rootwait video=1920x1080-32@60 cma=640M iommu.passthrough=1 arm-smmu.disable_bypass=0 $othbootargs;'\
56+
'setenv bootargs console=ttyS0,115200 earlycon=uart8250,mmio,0x21c0500 root=PARTUUID=$partuuidr rw rootwait iommu.passthrough=1 arm-smmu.disable_bypass=0 $othbootargs;'\
5757
'load $devtype $devnum:$devpart_boot $kernel_addr_r $kernel_image;'\
5858
'load $devtype $devnum:$devpart_boot $fdt_addr_r $dtb;'\
5959
'env exists secureboot && echo validating secureboot && run secureboot_validate;'\
@@ -72,7 +72,7 @@ distroboot_ima=\
7272
'setenv initramfs_addr_r 0xb0000000; setenv initramfsheader_addr_r 0x80300000;'\
7373
'load $devtype $devnum:$devpart_boot $initramfs_addr_r initramfs.img;'\
7474
'env exists secureboot && echo validating secureboot && run secureboot_validate;'\
75-
'setenv bootargs console=ttyS0,115200 earlycon=uart8250,mmio,0x21c0500 root=PARTUUID=$partuuidr rw rootwait video=1920x1080-32@60 cma=256M iommu.passthrough=1 arm-smmu.disable_bypass=0 $othbootargs;'\
75+
'setenv bootargs console=ttyS0,115200 earlycon=uart8250,mmio,0x21c0500 root=PARTUUID=$partuuidr rw rootwait iommu.passthrough=1 arm-smmu.disable_bypass=0 $othbootargs;'\
7676
'booti $kernel_addr_r $initramfs_addr_r $fdt_addr_r'
7777

7878

configs/debian/debian_base_arm64.yaml

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ mmdebstrap:
5252
- util-linux
5353
- lshw
5454
- keyutils
55+
- locales
5556
- wpasupplicant
5657
setup-hooks:
5758
# Setup NXP board-specific configurations for various platforms
@@ -64,7 +65,7 @@ mmdebstrap:
6465
customize-hooks:
6566
- 'chroot "$1" useradd -m -d /home/debian -s /bin/bash debian'
6667
- 'chroot "$1" gpasswd -a debian sudo'
67-
- 'chroot "$1" usermod -aG sudo debian'
68+
- 'chroot "$1" usermod -aG sudo,input,video debian'
6869
- 'chroot "$1" passwd --delete root'
6970
- 'chroot "$1" passwd --delete debian'
7071
- 'chroot "$1" apt-get update'
@@ -81,7 +82,6 @@ mmdebstrap:
8182
- 'cp src/system/platcfg.service $1/lib/systemd/system/'
8283
- 'cp src/system/blacklist.conf $1/etc/modprobe.d/'
8384
- 'cp src/system/ts.conf $1/etc/'
84-
- 'chroot "$1" ln -s /lib/systemd/system/platcfg.service /etc/systemd/system/multi-user.target.wants/platcfg.service'
8585
- 'chroot "$1" ln -s /lib/systemd/system/boot.mount /etc/systemd/system/local-fs.target.wants/boot.mount'
8686
- 'chroot "$1" ln -s /boot/tools/perf /usr/local/bin/perf'
8787
- 'chroot "$1" ln -s /sbin/init /init'
@@ -90,11 +90,17 @@ mmdebstrap:
9090
- 'chroot "$1" ln -s /boot/firmware /lib/firmware'
9191
- 'cp src/system/gpuconfig $1/etc/'
9292
- 'cp src/system/gpuconfig.service $1/lib/systemd/system/'
93+
- 'cp src/system/board_id.sh $1/usr/bin/'
9394
- 'chroot "$1" ln -s /lib/systemd/system/gpuconfig.service /etc/systemd/system/graphical.target.wants/gpuconfig.service'
9495
- 'chroot "$1" ln -s /usr/lib/systemd/system/graphical.target /etc/systemd/system/default.target'
95-
- 'printf "COGL_DRIVER=gles2\nCLUTTER_DRIVER=gles2\nQT_QPA_PLATFORM=wayland\nGDK_GL=gles" >> $1/etc/environment'
96+
- 'chroot "$1" sed -i -e "s/.*zh_CN.UTF-8.*/zh_CN.UTF-8 UTF-8/" -e "s/.*en_US.UTF-8.*/en_US.UTF-8 UTF-8/" /etc/locale.gen'
97+
- 'chroot "$1" /usr/sbin/locale-gen'
98+
- 'chroot "$1" /usr/sbin/update-locale LANG=en_US.UTF-8'
99+
- 'printf "COGL_DRIVER=gles2\nCLUTTER_DRIVER=gles2\nQT_QPA_PLATFORM=wayland\nGDK_GL=gles\n" >> $1/etc/environment'
100+
- 'printf "QT_QUICK_BACKEND=software\n" >> $1/etc/environment'
101+
- 'printf "\nexport DISPLAY=:0\nexport WAYLAND_DISPLAY=wayland-1" >> $1/root/.bashrc'
96102
- 'printf "/usr/lib\n" >> $1/etc/ld.so.conf.d/01-sdk.conf'
97103
- 'printf " * Support: https://www.nxp.com/support\n" >> $1/etc/update-motd.d/20-help-text'
98104
- 'printf " * Licensing: https://lsdk.github.io/eula\n" >> $1/etc/update-motd.d/20-help-text'
99-
- 'printf "NXP Linux SDK 2412 Debian base\n" >> $1/etc/issue'
105+
- 'printf "NXP Linux SDK 2506 Debian base\n" >> $1/etc/issue'
100106
- 'printf "Build: `date --rfc-3339 seconds`\n" >> $1/etc/buildinfo'

configs/debian/debian_desktop_arm64.yaml

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ mmdebstrap:
111111
- v4l-utils
112112
- mesa-utils
113113
- alsa-utils
114+
- locales
114115
- dmz-cursor-theme
115116
setup-hooks:
116117
# Setup NXP board-specific configurations for various platforms
@@ -123,8 +124,8 @@ mmdebstrap:
123124
customize-hooks:
124125
- 'chroot "$1" apt purge -y xserver-xorg xserver-xorg-core xserver-xorg-legacy gnome-games gnome-chess apache2-bin'
125126
- 'chroot "$1" useradd -m -d /home/debian -s /bin/bash debian'
126-
- 'chroot "$1" gpasswd -a debian sudo'
127-
- 'chroot "$1" usermod -aG sudo debian'
127+
- 'chroot "$1" groupadd wayland'
128+
- 'chroot "$1" usermod -aG sudo,input,video,wayland,render debian'
128129
- 'chroot "$1" passwd --delete root'
129130
- 'chroot "$1" passwd --delete debian'
130131
- 'chroot "$1" apt-get update'
@@ -148,11 +149,17 @@ mmdebstrap:
148149
- 'chroot "$1" ln -s /boot/firmware /lib/firmware'
149150
- 'cp src/system/gpuconfig $1/etc/'
150151
- 'cp src/system/gpuconfig.service $1/lib/systemd/system/'
152+
- 'cp src/system/board_id.sh $1/usr/bin/'
151153
- 'chroot "$1" ln -s /lib/systemd/system/gpuconfig.service /etc/systemd/system/graphical.target.wants/gpuconfig.service'
152154
- 'chroot "$1" ln -s /usr/lib/systemd/system/graphical.target /etc/systemd/system/default.target'
153-
- 'printf "COGL_DRIVER=gles2\nCLUTTER_DRIVER=gles2\nQT_QPA_PLATFORM=wayland\nGDK_GL=gles" >> $1/etc/environment'
155+
- 'chroot "$1" sed -i -e "s/.*zh_CN.UTF-8.*/zh_CN.UTF-8 UTF-8/" -e "s/.*en_US.UTF-8.*/en_US.UTF-8 UTF-8/" /etc/locale.gen'
156+
- 'chroot "$1" /usr/sbin/locale-gen'
157+
- 'chroot "$1" /usr/sbin/update-locale LANG=en_US.UTF-8'
158+
- 'printf "COGL_DRIVER=gles2\nCLUTTER_DRIVER=gles2\nQT_QPA_PLATFORM=wayland\nGDK_GL=gles\n" >> $1/etc/environment'
159+
- 'printf "QT_QUICK_BACKEND=software\n" >> $1/etc/environment'
160+
- 'printf "\nexport DISPLAY=:0\nexport WAYLAND_DISPLAY=wayland-1" >> $1/root/.bashrc'
154161
- 'printf "/usr/lib\n" >> $1/etc/ld.so.conf.d/01-sdk.conf'
155162
- 'printf " * Support: https://www.nxp.com/support\n" >> $1/etc/update-motd.d/20-help-text'
156163
- 'printf " * Licensing: https://lsdk.github.io/eula\n" >> $1/etc/update-motd.d/20-help-text'
157-
- 'printf "NXP Linux SDK 2412 Debian Desktop (optimized with NXP-specific hardware acceleration)\n" >> $1/etc/issue'
164+
- 'printf "NXP Linux SDK 2506 Debian Desktop (optimized with NXP-specific hardware acceleration)\n" >> $1/etc/issue'
158165
- 'printf "Build: `date --rfc-3339 seconds`\n" >> $1/etc/buildinfo'

configs/debian/debian_server_arm64.yaml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ mmdebstrap:
8989
- pipewire-audio
9090
- pipewire-pulse
9191
- wireplumber
92+
- locales
9293
- libspa-0.2-bluetooth
9394
setup-hooks:
9495
# Setup NXP board-specific configurations for various platforms
@@ -100,7 +101,7 @@ mmdebstrap:
100101
customize-hooks:
101102
- 'chroot "$1" useradd -m -d /home/debian -s /bin/bash debian'
102103
- 'chroot "$1" gpasswd -a debian sudo'
103-
- 'chroot "$1" usermod -aG sudo debian'
104+
- 'chroot "$1" usermod -aG sudo,input,video debian'
104105
- 'chroot "$1" passwd --delete root'
105106
- 'chroot "$1" passwd --delete debian'
106107
- 'chroot "$1" apt-get update'
@@ -115,15 +116,19 @@ mmdebstrap:
115116
- 'cp src/system/platcfg.service $1/lib/systemd/system/'
116117
- 'cp src/system/blacklist.conf $1/etc/modprobe.d/'
117118
- 'cp src/system/ts.conf $1/etc/'
119+
- 'cp src/system/board_id.sh $1/usr/bin/'
118120
- 'chroot "$1" ln -s /lib/systemd/system/platcfg.service /etc/systemd/system/multi-user.target.wants/platcfg.service'
119121
- 'chroot "$1" ln -s /lib/systemd/system/boot.mount /etc/systemd/system/local-fs.target.wants/boot.mount'
120122
- 'chroot "$1" ln -s /boot/tools/perf /usr/local/bin/perf'
121123
- 'chroot "$1" ln -s /sbin/init /init'
122124
- 'chroot "$1" ln -s /boot/modules /lib/modules'
123125
- 'chroot "$1" rm -rf /lib/firmware'
124126
- 'chroot "$1" ln -s /boot/firmware /lib/firmware'
127+
- 'chroot "$1" sed -i -e "s/.*zh_CN.UTF-8.*/zh_CN.UTF-8 UTF-8/" -e "s/.*en_US.UTF-8.*/en_US.UTF-8 UTF-8/" /etc/locale.gen'
128+
- 'chroot "$1" /usr/sbin/locale-gen'
129+
- 'chroot "$1" /usr/sbin/update-locale LANG=en_US.UTF-8'
125130
- 'printf "/usr/lib\n" >> $1/etc/ld.so.conf.d/01-sdk.conf'
126131
- 'printf " * Support: https://www.nxp.com/support\n" >> $1/etc/update-motd.d/20-help-text'
127132
- 'printf " * Licensing: https://lsdk.github.io/eula\n" >> $1/etc/update-motd.d/20-help-text'
128-
- 'printf "NXP Linux SDK 2412 Debian Server (optimized with NXP-specific hardware acceleration)\n" >> $1/etc/issue'
133+
- 'printf "NXP Linux SDK 2506 Debian Server (optimized with NXP-specific hardware acceleration)\n" >> $1/etc/issue'
129134
- 'printf "Build: `date --rfc-3339 seconds`\n" >> $1/etc/buildinfo'

0 commit comments

Comments
 (0)