![]() Started with buildroot since it looked like a relatively quick solution but quickly found out it was a bad move. In my case I had to get Linux running on a custom board using a MPC5200 MCU. If the hardware is sufficiently close to many other common systems, you might have to write a kernel module or two, but that's not so bad. ![]() For an easy life, go with some existing thing if you can. Building from scratch is a painful process (although I echo the sentiment not to use buildroot, but for a different reason - you're then getting all the aggro of bare metal DIY compiling but still don't know what's going on or how it works). Quote from: dunkemhigh on July 04, 2022, 02:23:21 pm You're between a rock and a hard place. But I echo nctnico's view that going that route is not something to take on unless you're a masochist with shares in a brewery. And, of course, all that source was in a local SCS so easily managed. But I'm glad I did because the result was a script that built everything from source on any almost any system with a compiler, and because I knew exactly what everything did and how it hung together. Anyway, to compound things I also used Windows as the development environment, so had to build the build tools (cross-compiler and all the little utils a build needs) from scratch as well before then building the kernel and OS utils from scratch. Buildroot may be a useful tool for some, but it's completely dominated the scenery to the extent that nothing else can exist and the lower level knowledge is leaking away. If there's a problem, you don't know what's going on so it's hard to fix (or even find what the real issue is), and any search for that problem typically results in all the answers saying "use buildroot to fix that". I'm sure there are people that like to tinker with this and spend their entire life wasted on this, but I'm super glad I don't have to do anything with embedded linux. One black box calling another, that compiles something for you from some other folder, that outputs some code somewhere that gets called from somewhere, maybe. Then we run out of RAM, because we only had 64MB as per design requirement, so I had to refactor the entire code to use less concurrent python interpreters. This library required an update to another library that broke our application, that was relying on the old one. ![]() ![]() Some features needed to be added to the board, so one of the libraries have to be included. ![]() So the solution - of course- was taking weeks to do, some random binary values have to be changed in some random file before compiling. It didn't work out of the box, of course, because my schematic differed just slightly from the eval board, because it was powered by 5V and not 3.8V. The image compiling was downloading a hundred different packages from dozens of servers, configuration was done by some GUI that was reminiscent of DOS times. Please let me know if further details are required.Had a board wit Yocto a few years back. It contains: if test -n "$ rdinit=/bin/kinit rw single\0" \Ĭan anyone please let me know how can I achieve this? Do I need to create a config fragment to the u-boot recipe or do I need to add patch file? Or is there a better way to implement? To make this work I need to edit CONFIG_EXTRA_ENV_SETTINGS statement in the u-boot sources.īut I am not sure how to find the location of this file to be modified.Īfter spending some time to know about boot process to bring up the board I got to know that it uses boot.cmd file. For example I want to set bootlimit variable to 4 and if limit is reached, u-boot should run the altbootcmd instead of usual bootcmd. Now I want to modify some U-boot variables like bootcount and bootlimit. I am using STM32MP1 based Avenger96 boiard with Yocto Project and U-boot bootloader. I am new to U-boot and trying to modify some configuration in the U-boot. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |