[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: jessie installation problem on arm sheevaplug



* Rick Thomas <rbthomas@pobox.com> [2015-05-16 17:47]:
> > - In u-boot:
> > 
> > setenv machid 00000692
> > saveenv

This is not the correct solution.

The problem is that there are different ways to boot on ARM machines.
The old way was for the boot loader to pass a machine ID to the kernel
which would tell the kernel which machine it's running on.  The new
way requires u-boot to pass a "device tree" to the kernel which
describes the hardware components of the system. (The workaround
suggested here simply tells the kernel a wrong machine ID and that
works because that particular device has not been converted over to
device tree yet, but this is not a good solution since you're telling
the kernel a wrong device, so it's possible some hardware components
won't work correctly.)

The u-boot in Debian passes the machine ID (because that's how you
configured it) but not the device tree.  Newer kernels require the
device tree on the SheevaPlug and no longer support the machine ID,
which is why you get the error about the machine ID not being known.

Ideally, u-boot would pass the device tree to the kernel, but this is
currently not done in Debian's u-boot (see #782293).

So the best solution now is to append the device tree blob (DTB) to
the kernel in the installer.  This way, the kernel will find the
correct device tree and can boot (and everything else will work since
flash-kernel already appends the DTB on the SheevaPlug).

I've to catch a flight now but I'll post a kernel image with the DTB
tomorrow.

Sorry for not fixing this earlier.

-- 
Martin Michlmayr
http://www.cyrius.com/


Reply to: