[clug] ARM devices with complete upstream support

Eyal Lebedinsky eyal at eyal.emu.id.au
Tue Nov 1 23:00:22 UTC 2016

On 02/11/16 07:58, Chris Smart wrote:
> On Tue, Nov 01, 2016 at 08:52:11PM +1100, Eyal Lebedinsky wrote:
>> Maybe boot.scr is not fully used?
> Oh.. at a guess, the SOC is still executing the initramfs which is still
> being loaded into memory.
> The console line there is just for Linux, sooo.. try leaving out the
> initramfs lines from your boot.cmd before regenerating boot.scr.
> Something like this:
> cat > boot.cmd << EOF
> fatload mmc 0 \${kernel_addr_r} zImage
> fatload mmc 0 \${fdt_addr_r} bcm2836-rpi-2-b.dtb
> setenv bootargs console=ttyAMA0,115200 earlyprintk root=/dev/mmcblk0p2 \
> rootwait panic=10
> bootz \${kernel_addr_r} - \${fdt_addr_r}
> Then regenerate with the same command as before, straight to the mounted
> SD card (if it's mounted at /mnt):
> sudo mkimage -C none -A arm -T script -d boot.cmd /mnt/boot.scr

Hi Chris,

Great, this works.

Naturally, since we built without loadable modules, this failed:
	FAILED Failed to start Load Kernel Modules.
	See 'systemctl status systemd-modules-load.service' for details.
Though eth0 did not come up. However
	sudo dhclient eth0
brought it up OK.

I now added in /etc/init.d/networking to automatically fix it
for n in `seq 5 -1 1` ; do
   ifconfig eth0 2>&1 | grep -q 'not found' || break
   echo "waiting for eth0... $n"
   sleep 1s
         if ifup -a $exclusions $verbose && ifup_hotplug $exclusions $verbose
             log_action_end_msg $?
             log_action_end_msg $?

Later I found that replacing the loop with a simple
	ifconfig eth0 &>/dev/null
also wakes up eth0 and all is properly set up. Go figure.

BTW in the original initramfs/ I added the eth0 loop to etc/init.d/S40network
and set it up static in etc/network/interfaces and etc/resolv.conf

I will wait to see if kernel 4.9 will handle the raspi3 in 64bit/SMP mode.

Thanks again,

> -c

Eyal Lebedinsky (eyal at eyal.emu.id.au)

More information about the linux mailing list