mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-07-28 05:36:32 +00:00
manual/user guide/customization: rework 'step-by-step instructions'
This patch reworks the section 'Step-by-step instructions for storing configuration' as follows: - rename into 'Quick guide to storing your project-specific customizations' and hence make it serve as a summary to the chapter - change the introduction to make this clear - update paths to line-up with section 'recommended directory structure' - recommend BR2_GLOBAL_PATCH_DIR, as is done in the section on adding patches. - mention how to add packages in a project-specific directory (to be expanded in another patch) - minor rewording - rename file into customize-quick-guide.txt Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
parent
6527f8a31d
commit
680641105d
64
docs/manual/customize-quick-guide.txt
Normal file
64
docs/manual/customize-quick-guide.txt
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
// -*- mode:doc; -*-
|
||||||
|
// vim: set syntax=asciidoc:
|
||||||
|
|
||||||
|
=== Quick guide to storing your project-specific customizations
|
||||||
|
|
||||||
|
Earlier in this chapter, the different methods for making
|
||||||
|
project-specific customizations have been described. This section will
|
||||||
|
now summarize all this by providing step-by-step instructions to storing your
|
||||||
|
project-specific customizations. Clearly, the steps that are not relevant to
|
||||||
|
your project can be skipped.
|
||||||
|
|
||||||
|
1. +make menuconfig+ to configure toolchain, packages and kernel.
|
||||||
|
1. +make linux-menuconfig+ to update the kernel config, similar for
|
||||||
|
other configuration like busybox, uclibc, ...
|
||||||
|
1. +mkdir -p board/<manufacturer>/<boardname>+
|
||||||
|
1. Set the following options to +board/<manufacturer>/<boardname>/<package>.config+
|
||||||
|
(as far as they are relevant):
|
||||||
|
* +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE+
|
||||||
|
* +BR2_PACKAGE_BUSYBOX_CONFIG+
|
||||||
|
* +BR2_UCLIBC_CONFIG+
|
||||||
|
* +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE+
|
||||||
|
* +BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE+
|
||||||
|
1. Write the configuration files:
|
||||||
|
* +make linux-update-defconfig+
|
||||||
|
* +make busybox-update-config+
|
||||||
|
* +make uclibc-update-config+
|
||||||
|
* +cp <output>/build/at91bootstrap3-*/.config
|
||||||
|
board/<manufacturer>/<boardname>/at91bootstrap3.config+
|
||||||
|
* +make barebox-update-defconfig+
|
||||||
|
1. Create +board/<manufacturer>/<boardname>/rootfs-overlay/+ and fill it
|
||||||
|
with additional files you need on your rootfs, e.g.
|
||||||
|
+board/<manufacturer>/<boardname>/rootfs-overlay/etc/inittab+.
|
||||||
|
Set +BR2_ROOTFS_OVERLAY+
|
||||||
|
to +board/<manufacturer>/<boardname>/rootfs-overlay+.
|
||||||
|
1. Create a post-build script
|
||||||
|
+board/<manufacturer>/<boardname>/post_build.sh+. Set
|
||||||
|
+BR2_ROOTFS_POST_BUILD_SCRIPT+ to
|
||||||
|
+board/<manufacturer>/<boardname>/post_build.sh+
|
||||||
|
1. If additional setuid permissions have to be set or device nodes have
|
||||||
|
to be created, create +board/<manufacturer>/<boardname>/device_table.txt+
|
||||||
|
and add that path to +BR2_ROOTFS_DEVICE_TABLE+.
|
||||||
|
1. If additional user accounts have to be created, create
|
||||||
|
+board/<manufacturer>/<boardname>/users_table.txt+ and add that path
|
||||||
|
to +BR2_ROOTFS_USERS_TABLES+.
|
||||||
|
1. To add custom patches to certain packages, set +BR2_GLOBAL_PATCH_DIR+
|
||||||
|
to +board/<manufacturer>/<boardname>/patches/+ and add your patches
|
||||||
|
for each package in a subdirectory named after the package. Each
|
||||||
|
patch should be called +<packagename>-<num>-<description>.patch+.
|
||||||
|
1. Specifically for the Linux kernel, there also exists the option
|
||||||
|
+BR2_LINUX_KERNEL_PATCH+ with as main advantage that it can also
|
||||||
|
download patches from a URL. If you do not need this,
|
||||||
|
+BR2_GLOBAL_PATCH_DIR+ is preferred. U-Boot, Barebox, at91bootstrap
|
||||||
|
and at91bootstrap3 also have separate options, but these do not
|
||||||
|
provide any advantage over +BR2_GLOBAL_PATCH_DIR+ and will likely be
|
||||||
|
removed in the future.
|
||||||
|
1. If you need to add project-specific packages, create
|
||||||
|
+package/<manufacturer>/+ and place your packages in that
|
||||||
|
directory. Create an overall +<manufacturer>.mk+ file that
|
||||||
|
includes the +.mk+ files of all your packages. Create an overall
|
||||||
|
+Config.in+ file that sources the +Config.in+ files of all your
|
||||||
|
packages. Include this +Config.in+ file from Buildroot's
|
||||||
|
+package/Config.in+ file.
|
||||||
|
1. +make savedefconfig+ to save the buildroot configuration.
|
||||||
|
1. +cp defconfig configs/<boardname>_defconfig+
|
@ -1,51 +0,0 @@
|
|||||||
// -*- mode:doc; -*-
|
|
||||||
// vim: set syntax=asciidoc:
|
|
||||||
|
|
||||||
=== Step-by-step instructions for storing configuration
|
|
||||||
|
|
||||||
To store the configuration for a specific product, device or
|
|
||||||
application, it is advisable to use the same conventions as for the
|
|
||||||
board support: put the buildroot defconfig in the +configs+ directory,
|
|
||||||
and any other files in a subdirectory of the +boards+ directory. This
|
|
||||||
section gives step-by-step instructions about how to do that. Of course,
|
|
||||||
you can skip the steps that are not relevant for your use case.
|
|
||||||
|
|
||||||
1. +make menuconfig+ to configure toolchain, packages and kernel.
|
|
||||||
1. +make linux-menuconfig+ to update the kernel config, similar for
|
|
||||||
other configuration.
|
|
||||||
1. +mkdir -p board/<manufacturer>/<boardname>+
|
|
||||||
1. Set the following options to +board/<manufacturer>/<boardname>/<package>.config+
|
|
||||||
(as far as they are relevant):
|
|
||||||
* +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE+
|
|
||||||
* +BR2_PACKAGE_BUSYBOX_CONFIG+
|
|
||||||
* +BR2_UCLIBC_CONFIG+
|
|
||||||
* +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE+
|
|
||||||
* +BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE+
|
|
||||||
1. Write the configuration files:
|
|
||||||
* +make linux-update-defconfig+
|
|
||||||
* +make busybox-update-config+
|
|
||||||
* +make uclibc-update-config+
|
|
||||||
* +cp <output>/build/at91bootstrap3-*/.config board/<manufacturer>/<boardname>/at91bootstrap3.config+
|
|
||||||
* +make barebox-update-defconfig+
|
|
||||||
1. Create +board/<manufacturer>/<boardname>/fs-overlay/+ and fill it
|
|
||||||
with additional files you need on your rootfs, e.g.
|
|
||||||
+board/<manufacturer>/<boardname>/fs-overlay/etc/inittab+.
|
|
||||||
Set +BR2_ROOTFS_OVERLAY+
|
|
||||||
to +board/<manufacturer>/<boardname>/fs-overlay+.
|
|
||||||
1. Create a post-build script
|
|
||||||
+board/<manufacturer>/<boardname>/post-build.sh+. Set
|
|
||||||
+BR2_ROOTFS_POST_BUILD_SCRIPT+ to
|
|
||||||
+board/<manufacturer>/<boardname>/post-build.sh+
|
|
||||||
1. If additional setuid permissions have to be set or device nodes have
|
|
||||||
to be created, create +board/<manufacturer>/<boardname>/device_table.txt+
|
|
||||||
and add that path to +BR2_ROOTFS_DEVICE_TABLE+.
|
|
||||||
1. +make savedefconfig+ to save the buildroot configuration.
|
|
||||||
1. +cp defconfig configs/<boardname>_defconfig+
|
|
||||||
1. To add patches to the linux build, set +BR2_LINUX_KERNEL_PATCH+ to
|
|
||||||
+board/<manufacturer>/<boardname>/patches/linux/+ and add your
|
|
||||||
patches in that directory. Each patch should be called
|
|
||||||
+linux-<num>-<description>.patch+. Similar for U-Boot, barebox,
|
|
||||||
at91bootstrap and at91bootstrap3.
|
|
||||||
1. If you need modifications to other packages, or if you need to add
|
|
||||||
packages, do that directly in the +packages/+ directory, following the
|
|
||||||
instructions in xref:adding-packages[].
|
|
@ -57,4 +57,4 @@ include::customize-patches.txt[]
|
|||||||
|
|
||||||
include::customize-packages.txt[]
|
include::customize-packages.txt[]
|
||||||
|
|
||||||
include::customize-store.txt[]
|
include::customize-quick-guide.txt[]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user