edison-fw / meta-intel-edison

Here is the meta-intel-edison that builds, tries to stay up to date. Master is based on Yocto Poky Gatesgarth LTS 5.10.yy vanilla kernels. It builds a 32bit kernel (Gatesgarth branch 64bit) with ACPI enabled and corresponding rootfs. Telegram group: https://t.me/IntelEdison Web-site:
https://edison-fw.github.io/meta-intel-edison/
MIT License
60 stars 38 forks source link

Futher fixes for using with Yocto Morty #2

Closed floion closed 6 years ago

floion commented 7 years ago

…el edison

Signed-off-by: Florin Sarbu florin@resin.io

htot commented 7 years ago

What I got from Andy (see my wiki):

setenv dfu_alt_info "ifwi${hardware_id} raw 0 8192 mmcpart 1;ifwib${hardware_id} raw 0 8192 mmcpart 2;u-boot0 part 0 1;u-boot-env0 part 0 2;u-boot1 part 0 3;u-boot-env1 part 0 4;boot part 0 7;rootfs part 0 8;update part 0 9;home part 0 10;vmlinuz fat 0 7;initrd fat 0 7"
setenv do_dfu_alt_info_ifwi 'setenv dfu_alt_info "ifwi${hardware_id} raw 0 8192 mmcpart 1;ifwib${hardware_id} raw 0 8192 mmcpart 2"'
setenv do_dfu_alt_info_mmc 'setenv dfu_alt_info "ifwi${hardware_id} raw 0 8192 mmcpart 1;ifwib${hardware_id} raw 0 8192 mmcpart 2;u-boot0 part 0 1;u-boot-env0 part 0 2;u-boot1 part 0 3;u-boot-env1 part 0 4;boot part 0 7;rootfs part 0 8;update part 0 9;home part 0 10;vmlinuz fat 0 7;initrd fat 0 7"'
htot commented 7 years ago

I am developing by putting the rootfs on external sd card. Default the original image (on emmc) will boot. But I add (manually):

fw_setenv edsboot 'setenv bootargs ${bootargs_edsboot}; run load_edsboot; run boot_edsboot'
fw_setenv bootargs_edsboot 'tty1 console=ttyS2,115200n8 root=/dev/mmcblk1 rootfstype=ext4 systemd.unit=multi-user.target hardware_id=00'
fw_setenv load_edsboot 'load mmc 0:9 0x100000 bzImage-initramfs'
fw_setenv boot_edsboot 'zboot 0x100000'  

And when I interrupt boot, I type run edsboot

Not sure what the best way would be. I do like that if something goes wrong, I can boot to a known good image.

Also, right now I just flipped the switch to core-i7. Everything compiles, but U-Boot won't link (that is as it compiles i386 image). Any ideas how we should add multilib to this recipy?

htot commented 7 years ago

For now I removed U-Boot from the image on my morty-64 branch. Now it builds (without U-Boot) kernel + initramfs and rootfs image. As is you need to build U-Boot manually. The 64bit version seems to be booting fine but haven't tested everything.

floion commented 7 years ago

The following lines need to be changed since the keyword mmc has changed to raw. For example inside u-boot: Yeah, that's how we have it too https://github.com/resin-os/resin-edison/blob/master/layers/meta-resin-edison/recipes-bsp/u-boot/files/edison.env#L8 and https://github.com/resin-os/resin-edison/blob/master/layers/meta-resin-edison/recipes-bsp/u-boot/files/edison.env#L10

Will do that in a follow-up PR. Does the current PR make sense? Anything to change here? Or do you think it's inappropriate?

htot commented 7 years ago

On a holiday now, will check when I return (in a week), thanks for the PR

floion commented 7 years ago

Hi, have you had a chance to look over this?

htot commented 7 years ago

Hi Florian, I have working on the 64bit branch, but will switch back to 32bits shortly and try your patches. Thanks for your patience. Ferry

htot commented 6 years ago

Hi Florian, I merged your PR. I also reverted your change to edison.env and changed that in further commits as I want (for now) the default to be to boot Intel original kernel and rootfs, so at least something will boot when I screw up. To boot the vanilla kernel and morty rootfs I press on boot and run 'run edsboot'.

So everything still builds, as before. And still U-Boot won't boot, also as before. I really don't know what is wrong. Let me know if you can flash U-Boot and if it boots. I really would like to know what I am doing wrong. Up to know I can only successfully update U-Boot by following the manual process as described on my wiki.

floion commented 6 years ago

Hi. Thanks for merging it. I haven't found at that time what was wrong with that particular uboot version. I may revisit it soon, I am currently focusing on other things and we curently use an older kernel and uboot which suits our customers' needs for the time being. This being said, if I get to the bottom of it I will send PRs to your repository as before.