We purchased an LS1043ARGW (Residential Gateway) as the LS1043ARDB development board was out of stock.
I am trying to use Flexbuild to generate a hybrid Ubuntu image that will run on the LS1043ARGW. Is that possible?
I used the following steps (based on the LS1043ARDB flexbuild readme) to generate the image (on a separate 16.04 Linux host):
$ cd flexbuild
$ source setup.env
$ wget http://www.nxp.com/lgfiles/sdk/lsdk1712/bootpartition_arm64_lts_4.9.tgz
$ wget http://www.nxp.com/lgfiles/sdk/lsdk1712/components_arm64.tgz
$ wget http://www.nxp.com/lgfiles/sdk/lsdk1712/arm64-modules-4.9.62.tgz
$ wget http://www.nxp.com/lgfiles/sdk/lsdk1712/linux-lib-firmware.tgz
$ flex-builder -i mkrfs -a arm64
$ sudo tar xvzf components_arm64.tgz -C build/images
$ sudo tar xvzf arm64-modules-4.9.62.tgz -C build/images/ubuntu_xenial_arm64_rootfs.d/lib/modules
$ sudo tar xvzf linux-lib-firmware.tgz -C build/images/ubuntu_xenial_arm64_rootfs.d/lib
$ flex-builder -i merge-component -a arm64
$ flex-installer -b bootpartition_arm64_lts_4.9.tgz -r build/images/ubuntu_xenial_arm64_rootfs.d -m ls1043argw -d /dev/sdX (sdc in fact)
Each step seemed to work and boot, filesystem, etc. was written to the (quality name brand class 10) SD card at the end of the process.
When I install this SD card in the RGW and set the DIP switches for SD boot, I get nothing at all (via USB console).
Am I doing something wrong or is this impossible? Do I need to do something to the U-Boot on the image or the RGW NAND?
The solution for me was to modify the RDB .dtb file to match the devices and addresses present in the RGW .dtb file. The ethernet port names and correct MAC addresses then appeared in ifconfig -a.
Hello Andrew Barrow,
Probably you used USDPAA dts file, which makes all Ethernet interfaces assigned to USDPAA, so you cannot get any Ethernet port in Linux.
Thanks,
Yiping
I did get it to boot by:
- renaming the device tree NAND image from the RGW pre-compiled OpenWRT image to .dtb
- using NAND U-Boot to load both the .dtb and image from SD card as follows:
setenv sdboot 'setenv bootargs root=/dev/mmcblk0p3 rw rootdelay=5 console=ttyS0,115200 earlycon=uart8250,mmio,0x21c0500;mmcinfo;ext2load mmc 0:2 $loadaddr Image; ext2load mmc 0:2 a0000000 andrew-ls1043argw.dtb; booti $loadaddr - a0000000'
I only see the following network devices in ifconfig:
docker0
lo
lxcbr0
virbr0
I do not seem to have any ethernet devices with valid IP addresses. I am thinking possibly:
- I'm missing a driver in the RDB kernel (flexbuild-generated)
- I'm missing a firmware image (possibly PHY or DPAA)
- my DTB file is missing something networking-related that's actually needed
- my ethernet ports are bound to the DPAA and not showing up in Linux
Could someone help me get ethernet working? Or is there a working Ubuntu image for the RGW?