Date: Fri, 09 Nov 2018 21:10:02 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-arm@FreeBSD.org Subject: [Bug 233097] U-Boot/ubldr loaderdev broken Message-ID: <bug-233097-7@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D233097 Bug ID: 233097 Summary: U-Boot/ubldr loaderdev broken Product: Base System Version: 12.0-STABLE Hardware: arm OS: Any Status: New Severity: Affects Some People Priority: --- Component: arm Assignee: freebsd-arm@FreeBSD.org Reporter: pawel.worach@gmail.com Board: bcm283x armv6 U-Boot: 2018.09 FreeBSD: stable/12 r340282 Setting loaderdev in U-Boot is supposed to set the correct currdev for ubld= r, this seems to be broken. Setting loaderdev to "mmc 0:3.0" seems to cause ubldr to use unit=3D0, slic= e=3D0 and partition=3D3 instead of slice=3D3 and partition=3D0. This is caused by stor_open() in stand/uboot/lib/disk.c which loads a vararg uboot_devdesc struct as a disk_devdesc struct. My workaround was to use the disk_devdesc struct in stand/uboot/common/main= .c instead of the uboot_devdesc struct. Post-workaround: U-Boot> setenv loaderdev mmc 0:3.0 U-Boot> boot ... U-Boot env: loaderdev=3D'mmc 0:3.0' Found U-Boot device: disk Checking unit=3D0 slice=3D3 partition=3D0... good. Booting from disk0s3a: --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-233097-7>