This shows you the differences between two versions of the page.
ass:laboratoare:02:tasks:04 [2023/07/17 19:33] radu.mantu created |
ass:laboratoare:02:tasks:04 [2023/07/18 12:36] (current) radu.mantu |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== 04. [??p] Debuging (aka. the fun part) ==== | + | ==== 04. Debuging (aka. the "fun" part) ==== |
If you faithfully followed the instructions up to this point, you'll be glad to know that you are precisely 3 bugs away from having a working Linux-based system. So, let's get started: | If you faithfully followed the instructions up to this point, you'll be glad to know that you are precisely 3 bugs away from having a working Linux-based system. So, let's get started: | ||
- | === [??] Task A - bootm decompression error === | + | === Bug A - bootm decompression error === |
After executing ''bootm'', you may notice some successful loads of the FDT and ramdisk, but the following error during the kernel loading process: | After executing ''bootm'', you may notice some successful loads of the FDT and ramdisk, but the following error during the kernel loading process: | ||
Line 18: | Line 18: | ||
</note> | </note> | ||
- | === [??] Task B - Kernel panic === | + | === Bug B - Kernel panic === |
Congratulations! The kernel is finally booting. I'm certain you're thankful for keeping that Makefile up to date, right? But what's this? | Congratulations! The kernel is finally booting. I'm certain you're thankful for keeping that Makefile up to date, right? But what's this? | ||
Line 61: | Line 61: | ||
<solution -hidden> | <solution -hidden> | ||
<code> | <code> | ||
- | u-boot=> setenv bootargs "console=ttymxc0,115200,115200 root=/dev/ram0 rw clkgrus" | + | u-boot=> setenv bootargs "console=ttymxc0,115200,115200 root=/dev/ram0 rw clk_ignore_unused" |
u-boot=> bootm 0x80000000 | u-boot=> bootm 0x80000000 | ||
</code> | </code> | ||
</solution> | </solution> | ||
- | === [??p] Task C - System freeze at login === | + | === Bug C - System freeze at login === |
Now that the kernel panic has been solved, the only remaining issue is a freeze right after forking into User Space. | Now that the kernel panic has been solved, the only remaining issue is a freeze right after forking into User Space. | ||
Line 79: | Line 79: | ||
Try to decompile the device tree that we include in the FIT image and that is passed to Linux. What is ''buck1''? \\ | Try to decompile the device tree that we include in the FIT image and that is passed to Linux. What is ''buck1''? \\ | ||
- | Make the necessary changes based on the following tips, then recompile the DTS into a DTB and regenerate the FIT image. The new Device Tree should solve your problem. | + | Apply the patch mentioned in the tips section below, then recompile the DTB and the FIT image. This should solve the problem. |
<note tip> | <note tip> | ||
- | This [[https://github.com/TechNexion/linux-tn-imx/commit/daa7ce9c0e92ec9c7f6cbb87e295ff449f1f8e41?fbclid=IwAR2W8zPNhAk2dSi0TH_3cOnwRRYnpsp_1pDTSIstB2OAjC3medV0GTV2G68|patch]] from the TechNexion fork of the Linux kernel contains the solution. \\ | + | This [[https://github.com/TechNexion/linux-tn-imx/commit/daa7ce9c0e92ec9c7f6cbb87e295ff449f1f8e41|patch]] from the TechNexion fork of the Linux kernel contains the solution. \\ |
Apparently, the power regulator shuts itself down after a while if a certain attribute is not specified in the FDT. \\ | Apparently, the power regulator shuts itself down after a while if a certain attribute is not specified in the FDT. \\ | ||
It's always the <del>butler</del> power regulator. | It's always the <del>butler</del> power regulator. | ||
</note> | </note> |