Mailinglist Archive: opensuse-arm (170 mails)

< Previous Next >
Re: [opensuse-arm] (Untested) RPI3 image - testers wanted
On Thu, 2016-03-17 at 16:02 +0100, Guillaume Gardet wrote:

Le 17/03/2016 15:59, Alexander Graf a écrit :

On 17.03.16 15:56, Guillaume Gardet wrote:
Le 17/03/2016 15:48, Guillaume Gardet a écrit :
Le 17/03/2016 15:40, Alexander Graf a écrit :
On 17.03.16 15:25, Bill Merriam wrote:
On Wed, 2016-03-16 at 23:21 +0100, Alexander Graf wrote:
On 16.03.16 20:00, Bill Merriam wrote:
On Thu, 2016-03-03 at 20:18 +0100, Dirk Müller wrote:
Hi,

http://download.opensuse.org/repositories/devel:/ARM:/Factory:/Contrib:/RaspberryPi2:/Staging/images/



(yeah, I know its the Pi2 path, I was lazy) contains an untested
raspberrypi3 image. I already know that serial is broken, that seems
to be an upstream issue (due to the changed clock frequencies).

I haven't tested it further yet, need to buy some HDMI capable
screen
first. Let me know your findings.

Greetings,
Dirk
I have successfully installed this image:

http://download.opensuse.org/repositories/devel:/ARM:/Factory:/Contrib:/RaspberryPi2/images/openSUSE-Tumbleweed-ARM-JeOS-raspberrypi3.armv7l-2016.03.09-Build5.2.raw.xz


It has several issues with booting. Uboot issues messages for a
while
and eventually comes to a prompt. If I type "boot", it boots up. At
This is my fault again - as soon as the image got rebuilt with the
fixed
U-Boot package (that was stuck in Factory review for a week) this
error
should be gone.

some point I noticed in dmesg a complaint that the first partition
was
"dirty" and needed an fsck. It is a FAT filesystem and fsck.fat
isn't
That's weird. Sounds like a flushing bug during build?

installed. I installed "dosfstools" and checked the file system.

One of the uboot messages complained that "usbethaddr" was not set.
I don't think we support the usb mac stuff quite yet. If you have
great
ideas how to make it work with upstream U-Boot, we're more than
happy to
see patches :).

Every time it boots it chooses a new MAC address which causes the
dhcp
server to give it a new address every time. I set that variable
and did
a saveenv. I suppose that is supposed to happen somehow during the
first boot.
The way it works without U-Boot is that the RPi bootloader
generates the
mac address from the pi serial number. We should probably do the
same in
U-Boot.

IIRC it then gets passed to the kernel using the kernel command line.
That's a horrible interface, as it breaks any integration with boot
loaders (like grub2). So if we want to move this to an efi based boot
mechanism, we need to instead inject the mac address into the device
tree. I'm not quite sure where though - usb is not described in dt.

There are also messages about variables "bootfile" and "pxeuuid"
being
missing. Variable "scan_dev_for_efi" is a script that tries to set
variable "boot_prefixes" but doesn't get it right.
That's the bug that was fixed in u-boot and stuck in review. Basically
the bootfile definition got included in the scan_dev_for_efi variable
while it should've been its own variable. I simply forgot the null
terminator.

I will read u-boot documentation and try to figure it out but if
somebody fixes it I can move on to something else.
That leaves the mac address thing to fix :).


Alex
The serial number is available in the One Time Programmable memory.
http://elinux.org/RPI_vcgencmd_usage

vcgencmd otp_dump |grep 28: |cut -b 4-

The MAC address seems to be RPI's prefix b8:27:eb plus the last 3 bytes
of the serial.
This big problem is not how to fetch the 3 bytes. It's how to pass them
all the way from u-boot via fdt to the kernel and have the kernel
properly use it as the mac address for the usb ethernet adapter.
You may ask on u-boot mailing list. I think u-boot is able to do it
more or less automatically.
Have a look at fdt_fixup_ethernet(...) function.
That only works for devices listed in device tree though, right? The eth
adapter is attached to USB which doesn't list its devices in dt.

Yes, I think so.
Ask on u-boot ML, maybe people would have some idea.


Guillaume



Alex



In the version of boot.script (and boot.scr) that I have there is this
long statement to set boot args to pass to the kernel. The MAC address
for the ethernet adapter is set via "smsc95xx.macaddr"

setenv bootargs "root=/dev/disk/by-id/mmc-SE32G_0xa82b1160-part3
loader=uboot disk=/dev/disk/by-id/mmc-SE32G_0xa82b1160
resume=/dev/disk/by-id/mmc-SE32G_0xa82b1160-part4 quiet splash=silen
t plymouth.enable=0 dwc_otg.lpm_enable=0 console=ttyAMA0,115200n8
kgdboc=ttyAMA0,115200 rootflags=commit=120,data=writeback
smsc95xx.macaddr=${usbethaddr} ${append}"

I then set "usbethaddr" as an environment variable and it works nicely.
I just used the last random address but I can set the right one that
way.

Bill

--
To unsubscribe, e-mail: opensuse-arm+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse-arm+owner@xxxxxxxxxxxx

< Previous Next >