-
Notifications
You must be signed in to change notification settings - Fork 182
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
Port the Yocto labs to Scarthgap #255
Conversation
All contributors have signed the CLA ✍️ ✅ |
Hello @antznin, as a side note, as a Bootlin employee you don't have to sign the CAA,. This issue has been fixed recently, if you want the bot to correctly detect that it's ok for you, I suggest to rebase your PR on top of current master and force-push it (unfortunately, if anyone has started reviewing your work, the force push will mark everything as "new", but I have no other way of updating the bot status since the PR has been opened before the CAA fix) |
4fa6c45
to
ade86a5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the very accurate work!
It looks very good to me overall. I just added a few minor notes for clarifications or additional improvements.
Luca
...otlin-lab-data/nunchuk/linux/0002-arm64-dts-ti-k3-am625-beagleplay.dts-add-description.patch
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd update the "kirkstone or honister" below to "kirkstone or scarthgap" as well.
An additional note that came to mind just now: we should also update all or most of the places where the This includes changing slides "Introduction to classes" and "Common classes" to mention the new directory organization, and possibly keeping the old It also includes all or most of the slides reachable by There might be other places to update in the slides but none came to mind after the training I gave last week, and definitely they can be fixed later on if/when we notice them. |
The This is how it's documented at the moment: classes/ - classes whose usage context is not clearly defined. So I think the best it to introduce
Will change all of that in this PR. Edit: see 818a55f. |
ade86a5
to
c961d7a
Compare
Whole series: |
* Update revisions for scarthgap. * Update commands for creating flash images and for updating. Signed-off-by: Antonin Godard <[email protected]>
* Specify that you need to set the default entry OpenSTLinux (new with scarthgap). Signed-off-by: Antonin Godard <[email protected]>
Signed-off-by: Antonin Godard <[email protected]>
* Update the kernel version. Signed-off-by: Antonin Godard <[email protected]>
Taken from the default configuration, still supports NFS and configured for lab5. Signed-off-by: Antonin Godard <[email protected]>
* Just a change of variable name. Signed-off-by: Antonin Godard <[email protected]>
* Just a change of sdk version. Signed-off-by: Antonin Godard <[email protected]>
* On Scarthgap, devtool now only generates the sha256sum flag for the SRC_URI variable. * Also fix a typo (anymore). Signed-off-by: Antonin Godard <[email protected]>
* Adjust the requirements (extract from the Yocto documentation). * Adjust some filenames/tags. * Add a patch to prevent meta-ti for modifying the deploy directory, and that adjusts the machine configuration file as a consequence. * Stopping U-boot and setting boot_targets is not needed anymore, but booting with `bootflow scan -b` is necessary for U-boot to boot with extlinux. * Add patch to simplify meta-ti layer that does different things: - Use extlinux.conf booting flow Switch from the default EFI-based boot process to a well-known extlinux.conf boot flow. This change is coherent with our other supported boards and simplifies the labs significantly (which are therefore very similar to those for the other boards). Moreover, I had trouble establishing a stable Ethernet connection through the EFI-based flow. - Don't use a custom deployment directory Using custom deployment directory is not following the standards. Revert this change by meta-ti to give the good example to trainees. Keep the definition of TI_COMMON_DEPLOY as it may be used by other recipes. Also, remove the change to TMPDIR done in the machine configuration, to keep the temporary directory unified and avoid an error caused by the change above. - Simplify linux-ti-staging recipe for the Bootlin labs Using an override to apply another defconfig is annoying for the lab5. Instead, just use a single defconfig (extract from the original one) that will be overriden later in lab5. Signed-off-by: Antonin Godard <[email protected]>
* linux-ti-staging used instead of linux-bb.org * filenames adjusments * add baudrate to command line Signed-off-by: Antonin Godard <[email protected]>
* The beagleplay now uses linux-ti-staging instead of linux-bb.org, and the beaglebone uses linux-bb.org instead of linux-ti-staging, so swap them. * Update the defconfig file. It's the default defconfig from linux-ti-staging + nunchuk support, for lab5. Note that the default config has NFS enabled already. * Update the nunchuk driver patch: probe_new -> probe in kernel 6.6 now. * Update the device tree patch: not the same implementation as in linux-bb.org, just need to change the clock-frequency and add the i2c node for the joystick. Signed-off-by: Antonin Godard <[email protected]>
* Update the machine configuration files to align with the ones from scarthgap. Signed-off-by: Antonin Godard <[email protected]>
* Update the SDK script filename. * Update the env setup script name. * Add a conditional on the architecture of the binary, it's 64-bit for the beagleplay, not 32. Signed-off-by: Antonin Godard <[email protected]>
* Add two patches to apply to the meta-ti repo: * One for removing the custom deployment directory customization by TI. This is a misleading for trainees and does not follow the Yocto standards. * Replace the default defconfig by one that enables additional options for NFS booting. * Update versions, filenames and dependencies in yocto-first-build.tex. Signed-off-by: Antonin Godard <[email protected]>
meta-ti on scarthgap uses linux-bb.org for the kernel, not linux-ti-staging. Signed-off-by: Antonin Godard <[email protected]>
* Update the kernel name from linux-ti-staging to linux-bb.org. * Update the driver using the one from stm32 (the stm32 is also on 6.1). * Refresh the patch that configures the device tree. Signed-off-by: Antonin Godard <[email protected]>
* Switch from linux-ti-staging to linux-bb.org. Same for U-boot. * The linux-bb.org and u-boot-bb.org recipes are setting the COMPATIBLE_MACHINE variable, so we need a way to also be compatible with these recipes. For that, add a custom override to MACHINEOVERRIDES. * The default config does not generate tar.xz rootfs by default, add an instruction to do that. Signed-off-by: Antonin Godard <[email protected]>
* Update the SDK script filename. * Update the env setup script name. Signed-off-by: Antonin Godard <[email protected]>
* Update the references when relevant. * The linux4sam link is valid and still has an anonymous function. Signed-off-by: Antonin Godard <[email protected]>
* Fix the directory name for classes that are part of classes-global or classes-recipe. * In the intro to classes, introduce the classes-* directories. * In the "common classes" slide, add a note on why classes/ still exists and add the classes directory to the examples. Signed-off-by: Antonin Godard <[email protected]>
This is not enabled by default on the Beagleplay. Actually, CMD_SAVEENV is defined but we only have ENV_IS_NOWHERE set so U-boot disables saveenv. So this patch does the following: - Set CONFIG_ENV_IS_IN_FAT and related variables. - Unset CONFIG_ENV_IS_NOWHERE so that when U-boot fails to read the file uboot.env on initial boot (the file is not present yet), it doesn't fail to "save to nowhere" and save the env to uboot.env instead. Signed-off-by: Antonin Godard <[email protected]>
It seems that the openocd build is failing without this for some reason (it shouldn't in theory, the git fetcher is supposed to set that...). Reported-by: Alexandre Belloni <[email protected]> Signed-off-by: Antonin Godard <[email protected]>
35b71e1
to
78b94fb
Compare
Overall the lab content and flow is the same. Any notable change is described below, so trainers can prepare and take the changes into account when updating their setup.
Slides
Labs
Common to all boards:
.rootfs
(e.g.bootlinlabs-image-minimal-bootlinlabs.rootfs.tar.xz
).devtool
, only sha256 sums ofSRC_URI
are generated, so remove the suggestions to delete others sums (md5, etc.).Beagleplay/Beaglebone: the kernels in use were swapped! Now:
linux-ti-staging
.linux-bb.org
.meta-ti
layer is by default overriding theDEPLOY_DIR
variable to make point to a directory next toTMPDIR
, which is unusual. Override this behavior as it is non-standard (apply patch on meta-ti).Beaglebone:
MACHINEOVERRIDES
in the machine configuration, because the kernel and bootloader recipes are usingCOMPATIBLE_MACHINE
to match againstbeagle.*
(instruct to add the overridebeaglebone
).tar.xz
toIMAGE_FSTYPES
, it's not implied by default anymore.Beagleplay:
DEPLOY_DIR
customization that does not follow the standards. Also remove aTMPDIR
customization that depends on the formerDEPLOY_DIR
customization.defconfig
file and remove the override directories, to make it simpler to override thedefconfig
with Joystick support enabled later in lab5.boot_targets
is not needed anymore, but booting withbootflow scan -b
is necessary for U-boot to boot with extlinux.beagleplay
configuration file).file
againstctris
.STM32:
defconfig
update for kernel 6.1 (NFS and joystick/nunchuk support).MACHINE
: some variable names have been changed, update them in the instructions.