On 05/24/2010 09:27 AM, Martin Michlmayr wrote:
> * Daniel Kahn Gillmor <dkg@fifthhorseman.net> [2010-05-23 19:36]:
>> and generated a uBoot-friendly kernel and initramfs (thanks to Clint
>> Adams for helping me cargo-cult this):
>
> fwiw, I've just uploaded a new version of flash-kernel that will do
> this for you.
Great, thanks. i'll try this out when i have a chance to get back to
playing with the device.
Note also http://bugs.debian.org/582858 , which i just filed about
initramfs-tools and a ubifs root while trying to make a slimmer initramfs.
Fortunately, it turns out i can boot from my build of the 2.6.32-13
kernel if initramfs.conf contains MODULES=list (and i don't bother
specifying any modules in the list). That seems to make the
kernel+initramfs total < 4MiB, so maybe this will let me drop the
netboot part of my current boot process.
> You have to set the machine ID. Out of interest, what's the output of
> 'printenv' from your machine at the moment
with the shipped uboot version 2009.11-rc1-00602-g28a9c08-dirty, my
device came with the following pre-packaged uboot environment (mac
addresses anonymized):
>>> bootcmd=setenv ethact egiga0; ${x_bootcmd_ethernet}; setenv ethact egiga1; ${x_bootcmd_ethernet}; ${x_bootcmd_usb}; ${x_bootcmd_kernel}; setenv bootargs ${x_bootargs} ${x_bootargs_root}; bootm 0x6400000;
>>> bootdelay=3
>>> baudrate=115200
>>> x_bootcmd_ethernet=ping 192.168.2.1
>>> x_bootcmd_usb=usb start
>>> x_bootcmd_kernel=nand read.e 0x6400000 0x100000 0x400000
>>> x_bootargs=console=ttyS0,115200
>>> x_bootargs_root=ubi.mtd=2 root=ubi0:rootfs rootfstype=ubifs
>>> ethact=egiga0
>>> ethaddr=00:50:43:yy:yy:yy
>>> eth1addr=00:50:43:xx:xx:xx
>>> stdin=serial
>>> stdout=serial
>>> stderr=serial
And after I updated to uboot 2010.03-01266-g42f7128 (based on Clint
Adams' recommendation, using a blob that he built), i see:
>>> bootcmd=${x_bootcmd_usb}; ${x_bootcmd_kernel}; setenv bootargs ${x_bootargs} ${x_bootargs_root}; bootm 0x6400000;
>>> bootdelay=3
>>> baudrate=115200
>>> x_bootcmd_usb=usb start
>>> x_bootcmd_kernel=nand read.e 0x6400000 0x100000 0x400000
>>> x_bootargs=console=ttyS0,115200
>>> x_bootargs_root=ubi.mtd=2 root=ubi0:rootfs rootfstype=ubifs
>>> stdin=serial
>>> stdout=serial
>>> stderr=serial
>>> ethaddr=02:50:43:yy:yy:yy
>>> ethact=egiga0
>>> eth1addr=02:50:43:xx:xx:xx
Interesting, i just noticed that the new version of the MAC addresses
changed to set the locally-administered address bit:
http://en.wikipedia.org/wiki/MAC_Address#cite_ref-3
> and what kernel did your
> GuruPlug ship with? (something based on 2.6.20 or so?)
it shipped with a kernel that identifies itself as:
Linux version 2.6.32-00007-g56678ec (root@msi-linux-build.marvell.com)
(gcc version 4.1.2 20070925 (Red Hat 4.1.2-33.fa1)) #1 PREEMPT Mon Feb 8
03:49:55 PST 2010
> Anyway, you need:
>
> setenv mainlineLinux yes
> setenv arcNumber 2659
> saveenv
> reset
Clint mentions that he tried this without success. I haven't tried it
myself.
--dkg
Attachment:
signature.asc
Description: OpenPGP digital signature