This shows you the differences between two versions of the page.
|
ass:labs-2025:02:tasks:01 [2026/07/14 11:45] florin.stancu [01. Preparing the Linux μImage] |
ass:labs-2025:02:tasks:01 [2026/07/14 15:48] (current) florin.stancu |
||
|---|---|---|---|
| Line 13: | Line 13: | ||
| === Task 1.1. Compile the Linux kernel === | === Task 1.1. Compile the Linux kernel === | ||
| - | Clone the kernel from the [[https://github.com/torvalds/linux/|official GitHub repo]], using the ''v6.12'' tag. | + | Clone the kernel from the [[https://github.com/torvalds/linux/|official GitHub repo]], using the ''v7.1'' tag. |
| We recommend you to use [[https://stackoverflow.com/questions/1778088/how-do-i-clone-a-single-branch-in-git|this git cloning technique]] to avoid fetching the entire git history (requiring several GBs of disk space!). | We recommend you to use [[https://stackoverflow.com/questions/1778088/how-do-i-clone-a-single-branch-in-git|this git cloning technique]] to avoid fetching the entire git history (requiring several GBs of disk space!). | ||
| Line 188: | Line 188: | ||
| * Notice how it has pre-defined attributes for ''kernel'', ''fdt'', ''ramdisk''. These are not simple binary blobs; instead, they each have a role to play in the boot sequence. E.g., U-Boot will know to take the ''load'' address of the ''fdt'' image and pass it via a certain register (decided by convention) to the ''kernel'', informing it where in memory to look for the FDT. | * Notice how it has pre-defined attributes for ''kernel'', ''fdt'', ''ramdisk''. These are not simple binary blobs; instead, they each have a role to play in the boot sequence. E.g., U-Boot will know to take the ''load'' address of the ''fdt'' image and pass it via a certain register (decided by convention) to the ''kernel'', informing it where in memory to look for the FDT. | ||
| - | Note how we replaced the ''load'' and ''entry'' addresses with placeholders such as //XXX//. Replace these with whatever addresses you want such as the binaries do not overlap once U-Boot starts loading them. | + | Note how we replaced the ''load'' and ''entry'' addresses with placeholders such as //XXX//. Replace these with whatever addresses you want such as the binaries do not overlap once U-Boot starts loading them (e.g.: you can start from ''0x81000000'' -- 64MB offset in DRAM, then add the size of the artifact rounded to 1-64MB for the next address and so on). |
| <note tip> | <note tip> | ||