Page 1 of 1

SDK build fails on docker container

Posted: 2025-02-27 20:11
by steko
Hi,

SDK Build failed with the following error. Any help would be greatly appreciated.

Code: Select all

[build.sh:info] Running build_uboot succeeded.
============Start building kernel============
TARGET_ARCH          =arm
TARGET_KERNEL_CONFIG =luckfox_rv1106_linux_defconfig
TARGET_KERNEL_DTS    =rv1106g-luckfox-pico-ultra-w.dts
TARGET_KERNEL_CONFIG_FRAGMENT =rv1106-bt.config
==========================================
make: Entering directory '/home/sysdrv'
 ==sysdrv== build kernel  
make -C /home/sysdrv/source/kernel ARCH=arm mrproper
make[1]: Entering directory '/home/sysdrv/source/kernel'
make[2]: *** Documentation/Kbuild: Is a directory.  Stop.
make[1]: *** [Makefile:1942: _clean_Documentation] Error 2
make[1]: Leaving directory '/home/sysdrv/source/kernel'
make: *** [Makefile:485: kernel] Error 2
make: Leaving directory '/home/sysdrv'
[build.sh:error] Running build_kernel failed!
[build.sh:error] exit code 2 from line 876:
[build.sh:info]     make kernel -C ${SDK_SYSDRV_DIR} $kernel_build_options KERNEL_DTS=${RK_KERNEL_DTS} KERNEL_CFG=${RK_KERNEL_DEFCONFIG} KERNEL_CFG_FRAGMENT=${RK_KERNEL_DEFCONFIG_FRAGMENT}
root@83880300c830:/home# 
I am running docker desktop 4.38.0 on MacOS. I recently cloned SDK repo and create docker container.

Code: Select all

git clone https://github.com/LuckfoxTECH/luckfox-pico.git
sudo docker run -it --name luckfox --privileged -v /Users/username/luckfox-pico:/home luckfoxtech/luckfox_pico:1.0 /bin/bash
root@83880300c830:/# cd home
root@83880300c830:/home# ./build.sh lunch
ls: cannot access 'BoardConfig*.mk': No such file or directory
You're building on Linux
  Lunch menu...pick the Luckfox Pico hardware version:
  选择 Luckfox Pico 硬件版本:
                [0] RV1103_Luckfox_Pico
                [1] RV1103_Luckfox_Pico_Mini_A
                [2] RV1103_Luckfox_Pico_Mini_B
                [3] RV1103_Luckfox_Pico_Plus
                [4] RV1103_Luckfox_Pico_WebBee
                [5] RV1106_Luckfox_Pico_Pro
                [6] RV1106_Luckfox_Pico_Max
                [7] RV1106_Luckfox_Pico_Ultra
                [8] RV1106_Luckfox_Pico_Ultra_W
                [9] custom
Which would you like? [0~9][default:0]: 8
  Lunch menu...pick the boot medium:
  选择启动媒介:
                [0] EMMC
Which would you like? [0][default:0]: 
  Lunch menu...pick the system version:
  选择系统版本:
                [0] Buildroot(Support Rockchip official features) 
                [1] Ubuntu(Support for the apt package management tool)
Which would you like? [0~1][default:0]: 
[build.sh:info] Lunching for Default BoardConfig_IPC/BoardConfig-EMMC-Buildroot-RV1106_Luckfox_Pico_Ultra_W-IPC.mk boards...
[build.sh:info] switching to board: /home/project/cfg/BoardConfig_IPC/BoardConfig-EMMC-Buildroot-RV1106_Luckfox_Pico_Ultra_W-IPC.mk
[build.sh:info] Running build_select_board succeeded.
root@83880300c830:/home# ./build.sh

Re: SDK build fails on docker container

Posted: 2025-02-28 1:40
by Crocodile
Hello, if your MAC is M series, the SDK is not supported, the M series MAC is ARM architecture, and the compilation chain used by the SDK is based on X86_64

Re: SDK build fails on docker container

Posted: 2025-02-28 1:54
by steko
No, it has intel CPU, not M series.

Re: SDK build fails on docker container

Posted: 2025-02-28 2:03
by Crocodile
I noticed that the whole SDK is placed in the /home directory, to avoid abuse of permissions, don't use root privileges to switch ordinary users, and try build the SDK environment under /home/<User name>

Re: SDK build fails on docker container

Posted: 2025-02-28 5:20
by steko
Unfortunately, build script yields in same error @ building the kernel :

Code: Select all

[build.sh:info] Running build_uboot succeeded.
============Start building kernel============
TARGET_ARCH          =arm
TARGET_KERNEL_CONFIG =luckfox_rv1106_linux_defconfig
TARGET_KERNEL_DTS    =rv1106g-luckfox-pico-ultra-w.dts
TARGET_KERNEL_CONFIG_FRAGMENT =rv1106-bt.config
==========================================
make: Entering directory '/home/pico/sysdrv'
 ==sysdrv== build kernel  
make -C /home/pico/sysdrv/source/kernel ARCH=arm mrproper
make[1]: Entering directory '/home/pico/sysdrv/source/kernel'
make[2]: *** Documentation/Kbuild: Is a directory.  Stop.
make[1]: *** [Makefile:1942: _clean_Documentation] Error 2
make[1]: Leaving directory '/home/pico/sysdrv/source/kernel'
make: *** [Makefile:485: kernel] Error 2
make: Leaving directory '/home/pico/sysdrv'
[build.sh:error] Running build_kernel failed!
[build.sh:error] exit code 2 from line 876:
[build.sh:info]     make kernel -C ${SDK_SYSDRV_DIR} $kernel_build_options KERNEL_DTS=${RK_KERNEL_DTS} KERNEL_CFG=${RK_KERNEL_DEFCONFIG} KERNEL_CFG_FRAGMENT=${RK_KERNEL_DEFCONFIG_FRAGMENT}
I have deleted previously created docker container and recreate as follows. I also add user:

Code: Select all

docker run -it --name luckfox --privileged -v /Users/username/luckfox-pico:/home/pico luckfoxtech/luckfox_pico:1.0 /bin/bash
root@1e6cac5ab8f8:~# adduser
root@1e6cac5ab8f8:~# cd /home/pico
root@1e6cac5ab8f8:/home/pico# su pico
pico@1e6cac5ab8f8:~$ pwd
/home/pico
pico@1e6cac5ab8f8:~$ ./build.sh lunch
ls: cannot access 'BoardConfig*.mk': No such file or directory
You're building on Linux
  Lunch menu...pick the Luckfox Pico hardware version:
  选择 Luckfox Pico 硬件版本:
                [0] RV1103_Luckfox_Pico
                [1] RV1103_Luckfox_Pico_Mini_A
                [2] RV1103_Luckfox_Pico_Mini_B
                [3] RV1103_Luckfox_Pico_Plus
                [4] RV1103_Luckfox_Pico_WebBee
                [5] RV1106_Luckfox_Pico_Pro
                [6] RV1106_Luckfox_Pico_Max
                [7] RV1106_Luckfox_Pico_Ultra
                [8] RV1106_Luckfox_Pico_Ultra_W
                [9] custom
Which would you like? [0~9][default:0]: 8
  Lunch menu...pick the boot medium:
  选择启动媒介:
                [0] EMMC
Which would you like? [0][default:0]: 
  Lunch menu...pick the system version:
  选择系统版本:
                [0] Buildroot(Support Rockchip official features) 
                [1] Ubuntu(Support for the apt package management tool)
Which would you like? [0~1][default:0]: 
[build.sh:info] Lunching for Default BoardConfig_IPC/BoardConfig-EMMC-Buildroot-RV1106_Luckfox_Pico_Ultra_W-IPC.mk boards...
[build.sh:info] switching to board: /home/pico/project/cfg/BoardConfig_IPC/BoardConfig-EMMC-Buildroot-RV1106_Luckfox_Pico_Ultra_W-IPC.mk
[build.sh:info] Running build_select_board succeeded.
pico@1e6cac5ab8f8:~$ ./build.sh   

Re: SDK build fails on docker container

Posted: 2025-03-01 17:47
by zhu30844
Hi Steko. I found this https://stackoverflow.com/questions/760 ... umentation which sounds very similar to your problem.
In short, you have to download SDK into a case sensitive file system. So you will: clone the SDK into your docker image, or format one of your hard drive partition to a case sensitive file system, or create a virtual disk.
I don't own a Mac, but I still hope this message could help you.

Re: SDK build fails on docker container

Posted: 2025-03-03 14:10
by steko
Thank you zhu30844. That very well explains the errors I have been receiving.

I believe having an ubuntu VM and passing thru the usb device for flashing the board is way simpler than reconfiguring the MacOS host. So far so good with this option.