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

Add learning path for Glibc + Linux + FVP #1653

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

yury-khrustalev
Copy link

Before submitting a pull request for a new Learning Path, please review Create a Learning Path

  • I have reviewed Create a Learning Path

Please do not include any confidential information in your contribution. This includes confidential microarchitecture details and unannounced product information.

  • I have checked my contribution for confidential information

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the Creative Commons Attribution 4.0 International License.

This command uses the `arch/v9.4.yaml` config that enables Armv9.4 hardware features.
This config is included with the Shrinkwrap installation. We also use the `ns-edk2.yaml`
config. This configuration file is also a part of the Shrinkwrap tool. It defines the
settings for building and running the firmware using the EDK2 on Arm FVPs. The build

Choose a reason for hiding this comment

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

nit: "firmware using the EDK2" -> "firmware using EDK2" (drop "the"?).

config. This configuration file is also a part of the Shrinkwrap tool. It defines the
settings for building and running the firmware using the EDK2 on Arm FVPs. The build
process takes some time. During this step, Shrinkwrap downloads the required Docker
image and starts a container to run the build.

Choose a reason for hiding this comment

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

It might be worth expanding to:

"""
...downloads the required Docker image and starts a container to clone all the required firmware repositories and build the components".
"""

Or if keeping as is, "run the build" sounds weird; Shrinkwrap has a build command and a run command. So these could get conflated. Suggest "perform the build".

CMDLINE:
value: loglevel=3 ip=dhcp kpti=off root=/dev/vda2
DTB:
value: /home/user/workspace/linux-build/arch/arm64/boot/dts/arm/fvp-base-revc.dtb
Copy link

@ryanhrob ryanhrob Feb 28, 2025

Choose a reason for hiding this comment

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

Is there a reason that you're not using the dtb that shrinkwrap built? This should be default so no need to override.

At this point, we have everything required to boot our system. Shrinkwrap uses so called overlay
configuration files. The following file instructs Shrinkwrap to connect all the pieces together
and locate the kernel image, device tree, and rootfs. It can also be used to tweak any of the FVP
parameters. Save this file as `~/workspace/aarch64.yaml`:

Choose a reason for hiding this comment

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

Another way to do this would be to create your overlay with additional:

layers:
  - ns-edk2.yaml
  - arch/v9.4.yaml

Then you can just build and run your config without needing to specify any overlays on the command line. Both ways are valid.

CHANGED: partition=2 ... old: size=1316864 ... new: size=5511135
```

After a couple of minutes, you should be able to SSH in a different terminal into the

Choose a reason for hiding this comment

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

I certainly wouldn't normally expect Linux to take 2 mins to boot a simple buildroot-based rootfs. On my system, it usually takes about 10 seconds. Do you have a particularly complex rootfs? Or perhaps the root partition growing is taking a while? In which case it might be better to do it offline when building the rootfs.

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.

2 participants