แแ แแแแงแแคแแแแแแจแ แแ แแฃแงแฃแ แแ แแแ แกแแแแแแแแชแแแก แแแแแแ แ แแแ แแแแขแก, แ แแแแแแช แแญแแ แแแแแแ. แแก แแ แแ แแก แกแ แฃแแ แกแแ, แ แแกแแช buildroot แแแแแแแแแแก, แแแแ แแ แแกแแแ แกแแแแแแ แคแฃแแฅแชแแแแแแฃแ แแ แแ แแ แกแแญแแ แแแแก แฉแแ แแแแก แแแแแ buildroot-แแก แคแแแแแแจแ.
แแแ แกแแแแแแแแชแแแกแแแแก EXTERNAL แแแฅแแแแแแแก แแแแแงแแแแแ
แแแแ แแ แแก แแแแแแ แแ แแ แแก แซแแแแแ แแแกแแฎแแ แฎแแแแแ, แแแแกแแแฃแแ แแแแ buildroot-แแก แแแแแฎแแแแแกแแก. แแ แแ แแแแแแแก แแแแแแ แแแแก แแแฅแแแแแแ แแ แกแแแแแก แแแ แ แฎแ. แแแกแ แแ แกแ แแแแจแ แแแแแแแ แแแแก, แ แแ แแฅแแแ แจแแแแซแแแแ แจแแแแแฎแแ แแแคแ, แแแแคแแแฃแ แแชแแแแ, แแแแแขแแแ แแ แกแฎแแ แแแ แแฅแขแแ แแแแ แชแแแแ แแแ แแฅแขแแ แแแจแ (แแแแแแแแแ, แแ แแแงแแแแ แแแขแฉแแแแก แแแ แแฅแขแแ แแแก แแแขแฉแแแแก แแแแแกแแงแแแแแแแ, แฃแคแ แ แแแขแแแฃแ แแ แชแแแแ แแแแงแแคแแแแแแจแ) แแ แแแแแ buildroot แแแแแแขแแแก แแแ แแแกแ แแแ แแฅแขแแ แแ.
แจแแแแจแแแ: แแฅแแแ แจแแแแซแแแแ แแแแแคแแ แแ แ แแแแแแแแ แแแ แ แฎแ แแ แแแ แแฃแแแ, แแ แแก แแแแแแแแ buildroot-แแก แกแแฎแแแแซแฆแแแแแแแจแ
แแแแแ แจแแแฅแแแแ แแแ แแฅแขแแ แแ my_tree, แ แแแแแแช แแแแแแ แแแแก buildroot แแแ แแฅแขแแ แแแก แแแแ แแแ แแ แแแแแแแขแแแแ แฉแแแแ แแแแคแแแฃแ แแชแแ แแฅ. แแแแแแแแแแ แฃแแแ แแงแแก แจแแแแแแ แคแแแแแก แกแขแ แฃแฅแขแฃแ แ:
[alexey@alexey-pc my_tree]$ tree
.
โโโ board
โ โโโ my_x86_board
โ โโโ bef_cr_fs_img.sh
โ โโโ linux.config
โ โโโ rootfs_overlay
โ โโโ users.txt
โโโ Config.in
โโโ configs
โ โโโ my_x86_board_defconfig
โโโ external.desc
โโโ external.mk
โโโ package
โโโ patches
6 directories, 7 files
แ แแแแ แช แฎแแแแแ, แแแแแแแ แกแขแ แฃแฅแขแฃแ แ แแแแแ แแแก buildroot-แแก แกแขแ แฃแฅแขแฃแ แแก.
แแแ แแฅแขแแ แแ แกแแแญแแก แจแแแชแแแก แฉแแแแก แจแแแแฎแแแแแจแ แแแแแแฃแแ แแแคแแก แกแแแชแแคแแแฃแ แคแแแแแแก:
- bef_cr_fs_img.sh แแ แแก แกแแ แแแขแ, แ แแแแแแช แจแแกแ แฃแแแแแ แกแแแแแแ แคแแแแฃแ แ แกแแกแขแแแแก แจแแฅแแแแก แจแแแแแ, แแแแ แแ แแแก แกแฃแ แแแแแจแ แจแแคแฃแแแแแแ. แฉแแแ แแแก แแแแแแแแจแ แแแแแแแงแแแแแ
- linux.config - แแแ แแแแก แแแแคแแแฃแ แแชแแ
- rootfs_overlay - แแแ แแฅแขแแ แแ, แ แแแแแแช แแแแแคแแ แแแก แกแแแแแแ แคแแแแฃแ แกแแกแขแแแแก
- users.txt - แคแแแแ, แ แแแแแแช แแฆแฌแแ แก แจแแกแแแฃแจแแแแแแ แแแแฎแแแ แแแแแแก
แแแ แแฅแขแแ แแ แแแแคแแแฃแ แแชแแแแ แจแแแชแแแก แฉแแแแ แแแคแแแแก แแแคแแแแคแแแฃแ แแชแแแก. แฉแแแ แแฎแแแแ แแ แแ แแแแฅแแก.
แแแแแขแ - แแแขแแแแแ แฉแแแแ แแแแแขแแแแ. แแแแแแแแ แแแแแ, buildroot แจแแแชแแแก แแฆแฌแแ แแแแแแแก แแ แฌแแกแแแก แจแแแฆแฃแแฃแแ แ แแแแแแแแแก แแแแแขแแแแก แจแแกแแฅแแแแแแ. แแแแแแแแแแแ แแฅ แแแแแแแขแแแ icewm window แแแแแฏแแ แก แแ Slim แแ แแคแแแฃแ แจแแกแแแแก แแแแแฏแแ แก.
แแแขแฉแแแ โ แกแแจแฃแแแแแแก แแแซแแแแ แแแฎแแ แฎแแแฃแแแ แจแแแแแฎแแ แแฅแแแแ แแแขแฉแแแ แกแฎแแแแแกแฎแแ แแแแแขแแแแกแแแแก. แแแแแขแแแแแ แแแขแแแแแ แฅแแแแแ แชแแแแแฃแ แแแแงแแคแแแแแแจแ.
แแฎแแ แฉแแแ แฃแแแ แแแแแแแขแแ แแฆแฌแแ แแแแแแก แคแแแแแแ แฉแแแแ แแแ แ แฎแแแกแแแแก. แแแแแ แแแกแฃแฎแแกแแแแแแแแ 3 แคแแแแ: external.desc, Config.in, external.mk.
แแแ แ.desc แจแแแชแแแก แ แแแแฃแ แแฆแฌแแ แแก:
[alexey@alexey-pc my_tree]$ cat external.desc
name: my_tree
desc: My simple external-tree for article
แแแ แแแแ แฎแแแ แแ แแก แกแแแแฃแ แ. แแแแแแแแจแ buildroot แจแแฅแแแแแ แชแแแแแ $(BR2_EXTERNAL_MY_TREE_PATH), แ แแแแแแช แฃแแแ แแฅแแแก แแแแแงแแแแแฃแแ แแกแแแแแแแก แแแแคแแแฃแ แแชแแแกแแก. แแแแแแแแแ, แแแแฎแแแ แแแแแก แคแแแแแก แแแ แจแแแซแแแแ แแแงแแแแแก แจแแแแแแแแแ แแ:
$(BR2_EXTERNAL_my_tree_PATH)/board/my_x86_board/users.txt
แแแแ แ แกแขแ แแฅแแแ แแ แแก แแแแแ, แแแแแแแแแกแแแแแก แฌแแกแแแแแฎแ แแฆแฌแแ แ.
Config.in, external.mk - แคแแแแแแ แแแแแขแแแฃแแ แแแแแขแแแแก แแฆแกแแฌแแ แแ. แแฃ แแ แแแแแแขแแแ แกแแแฃแแแ แแแแแขแแแก, แแแจแแ แแก แคแแแแแแ แจแแแซแแแแ แชแแ แแแแ แแแ แฉแแก. แแ แแ แแแกแแแแก แฉแแแ แแแแก แแแแแแแแแแ.
แแฎแแ แฉแแแ แแแแ แแแแฅแแก แฉแแแแ แแแ แ แฎแ, แ แแแแแแช แจแแแชแแแก แฉแแแแ แแแคแแก แแแคแแแแคแแแฃแ แแชแแแก แแ แแแก แกแแญแแ แ แคแแแแแแก. แแแแแ แแแแแแแแแ buildroot แแแ แแฅแขแแ แแแจแ แแ แแแแฃแแแแแ, แ แแ แแแแแแงแแแแ แแแ แ แฎแ:
[alexey@alexey-pc buildroot]$ make BR2_EXTERNAL=../my_tree/ my_x86_board_defconfig
#
# configuration written to /home/alexey/dev/article/ramdisk/buildroot/.config
#
[alexey@alexey-pc buildroot]$ make menuconfig
แแแ แแแ แแ แซแแแแแแจแ แแแงแแแแแ แแ แแฃแแแแขแก BR2_EXTERNAL=../my_tree/, แ แแแแแแช แแแฃแแแแแแก แแแ แ แฎแแก แแแแแงแแแแแแแ. แแฅแแแ แจแแแแซแแแแ แแแฃแแแแแ แ แแแแแแแแ แแแ แ แฎแ แแ แแแ แแฃแแแ แแแแแกแแงแแแแแแแ. แแ แจแแแแฎแแแแแจแ แแแแก แแแแแแแแ แแฎแแแแ แแ แแฎแแ แแญแแ แแแแแ, แ แแก แจแแแแแแแช แแฅแแแแแ แคแแแแแก output/.br-external.mk แแแแฎแแแก แแแคแแ แแแชแแแก แแแแแงแแแแแฃแแ แแแ แ แฎแแก แจแแกแแฎแแ:
[alexey@alexey-pc buildroot]$ cat output/.br-external.mk
#
# Automatically generated file; DO NOT EDIT.
#
BR2_EXTERNAL ?= /home/alexey/dev/article/ramdisk/my_small_linux/my_tree
BR2_EXTERNAL_NAMES =
BR2_EXTERNAL_DIRS =
BR2_EXTERNAL_MKS =
BR2_EXTERNAL_NAMES += my_tree
BR2_EXTERNAL_DIRS += /home/alexey/dev/article/ramdisk/my_small_linux/my_tree
BR2_EXTERNAL_MKS += /home/alexey/dev/article/ramdisk/my_small_linux/my_tree/external.mk
export BR2_EXTERNAL_my_tree_PATH = /home/alexey/dev/article/ramdisk/my_small_linux/my_tree
export BR2_EXTERNAL_my_tree_DESC = My simple external-tree for article
แฒแแแจแแแแแแแแแ! แแแแแแแแ แแ แคแแแแจแ แแฅแแแแ แแแกแแแฃแขแฃแ แ!
แแแแแฃแจแ แแแแแฉแแแ แแแ แ แแแ แแแแขแ แแแแก แแแแแแแขแ:
แแก แฅแแแแแแแฃ แจแแแชแแแก แฉแแแแก แแแแแขแแแก แฉแแแแ แแแ แ แฎแแแแ. แแก แแแแงแแคแแแแแ แแแแแแแ แชแแ แแแแแ.
แแฎแแ แฉแแแแแแแก แฃแคแ แ แแแแจแแแแแแแแแแ แแแแแแแฌแแ แแ แกแแญแแ แ แแแแแแแแ แแแ แ แฎแแก แแแแแกแแงแแแแแแแ.
แแแฎแแแ แแแแแแแแแกแฌแแแแ, แ แแ แแแแงแแคแแแแแแจแ Build options โ Location to save buildroot config, แแฅแแแแ แแแกแแแฃแขแฃแ แ แแแ แจแแแแฎแฃแแ defconfig-แแแ. แแแ แแฅแแแแแ extgernal_tree-แแก แแแแแงแแแแแแก แแแแแแแแแก แแแแแแขแจแ.
แฉแแแ แแกแแแ แแแแแกแฌแแ แแแ แแแแแแแแก แกแแกแขแแแแก แแแแคแแแฃแ แแชแแแก แแแแงแแคแแแแแแจแ. แจแแฅแแแแแ แแแแฎแแแ แแแแแแแก แชแฎแ แแแแกแแแแก:
$(BR2_EXTERNAL_my_tree_PATH)/board/my_x86_board/users.txt
แแแ แแแแก แแแแงแแคแแแแแแจแ แจแแชแแแแแ แแแ แแแ แแแแก แแแแคแแแฃแ แแชแแแกแแแ:
$(BR2_EXTERNAL_my_tree_PATH)/board/my_x86_board/linux.config
แแฎแแ แฉแแแแ แแแ แ แฎแแก แคแแแแแแ แแแแแงแแแแแฃแแ แแฅแแแแ แจแแแ แแแแก แแ แแก. แกแฎแแ แแแ แแฅแขแแ แแแจแ แแแแแกแแแแกแแก แแ buildroot-แแก แแแแแฎแแแแแกแแก, แฉแแแ แแแแฅแแแแ แแแแแแแแฃแ แ แแ แแแแแแแแ.
root fs แแแแแคแแ แแแก แแแแแขแแแ:
แแก แแแฅแแแแแแ แกแแจแฃแแแแแแก แแแซแแแแ แแแ แขแแแแ แแแแแแขแแ/แจแแชแแแแแ แคแแแแแแ แกแแแแแแ แคแแแแฃแ แกแแกแขแแแแจแ.
แแฃ แคแแแแ แแ แแก root fs แแแแแคแแ แแแจแ, แแแแ แแ แแ แ แกแแแแแแแจแ, แแแจแแ แแก แแแแแแขแแแ
แแฃ แคแแแแ แแ แแก root fs overlay-แจแ แแ target-แจแ, แแแจแแ แแก แจแแแชแแแแแ.
แแแ แแแแ, แแแแแ แแแแแงแแแแ แแแ root fs overlay dir. แแก แแแแแแแ แกแแกแขแแแแก แแแแคแแแฃแ แแชแแแก โ Root แคแแแแฃแ แ แกแแกแขแแแแก แแแแแคแแ แแแก แแแ แแฅแขแแ แแแแแก แแแแงแแคแแแแแแจแ:
$(BR2_EXTERNAL_my_tree_PATH)/board/my_x86_board/rootfs_overlay/
แแฎแแ แจแแแฅแแแแ แแ แ แคแแแแ.
[alexey@alexey-pc my_small_linux]$ cat my_tree/board/my_x86_board/rootfs_overlay/etc/hosts
127.0.0.1 localhost
127.0.1.1 my_small_linux
8.8.8.8 google-public-dns-a.google.com.
[alexey@alexey-pc my_small_linux]$ cat my_tree/board/my_x86_board/rootfs_overlay/new_file.txt
This is new file from overlay
แแแ แแแแ แคแแแแ (my_tree/board/my_x86_board/rootfs_overlay/etc/hosts) แฉแแแแแชแแแแแก /etc/hosts แคแแแแก แแแกแ แฃแแแแฃแ แกแแกแขแแแแจแ. แแแแแแขแแแ แแแแ แ แคแแแแ (cat my_tree/board/my_x86_board/rootfs_overlay/new_file.txt).
แฉแแแ แแแแ แแแแแ แแ แแแแแฌแแแแ:
แแแ แกแแแแแแแแชแแแก แกแแ แแแขแแแแก แจแแกแ แฃแแแแ แกแแกแขแแแแก แแฌแงแแแแก แกแฎแแแแแกแฎแแ แแขแแแแ
แฎแจแแ แแ แแฅแแแ แแญแแ แแแแแ แแแ แแแแฃแแ แกแแแฃแจแแแก แจแแกแ แฃแแแแ แกแแแแแแ แคแแแแฃแ แกแแกแขแแแแจแ, แกแแแแ แแก แจแแคแฃแแฃแแ แแฅแแแแ แกแฃแ แแแแแจแ.
แแก แจแแแซแแแแ แแแแแแแแก แกแแกแขแแแแก แแแแคแแแฃแ แแชแแแก แแแแงแแคแแแแแแจแ:
แแแ แแแแ แแ แ แกแแ แแแขแ แจแแกแ แฃแแแแฃแแแ แกแแแแแแ แคแแแแฃแ แ แกแแกแขแแแแก แแจแแแแแแก แจแแแแแ, แแแแ แแ แกแแแแ แแก แจแแแคแฃแแแแ แกแฃแ แแแแแจแ. แแแแกแฎแแแแแแ แแกแแ, แ แแ fakeroot แกแแ แแแขแ แจแแกแ แฃแแแแฃแแแ fakeroot-แแก แแแแขแแฅแกแขแจแ, แ แแแแแแช แกแแแฃแแแชแแแก แฃแแแแแแก Root แแแแฎแแแ แแแแแก แแฃแจแแแแแก.
แแแแ แกแแ แแแขแ แจแแกแ แฃแแแแฃแแแ แกแแกแขแแแแก แกแฃแ แแแแแแก แจแแฅแแแแก แจแแแแแ. แแฅแแแ แจแแแแซแแแแ แจแแแกแ แฃแแแ แแแกแจแ แแแแแขแแแแแ แแแฅแแแแแแแแ, แแแแแแแแแ, แแแแแแแแ แแ แกแแญแแ แ แคแแแแแแ NFS แกแแ แแแ แแ แแ แจแแฅแแแแแ แแฅแแแแ แแแฌแงแแแแแแแแก แแ แแแ แแแฃแแ แฃแแ แฃแแแแแงแแคแแก แกแฃแ แแแ.
แแแแแแแแแ, แแ แจแแแฅแแแ แกแแ แแแขแก, แ แแแแแแช แแแฌแแ แก แแแ แกแแแก แแ แจแแฅแแแแก แแแ แแฆแก /etc/.
แแแ แแแ แ แแแจแ แแ แแแแฃแแแแแ แแ แคแแแแแก แแแแก แฉแแแก แแแ แ แฎแแจแ:
แแฎแแ แแ แแแแแ แกแชแแแแ แ:
[alexey@alexey-pc buildroot]$ cat ../my_tree/board/my_x86_board/bef_cr_fs_img.sh
#!/bin/sh
echo "my small linux 1.0 pre alpha" > output/target/etc/mysmalllinux-release
date >> output/target/etc/mysmalllinux-release
แแกแแแแแแแก แจแแแแแ, แแฅแแแ แจแแแแซแแแแ แแแฎแแ แแก แคแแแแ แกแแกแขแแแแจแ.
แแ แแฅแขแแแแจแ, แกแชแแแแ แ แจแแแซแแแแ แแแฎแแแก แแแแ. แแแแขแแ, แ แแแแฃแ แแ แแแฅแขแจแ แแ แฃแคแ แ แแแฌแแแแแ แแแ แจแ แฃแขแ แแแแฆแ:
- แแ แจแแแฅแแแแ แแแ แแฅแขแแ แแ (my_tree/board_my_x86_board/inside_fakeroot_scripts), แ แแแแแจแแช แแ แแก แจแแกแแกแ แฃแแแแแแ แกแแ แแแขแแแ, แกแแ แแฃแแ แแแแ แแแแ. แแแแแแแแแ, 0001-add-my_small_linux-version.sh, 0002-clear-apache-root-dir.sh
- แแ แแแแฌแแ แ แกแแ แแแขแ (my_tree/board_my_x86_board/run_inside_fakeroot.sh), แ แแแแแแช แแแแแก แแ แแแ แแฅแขแแ แแแจแ แแ แแแแแแแแแแ แฃแแแ แแฎแแ แชแแแแแแก แแแกแจแ แจแแแแแแ แกแแ แแแขแแแก
- แแแแแแแแฃแแแ แแก แกแแ แแแขแ แแแคแแก แแแ แแแแขแ แแแจแ, แกแแกแขแแแแก แแแแคแแแฃแ แแชแแแจแ -> แแแ แแแแฃแแ แกแแ แแแขแแแ, แ แแแ แแแฃแจแแแก fakeroot แแแ แแแแจแ ($(BR2_EXTERNAL_my_tree_PATH)/board/my_x86_board/run_inside_fakeroot.sh) แแแแงแแคแแแแแแจแ
แฌแงแแ แ: www.habr.com