how to add binary file to buildroot generated image? - buildroot

How can i include a pre-built binary file into buildroot generated image?
I have tried to include the binary file into appropriate folder in build_dir but every time i try to do make the image is being created without the file.

You can use a root filesystem overlay.
See chapter Project-specific customization in the Buildroot manual.

Just in case someone is looking for a easy fix you can add the files to buildroot-dir/files folder. The file should match the exact directory structure. For example you want to put the file in /usr/bin in the image then keep the file in buildroot-dir/files/usr/bin and rebuild the image.

Related

Replace sshd_config file with the custom one in Yocto

I use Yocto Zeus to build an embedded Linux for my board. So far I need to replace the /etc/ssh/sshd_config with my custom one.
Unfortunately I couldn't find any useful information about that. Just found some help on the Internet.
I've created a custom layer and add an recipe as following:
sources
mylayer
mylayer-recipes
recipes-connectivity
openssh
openssh_%.bbappend
openssh
sshd_config
openssh_%.bbappend
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
SRC_URI += "file://sshd_config"
after this I've try to rebuild the image
bitbake core-image-minimal
But nothing happens. No error and no change of the sshd_config file in the image.
What I do wrong? Actually I only want to replace the system /etc/ssh/sshd_config with the custom one, nothing else.
Ok, I've finally solved the issue. It's turned out that I haven't follow the full path to the *.bb but only the top level although the doc says "...This implies that you must have the supporting directory structure set up that will contain any files or patches you will be including from the layer." in the 5.1.5. Using .bbappend Files section. So the final folders structure looks like this:
sources
mylayer
mylayer-recipes
openssh
openssh_%.bbappend
openssh
sshd_config <----- the file that replaces the original one
poky
recipes-connectivity
openssh
openssh_8.0p1.bb
openssh
sshd_config <----- the original file
....
i.e. I just added folder openssh to mylayer-recipes folder and now that works as expected

Yocto add an overlay directory tree

To keep all the files organized, I created on the dev machine an "overlay" directory structure that contains the files I want to substitute in the target rootfs. For example:
etc/
apache2/
httpd.conf
conf.d/
php.conf
My goal is to copy the whole "overlay" tree into the generated rootfs before the image is generated.
Is it possible to do in Yocto?
I did some searches but I found a lot of resources that talk about how to overlay a device tree, but it's not what I'm looking for. Perhaps in the Yocto jargon it's called otherwise.

How to specify path in .config file relative path to folder?

I have folder "NuGetPackages". I need to access only the folder on my computer is OK but on server is different folder structure where the project is store
what i use on my computer absolute path:
C:\workspace\HUD\02_Development\04_Tools\NuGetServer\NuGetPackages
What should I write in the config file to make sure the path is ..\NuGetPackages expanded relative to the config file rather the working?
directory?
I can't change the app I can only change the config file.
I have also try "~/NuGetPackages" but didn't work.
In short, you can't do exactly what you're trying to do.
If you can't change any of the code, your only real option is to use config transforms. You can have your *.Debug.config use your local path, and then your *.Release.config (or whatever your published build configuration is), and use the server's path.
Here are some docs on doing config transforms: https://msdn.microsoft.com/en-us/library/dd465326(v=vs.110).aspx

How to include recipe for another image in Yocto

I would like to include the following recipe in a non quemu image through a bbappend file. How do I override the
SRC_URI_append_quemuall?
https://github.com/ExorEmbedded/yocto-poky/blob/exorint/meta/recipes-connectivity/connman/connman-conf.bb
Thanks in advance!
Well if you really want those two config files in your image, for a non-qemu machine, the best would be to add a bbappend in your own layer, and just copy the two SRC_URI lines there. And while copying, remove _append_qemuall.
Though, it's quite likely that you also should supply your own versions of those configuration files in that layer.
copy your recipe name and open vi meta-yogurt/recipes-images/your-image-name
add recipename recipename-dev
if you have .so , .a libs for rootfs then addd " recipename-staticdev " also

How to move a file in to zip uncompressed, with zip cmd tool

I'm try to determine how to use the zip cmd line tool to move a file (uncompressed) in to a zip of compressed files (ie I want a zip in the end with all files but one compressed, b/c the one file is another compressed file).
Anyone know how to do this?
It looks like you could use -n option to just store the files with defined extensions together with -g option to append the file to archive.
I didn't test it, but something like this should do the trick:
zip -gn .foo archive.zip myAddedFile.foo
Although documentation states that, by default, zip does not compress files with extensions in the list .Z:.zip:.zoo:.arc:.lzh:.arj, so if you are adding a file with one of those extensions you should be fine.
Documentation to the command is here
-m is what I wanted, moves the file(s) into a zip.