I actually set mainlineLinux=no, but I doubt it has any effect: there is no reference at all to this env variable. However, in original U-Boot, there are some references:
EDIT: Nope, doesn't work. This ATAG isn't even parsed by Pogoplug kernel (if the kernel sources really match the compiled binary...). However, struct tag_mv_uboot might be interesting, altough there are no extremely important information in it. Maybe tag_serialnr or tag_revision might be needed? I'll dig into this tomorrow.
static void setup_ce_tag (void) { unsigned int cpu = 0; #if defined(MV78200) && defined(DUAL_OS_SHARED_MEM_78200) cpu = whoAmI(); #endif params[cpu]->hdr.tag = ATAG_CE_UBOOT; params[cpu]->hdr.size = tag_size (tag_ce_uboot); params[cpu]->u.ce_uboot.ce_tagkey = 0x5843453A; params[cpu]->u.ce_uboot.ce_size = sizeof(struct tag_ce_uboot); strncpy(params[cpu]->u.ce_uboot.ce_boardid, CE_BOARDID, sizeof(params[cpu]->u.ce_uboot.ce_boardid)); params[cpu] = tag_next (params[cpu]); }So I guess Pogoplug's kernel needs some special information (CE_BOARDID etc) that mainline U-Boot does not provide. I think I'll have a look into that.
EDIT: Nope, doesn't work. This ATAG isn't even parsed by Pogoplug kernel (if the kernel sources really match the compiled binary...). However, struct tag_mv_uboot might be interesting, altough there are no extremely important information in it. Maybe tag_serialnr or tag_revision might be needed? I'll dig into this tomorrow.