Boot arguments passed from U-Boot don't currently make it into a NetBSD kernel. The reason seems to be a sanity check on the address passed from u-boot which is inappropriate for the BB Black, which has twice as much memory as the BB. This fixes it by doubling the acceptable address range. With the patch booting with `setenv bootargs root=ld0a' in the u-boot configuration allows a generic kernel to boot without asking. RCS file: /cvsroot/src/sys/arch/evbarm/beagle/beagle_machdep.c,v retrieving revision 1.52 diff -u -r1.52 beagle_machdep.c --- sys/arch/evbarm/beagle/beagle_machdep.c 29 Jun 2013 20:44:52 -0000 1.52 +++ sys/arch/evbarm/beagle/beagle_machdep.c 30 Jul 2013 20:17:17 -0000 @@ -563,7 +563,7 @@ mapallmem_p); /* "bootargs" env variable is passed as 4th argument to kernel */ - if ((uboot_args[3] & 0xf0000000) == 0x80000000) { + if ((uboot_args[3] & 0xe0000000) == 0x80000000) { strlcpy(bootargs, (char *)uboot_args[3], sizeof(bootargs)); } boot_args = bootargs; Dennis Ferguson
Attachment:
signature.asc
Description: Message signed with OpenPGP using GPGMail