-
Notifications
You must be signed in to change notification settings - Fork 179
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
base: main
Are you sure you want to change the base?
Add learning path for Glibc + Linux + FVP #1653
Conversation
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 |
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.
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. |
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.
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 |
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.
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`: |
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.
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 |
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 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.
Before submitting a pull request for a new Learning Path, please review Create a Learning Path
Please do not include any confidential information in your contribution. This includes confidential microarchitecture details and unannounced product 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.