How to get a buildroot project under source control

前端 未结 3 632
春和景丽
春和景丽 2021-02-14 19:53

The company I work for develops a product that requires embedded Linux for which we use, as many other, Buildroot.

In any case, I would like to get the project under sou

3条回答
  •  感动是毒
    2021-02-14 20:40

    I've recently tackled the same problem in our organisation, and I find this an interesting topic. I'll describe our partial solution here:

    Manage which buildroot version you use

    EDIT: Recent experience has emphasized this point for me.

    Buildroot writes a different config files for each version of Buildroot. To be able to share these you need to specify to everyone involved which version of Buildroot your repository uses.

    1. You could include Buildroot as a git submodule in your repo. Ok, if your company only has one Buildroot project.
    2. Specify in the README file which version to use, or write a custom check for it.

    Building out-of-tree

    I strongly recommend to build out of tree: http://buildroot.org/downloads/manual/manual.html#_building_out_of_tree

    $ cd ~/platform/proj-arm; make O=$PWD -C path/to/buildroot
    

    Add configuration files and target overlay to git

    Add the .config file and sub-configuration files to the git repository. My repo contains the following:

    .config
    README.md
    linux.config
    build/busybox-1.22.1/.config
    libdc1394.patch
    opencv_2.3.1a.patch
    target-overlay/README~
    target-overlay/etc/dropbear/dropbear_ecdsa_host_key
    target-overlay/etc/dropbear/dropbear_rsa_host_key
    target-overlay/etc/fstab
    target-overlay/etc/httpd.conf
    target-overlay/etc/init.d/S51mount_html
    target-overlay/etc/init.d/S52new_ip_address
    target-overlay/etc/init.d/S53httpd
    target-overlay/etc/network/interfaces
    target-overlay/etc/shadow
    target-overlay/etc/sshd_config
    target-overlay/lib/firmware/rtl_nic/rtl8168g-2.fw
    target-overlay/root/.ssh/authorized_keys
    

    Save your changes to buildroot as patches

    Whenever you change stuff in the buildroot repository, branch out for that feature, and create a patch for it. Keep the patch in your repository, and use the README.md file to explain to others how to apply it to the buildroot tree.

提交回复
热议问题