SDK build fails on docker container

  • 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
  • No, it has intel CPU, not M series.
  • 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>
  • 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   
  • 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.
  • 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.