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

Re: DreamPlug-jessie troubles



On Sun, 2014-10-19 at 14:01 +0000, Clint Adams wrote:
> On Sun, Oct 19, 2014 at 01:31:34PM +0000, Clint Adams wrote:
> > If I boot the wheezy kernel with initrd and no dtb it boots fine.
> 
> Er, so if I do the same with the jessie kernel (uImage, uInitrd, no dtb),
> it works too.
> 
> I'm quite confused.

My theory:

Booting uImage (w/ appended dtb inside) + uInitrd passes the initrd via
atags, because this is the behaviour of the two argument form u-boot's
of bootm/bootz.

Booting uImage (w/ appended dtb inside) + uInitrd + dtb passes the
initrd via the /chosen/ node of the dtb (the behaviour of the three
argument form of bootz/bootm. *But* the appended DTB inside the uImage
then shadows the provided one and it doesn't contain the initrd, hence
the kernel never sees it.

I think the answer to your problem is to either stop passing a dtb from
the bootloader (IOW use the two argument form of bootz) or to stop
flash-kernel from appending a dtb.

You can achieve the latter with (untested):
        # cat >>/etc/flash-kernel/db <<EOF
        Machine: Globalscale Technologies Dreamplug
        DTB-Append: no
        EOF
        
What I can't quite explain is why your setup work(s|ed) for you with
Wheezy, I don't think the behaviour of bootm/bootz has changed.

Wheezy's kernel had:
        CONFIG_ARM_ATAG_DTB_COMPAT=y
        CONFIG_ATAGS_PROC=y
        
Jessie's has:
        CONFIG_ATAGS=y
        CONFIG_ARM_ATAG_DTB_COMPAT=y
        CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER=y
        # CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND is not set
        CONFIG_ATAGS_PROC=y
        
Perhaps one of those new options is the difference.

Ian.


Reply to: