Blame view

buildroot/buildroot-2016.08.1/docs/manual/customize-quick-guide.txt 3.3 KB
6b13f685e   김민수   BSP 최초 추가
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
  // -*- 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+
     * +BR2_TARGET_UBOOT_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+
     * +make uboot-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+