Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dunfell #126

Closed
wants to merge 37 commits into from
Closed

Dunfell #126

wants to merge 37 commits into from

Conversation

htot
Copy link
Member

@htot htot commented Mar 15, 2021

This is the update to Yocto Dunfell. Documentation for now is here: https://htot.github.io/meta-intel-edison/

This time we have mostly fixes (btrfsFlashOta) and cleanups (removed clloader, sketch-check, mcu-fw).
Of course updates to U-Boot and Linux + added a preempt-rt kernel. Oobe is finally working again (point browser to http://edison/). Blink-led is now a kernel module.

And Debian image is now a btrfs snapshot, so you can dual boot Debian/Yocto.

htot and others added 29 commits March 15, 2021 22:08
Signed-off-by: Ferry Toth <ftoth@exalondelft.nl>
Signed-off-by: Ferry Toth <ftoth@exalondelft.nl>
Signed-off-by: Ferry Toth <ftoth@exalondelft.nl>
Signed-off-by: Ferry Toth <ftoth@exalondelft.nl>
Signed-off-by: Ferry Toth <ftoth@exalondelft.nl>
2021-01-rc2 requires swig to build and CONFIG_FS_BTRFS=y requires CONFIG_SHA256=y to be set

Signed-off-by: Ferry Toth <ftoth@exalondelft.nl>
Signed-off-by: Ferry Toth <ftoth@exalondelft.nl>
Add a line in poky-edison.conf to make it easy to switch

Signed-off-by: Ferry Toth <ftoth@exalondelft.nl>
We switch to Yocto version dependent branches to prevent backwards incompatibilities

Signed-off-by: Ferry Toth <ftoth@exalondelft.nl>
Dunfell splits out libgpiod tools to a seperate package. And we depend on the tools.

Signed-off-by: Ferry Toth <ftoth@exalondelft.nl>
Signed-off-by: Ferry Toth <ftoth@exalondelft.nl>
Signed-off-by: Ferry Toth <ftoth@exalondelft.nl>
Since dunfell some kernel packages are missed.

Signed-off-by: Ferry Toth <ftoth@exalondelft.nl>
Signed-off-by: Ferry Toth <ftoth@exalondelft.nl>
Signed-off-by: Ferry Toth <ftoth@exalondelft.nl>
Signed-off-by: Ferry Toth <ftoth@exalondelft.nl>
With dunfell th provider for u-boot-fw-utils has changed to  libubootenv,
but we still want to use ours for now.

Also:
- we have to disable mraa nodejs bindings as they are again broken,
- DISTRO_FEATURES_LIBC is no longer supported,
- building nodejs with -j 16 consumes more then 16GB ram and slows the build done.
  This is an attempt to restrict memory use for nodejs only.

Signed-off-by: Ferry Toth <ftoth@exalondelft.nl>
The btrfs image allows to install a second kernel. This patch allows to tell U-Boot booting
the alternate kernel was succesful.

Setting `fw_setenv switch 1` from linux will cause U-Boot to add 'New' to the kernel and initrd
name and set 'boot_count' to 1. If the subsequent boot succeeds 'boot_count' will be set to 0 in
linux by the bootsuccess service. This allows future boots to continue with the New kernel.

However if boot fails 'boot_count' remains 1. And on next reboot U-Boot the kernel will be
reset to the default one again.

Signed-off-by: Ferry Toth <ftoth@exalondelft.nl>
Signed-off-by: Ferry Toth <ftoth@exalondelft.nl>
Signed-off-by: Ferry Toth <ftoth@exalondelft.nl>
Signed-off-by: Ferry Toth <ftoth@exalondelft.nl>
Signed-off-by: Ferry Toth <ftoth@exalondelft.nl>
On boot we need to have the led pin initialized without running the blink-led
script. Split out initializing into seperate service and combine installing
blinkled and flash-led into one package.

Signed-off-by: Ferry Toth <ftoth@exalondelft.nl>
This service is needed by the arduino toolkit which is currently not functional.

Signed-off-by: Ferry Toth <ftoth@exalondelft.nl>
This service is needed by the arduino toolkit which is currently not functional.

Signed-off-by: Ferry Toth <ftoth@exalondelft.nl>
Currently loading mcu firmware is not supported by the kernel. Remove the service from
the image. For now keep the recipies till better times.

Signed-off-by: Ferry Toth <ftoth@exalondelft.nl>
This cleanup depends on the overhaul of oobe code.

Signed-off-by: Ferry Toth <ftoth@exalondelft.nl>
Signed-off-by: Ferry Toth <ftoth@exalondelft.nl>
To prevent upstream oobe repo making incompatible changes to oobe instead of
checking out HEAD (${AUTOREV}) checkout the known working version.

Signed-off-by: Ferry Toth <ftoth@exalondelft.nl>
@htot htot requested a review from andy-shev March 15, 2021 21:23
Copy link
Contributor

@andy-shev andy-shev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I briefly looked into this and hadn't caught anything bad. Though couple of comments:

  • perhaps you would need the revert patch for DWC3 ULPI (you were Cc'ed in the corresponding report)
  • maybe we need to switch to LTS kernels and keep branches like devel (latest Yocto + Latest kernel) and per Yocto release with the corresponding LTS kernel.

@htot
Copy link
Member Author

htot commented Mar 16, 2021

Hi @andy-shev

  1. You mean "The fix e5f4ca3fce90 broke Intel Edison host mode" on linux-usb ML. Was there any follow up on that? I didn't consider that that might affect us. I will investigate.
  2. That sounds like a very good idea. Do you think we should go back to 5.10? If you ask me 5.11.0 is working better then 5.10.0. But maybe 5.10.23 is even better.

@andy-shev
Copy link
Contributor

  1. You mean "The fix e5f4ca3fce90 broke Intel Edison host mode" on linux-usb ML. Was there any follow up on that? I didn't consider that that might affect us. I will investigate.

Yes. It affects all OTG (automatically switched) boards. I have three different here :-)

  1. That sounds like a very good idea. Do you think we should go back to 5.10? If you ask me 5.11.0 is working better then 5.10.0. But maybe 5.10.23 is even better.

For the release, I prefer to see v5.10.24+, yes. Leave newest kernel for devel/experimental branch.

@htot
Copy link
Member Author

htot commented Mar 16, 2021

Yes. It affects all OTG (automatically switched) boards. I have three different here :-)

Ok, may be you can point me to the issue so I can reproduce by separate mail?

For the release, I prefer to see v5.10.24+, yes. Leave newest kernel for devel/experimental branch.

But of course our images are a combination of kernel, U-boot and Yocto with each their own support policy. For instance Yocto Zeus is already no longer actively maintained. Yocto planned 2 year LTS for Dunfell but I didn't see this followed up, so might also EOL in April 2021.

So IMHO whatever we do an image will be frozen to a certain kernel release. But it does make sense to select a LTS kernel that has more or less calmed down.

@andy-shev
Copy link
Contributor

andy-shev commented Mar 16, 2021

Yes. It affects all OTG (automatically switched) boards. I have three different here :-)

Ok, may be you can point me to the issue so I can reproduce by separate mail?

I dunno if you can reproduce on Arduino, but basically with that patch the host mode doesn't see the connected devices.

  • Boot Edison in gadget mode
  • Connect USB Mass Storage device (for example)
  • No automatic recognition by a block layer -> no device node -> no nothing

For the release, I prefer to see v5.10.24+, yes. Leave newest kernel for devel/experimental branch.

But of course our images are a combination of kernel, U-boot and Yocto with each their own support policy. For instance Yocto Zeus is already no longer actively maintained. Yocto planned 2 year LTS for Dunfell but I didn't see this followed up, so might also EOL in April 2021.

So IMHO whatever we do an image will be frozen to a certain kernel release. But it does make sense to select a LTS kernel that has more or less calmed down.

You mean that Yocto itself chooses non-LTS kernel releases? Then we at least may do better. U-Boot OTOH doesn't make any difference (they simple don't have LTS, effectivelly means whatever release of U-Boot on the release date of our stuff will be the best one, just don't update it in named branches).

@htot
Copy link
Member Author

htot commented Mar 17, 2021

You mean that Yocto itself chooses non-LTS kernel releases? Then we at least may do better. U-Boot OTOH doesn't make any difference (they simple don't have LTS, effectivelly means whatever release of U-Boot on the release date of our stuff will be the best one, just don't update it in named branches).

Yocto Project provides for Dunfell linux 5.4.98. Gatesgarth adds 5.8.18. Indeed I think it is good do a more recent kernel in our layer.

But I meant Dunfell has a certain set of libs, systemd and other tools that after a time receive no more updates and are downloaded from certain sources. After a while it will not even build any more due to sources disappearing and people need to move to a newer Yocto release. That's why meta-intel-edison is constantly updated. And free of charge results to newer kernel :-)

The real value of a LTS kernel for us is that it has received lots of testing.

Signed-off-by: Ferry Toth <ftoth@exalondelft.nl>
Signed-off-by: Ferry Toth <ftoth@exalondelft.nl>
Signed-off-by: Ferry Toth <ftoth@exalondelft.nl>
Signed-off-by: Ferry Toth <ftoth@exalondelft.nl>
Signed-off-by: Ferry Toth <ftoth@exalondelft.nl>
Signed-off-by: Ferry Toth <ftoth@exalondelft.nl>
Signed-off-by: Ferry Toth <ftoth@exalondelft.nl>
This reverts commit fc6803f.

Signed-off-by: Ferry Toth <ftoth@exalondelft.nl>
@htot
Copy link
Member Author

htot commented Apr 11, 2021

Merged

@htot htot closed this Apr 11, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants