At run time, /run and /tmp get overmounted with a tmpfs, so anything that is there becomes inaccessible. Scripts in the fakeroot environment could call tools preparing the early environment, leaving traces in /run or /tmp. For example, mkusers might create home directories in /run: openssh sets the sshd home directory to /run/sshd, so mkusers creates it. But since a tmpfs is mounted over it, it doesn't exist at runtime, so the openssh service creates it at startup (and deletes it when the service is stopped). In addition, packages or rootfs overlay may leave things there as well. Those may actually pose a runtime problem because the created file or directory is missing - or it may not be a problem because the package creates the missing files/directories on startup. In this situation, it's better not to have them in the rootfs image (because they're not functional anyway), but it's good to leave them in TARGET_DIR to make it easier to debug the situation. Therefore, remove the contents of /run and /tmp in the fakeroot environment after ROOTFS_PRE_GEN_HOOKS, so they are still left in TARGET_DIR. Signed-off-by: Norbert Lange <nolange79@gmail.com> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> |
||
---|---|---|
arch | ||
board | ||
boot | ||
configs | ||
docs | ||
fs | ||
linux | ||
package | ||
support | ||
system | ||
toolchain | ||
utils | ||
.clang-format | ||
.defconfig | ||
.flake8 | ||
.gitignore | ||
.gitlab-ci.yml | ||
CHANGES | ||
Config.in | ||
Config.in.legacy | ||
COPYING | ||
DEVELOPERS | ||
Makefile | ||
Makefile.legacy | ||
README |
Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation. The documentation can be found in docs/manual. You can generate a text document with 'make manual-text' and read output/docs/manual/manual.text. Online documentation can be found at http://buildroot.org/docs.html To build and use the buildroot stuff, do the following: 1) run 'make menuconfig' 2) select the target architecture and the packages you wish to compile 3) run 'make' 4) wait while it compiles 5) find the kernel, bootloader, root filesystem, etc. in output/images You do not need to be root to build or run buildroot. Have fun! Buildroot comes with a basic configuration for a number of boards. Run 'make list-defconfigs' to view the list of provided configurations. Please feed suggestions, bug reports, insults, and bribes back to the buildroot mailing list: buildroot@buildroot.org You can also find us on #buildroot on OFTC IRC. If you would like to contribute patches, please read https://buildroot.org/manual.html#submitting-patches