文章目录
- 36. make -f ./scripts/Makefile.build obj=dts
- 37. make -f ./scripts/Makefile.build obj=env
- 38. make -f ./scripts/Makefile.build obj=fs
- 39. make -f ./scripts/Makefile.build obj=lib
- 40. make -f ./scripts/Makefile.build obj=net
- 41. make -f ./scripts/Makefile.build obj=examples
- 42. make -f ./scripts/Makefile.build obj=scripts
- 43. make -f ./scripts/Makefile.build obj=scripts/basic
- 44. make -f ./scripts/Makefile.build obj=.
36. make -f ./scripts/Makefile.build obj=dts
471 make -f ./scripts/Makefile.build obj=dts 472 make -f ./scripts/Makefile.build obj=arch/arm/dts dtbs 473 mkdir -p arch/arm/dts/ ; (cat arch/arm/dts/bcm2835-rpi-a.dts; echo '#include "bcm283x-u-boot.dtsi"') > arch/arm/dts/.bcm2835-rpi-a.dtb.pre.tmp; /home/xd/rpi3b/toolchain/toolchain-rpi32b/bin/arm-linux-gnueabihf-gcc -E -Wp,-MD,arch/arm/dts/.bcm2835-rpi-a.dtb.d.pre.tmp -nostdinc -I./arch/arm/dts -I./arch/arm/dts/include -Iinclude -I./include -I./arch/arm/include -include ./include/linux/kconfig.h -D__ASSEMBLY__ -undef -D__DTS__ -x assembler-with-cpp -o arch/arm/dts/.bcm2835-rpi-a.dtb.dts.tmp arch/arm/dts/.bcm2835-rpi-a.dtb.pre.tmp ; ./scripts/dtc/dtc -O dtb -o arch/arm/dts/bcm2835-rpi-a.dtb -b 0 -i arch/arm/dts/ -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num -@ -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num -@ -d arch/arm/dts/.bcm2835-rpi-a.dtb.d.dtc.tmp arch/arm/dts/.bcm2835-rpi-a.dtb.dts.tmp || (echo "Check /home/xd/rpi3b/uboot/uboot202107-vscode/arch/arm/dts/.bcm2835-rpi-a.dtb.pre.tmp for errors" && false) ; sed "s:arch/arm/dts/.bcm2835-rpi-a.dtb.pre.tmp:arch/arm/dts/bcm2835-rpi-a.dts:" arch/arm/dts/.bcm2835-rpi-a.dtb.d.pre.tmp arch/arm/dts/.bcm2835-rpi-a.dtb.d.dtc.tmp > arch/arm/dts/.bcm2835-rpi-a.dtb.d 474 mkdir -p arch/arm/dts/ ; (cat arch/arm/dts/bcm2835-rpi-a-plus.dts; echo '#include "bcm283x-u-boot.dtsi"') > arch/arm/dts/.bcm2835-rpi-a-plus.dtb.pre.tmp; /home/xd/rpi3b/toolchain/toolchain-rpi32b/bin/arm-linux-gnueabihf-gcc -E -Wp,-MD,arch/arm/dts/.bcm2835-rpi-a-plus.dtb.d.pre.tmp -nostdinc -I./arch/arm/dts -I./arch/arm/dts/include -Iinclude -I./include -I./arch/arm/include -include ./include/linux/kconfig.h -D__ASSEMBLY__ -undef -D__DTS__ -x assembler-with-cpp -o arch/arm/dts/.bcm2835-rpi-a-plus.dtb.dts.tmp arch/arm/dts/.bcm2835-rpi-a-plus.dtb.pre.tmp ; ./scripts/dtc/dtc -O dtb -o arch/arm/dts/bcm2835-rpi-a-plus.dtb -b 0 -i arch/arm/dts/ -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num -@ -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num -@ -d arch/arm/dts/.bcm2835-rpi-a-plus.dtb.d.dtc.tmp arch/arm/dts/.bcm2835-rpi-a-plus.dtb.dts.tmp || (echo "Check /home/xd/rpi3b/uboot/uboot202107-vscode/arch/arm/dts/.bcm2835-rpi-a-plus.dtb.pre.tmp for errors" && false) ; sed "s:arch/arm/dts/.bcm2835-rpi-a-plus.dtb.pre.tmp:arch/arm/dts/bcm2835-rpi-a-plus.dts:" arch/arm/dts/.bcm2835-rpi-a-plus.dtb.d.pre.tmp arch/arm/dts/.bcm2835-rpi-a-plus.dtb.d.dtc.tmp > arch/arm/dts/.bcm2835-rpi-a-plus.dtb.d 475 mkdir -p arch/arm/dts/ ; (cat arch/arm/dts/bcm2835-rpi-b.dts; echo '#include "bcm283x-u-boot.dtsi"') > arch/arm/dts/.bcm2835-rpi-b.dtb.pre.tmp; /home/xd/rpi3b/toolchain/toolchain-rpi32b/bin/arm-linux-gnueabihf-gcc -E -Wp,-MD,arch/arm/dts/.bcm2835-rpi-b.dtb.d.pre.tmp -nostdinc -I./arch/arm/dts -I./arch/arm/dts/include -Iinclude -I./include -I./arch/arm/include -include ./include/linux/kconfig.h -D__ASSEMBLY__ -undef -D__DTS__ -x assembler-with-cpp -o arch/arm/dts/.bcm2835-rpi-b.dtb.dts.tmp arch/arm/dts/.bcm2835-rpi-b.dtb.pre.tmp ; ./scripts/dtc/dtc -O dtb -o arch/arm/dts/bcm2835-rpi-b.dtb -b 0 -i arch/arm/dts/ -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num -@ -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num -@ -d arch/arm/dts/.bcm2835-rpi-b.dtb.d.dtc.tmp arch/arm/dts/.bcm2835-rpi-b.dtb.dts.tmp || (echo "Check /home/xd/rpi3b/uboot/uboot202107-vscode/arch/arm/dts/.bcm2835-rpi-b.dtb.pre.tmp for errors" && false) ; sed "s:arch/arm/dts/.bcm2835-rpi-b.dtb.pre.tmp:arch/arm/dts/bcm2835-rpi-b.dts:" arch/arm/dts/.bcm2835-rpi-b.dtb.d.pre.tmp arch/arm/dts/.bcm2835-rpi-b.dtb.d.dtc.tmp > arch/arm/dts/.bcm2835-rpi-b.dtb.d 476 mkdir -p arch/arm/dts/ ; (cat arch/arm/dts/bcm2835-rpi-b-plus.dts; echo '#include "bcm283x-u-boot.dtsi"') > arch/arm/dts/.bcm2835-rpi-b-plus.dtb.pre.tmp; /home/xd/rpi3b/toolchain/toolchain-rpi32b/bin/arm-linux-gnueabihf-gcc -E -Wp,-MD,arch/arm/dts/.bcm2835-rpi-b-plus.dtb.d.pre.tmp -nostdinc -I./arch/arm/dts -I./arch/arm/dts/include -Iinclude -I./include -I./arch/arm/include -include ./include/linux/kconfig.h -D__ASSEMBLY__ -undef -D__DTS__ -x assembler-with-cpp -o arch/arm/dts/.bcm2835-rpi-b-plus.dtb.dts.tmp arch/arm/dts/.bcm2835-rpi-b-plus.dtb.pre.tmp ; ./scripts/dtc/dtc -O dtb -o arch/arm/dts/bcm2835-rpi-b-plus.dtb -b 0 -i arch/arm/dts/ -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num -@ -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num -@ -d arch/arm/dts/.bcm2835-rpi-b-plus.dtb.d.dtc.tmp arch/arm/dts/.bcm2835-rpi-b-plus.dtb.dts.tmp || (echo "Check /home/xd/rpi3b/uboot/uboot202107-vscode/arch/arm/dts/.bcm2835-rpi-b-plus.dtb.pre.tmp for errors" && false) ; sed "s:arch/arm/dts/.bcm2835-rpi-b-plus.dtb.pre.tmp:arch/arm/dts/bcm2835-rpi-b-plus.dts:" arch/arm/dts/.bcm2835-rpi-b-plus.dtb.d.pre.tmp arch/arm/dts/.bcm2835-rpi-b-plus.dtb.d.dtc.tmp > arch/arm/dts/.bcm2835-rpi-b-plus.dtb.d 477 mkdir -p arch/arm/dts/ ; (cat arch/arm/dts/bcm2835-rpi-b-rev2.dts; echo '#include "bcm283x-u-boot.dtsi"') > arch/arm/dts/.bcm2835-rpi-b-rev2.dtb.pre.tmp; /home/xd/rpi3b/toolchain/toolchain-rpi32b/bin/arm-linux-gnueabihf-gcc -E -Wp,-MD,arch/arm/dts/.bcm2835-rpi-b-rev2.dtb.d.pre.tmp -nostdinc -I./arch/arm/dts -I./arch/arm/dts/include -Iinclude -I./include -I./arch/arm/include -include ./include/linux/kconfig.h -D__ASSEMBLY__ -undef -D__DTS__ -x assembler-with-cpp -o arch/arm/dts/.bcm2835-rpi-b-rev2.dtb.dts.tmp arch/arm/dts/.bcm2835-rpi-b-rev2.dtb.pre.tmp ; ./scripts/dtc/dtc -O dtb -o arch/arm/dts/bcm2835-rpi-b-rev2.dtb -b 0 -i arch/arm/dts/ -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num -@ -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num -@ -d arch/arm/dts/.bcm2835-rpi-b-rev2.dtb.d.dtc.tmp arch/arm/dts/.bcm2835-rpi-b-rev2.dtb.dts.tmp || (echo "Check /home/xd/rpi3b/uboot/uboot202107-vscode/arch/arm/dts/.bcm2835-rpi-b-rev2.dtb.pre.tmp for errors" && false) ; sed "s:arch/arm/dts/.bcm2835-rpi-b-rev2.dtb.pre.tmp:arch/arm/dts/bcm2835-rpi-b-rev2.dts:" arch/arm/dts/.bcm2835-rpi-b-rev2.dtb.d.pre.tmp arch/arm/dts/.bcm2835-rpi-b-rev2.dtb.d.dtc.tmp > arch/arm/dts/.bcm2835-rpi-b-rev2.dtb.d 478 mkdir -p arch/arm/dts/ ; (cat arch/arm/dts/bcm2835-rpi-cm1-io1.dts; echo '#include "bcm283x-u-boot.dtsi"') > arch/arm/dts/.bcm2835-rpi-cm1-io1.dtb.pre.tmp; /home/xd/rpi3b/toolchain/toolchain-rpi32b/bin/arm-linux-gnueabihf-gcc -E -Wp,-MD,arch/arm/dts/.bcm2835-rpi-cm1-io1.dtb.d.pre.tmp -nostdinc -I./arch/arm/dts -I./arch/arm/dts/include -Iinclude -I./include -I./arch/arm/include -include ./include/linux/kconfig.h -D__ASSEMBLY__ -undef -D__DTS__ -x assembler-with-cpp -o arch/arm/dts/.bcm2835-rpi-cm1-io1.dtb.dts.tmp arch/arm/dts/.bcm2835-rpi-cm1-io1.dtb.pre.tmp ; ./scripts/dtc/dtc -O dtb -o arch/arm/dts/bcm2835-rpi-cm1-io1.dtb -b 0 -i arch/arm/dts/ -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num -@ -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num -@ -d arch/arm/dts/.bcm2835-rpi-cm1-io1.dtb.d.dtc.tmp arch/arm/dts/.bcm2835-rpi-cm1-io1.dtb.dts.tmp || (echo "Check /home/xd/rpi3b/uboot/uboot202107-vscode/arch/arm/dts/.bcm2835-rpi-cm1-io1.dtb.pre.tmp for errors" && false) ; sed "s:arch/arm/dts/.bcm2835-rpi-cm1-io1.dtb.pre.tmp:arch/arm/dts/bcm2835-rpi-cm1-io1.dts:" arch/arm/dts/.bcm2835-rpi-cm1-io1.dtb.d.pre.tmp arch/arm/dts/.bcm2835-rpi-cm1-io1.dtb.d.dtc.tmp > arch/arm/dts/.bcm2835-rpi-cm1-io1.dtb.d 479 mkdir -p arch/arm/dts/ ; (cat arch/arm/dts/bcm2835-rpi-zero.dts; echo '#include "bcm283x-u-boot.dtsi"') > arch/arm/dts/.bcm2835-rpi-zero.dtb.pre.tmp; /home/xd/rpi3b/toolchain/toolchain-rpi32b/bin/arm-linux-gnueabihf-gcc -E -Wp,-MD,arch/arm/dts/.bcm2835-rpi-zero.dtb.d.pre.tmp -nostdinc -I./arch/arm/dts -I./arch/arm/dts/include -Iinclude -I./include -I./arch/arm/include -include ./include/linux/kconfig.h -D__ASSEMBLY__ -undef -D__DTS__ -x assembler-with-cpp -o arch/arm/dts/.bcm2835-rpi-zero.dtb.dts.tmp arch/arm/dts/.bcm2835-rpi-zero.dtb.pre.tmp ; ./scripts/dtc/dtc -O dtb -o arch/arm/dts/bcm2835-rpi-zero.dtb -b 0 -i arch/arm/dts/ -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num -@ -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num -@ -d arch/arm/dts/.bcm2835-rpi-zero.dtb.d.dtc.tmp arch/arm/dts/.bcm2835-rpi-zero.dtb.dts.tmp || (echo "Check /home/xd/rpi3b/uboot/uboot202107-vscode/arch/arm/dts/.bcm2835-rpi-zero.dtb.pre.tmp for errors" && false) ; sed "s:arch/arm/dts/.bcm2835-rpi-zero.dtb.pre.tmp:arch/arm/dts/bcm2835-rpi-zero.dts:" arch/arm/dts/.bcm2835-rpi-zero.dtb.d.pre.tmp arch/arm/dts/.bcm2835-rpi-zero.dtb.d.dtc.tmp > arch/arm/dts/.bcm2835-rpi-zero.dtb.d 480 mkdir -p arch/arm/dts/ ; (cat arch/arm/dts/bcm2835-rpi-zero-w.dts; echo '#include "bcm283x-u-boot.dtsi"') > arch/arm/dts/.bcm2835-rpi-zero-w.dtb.pre.tmp; /home/xd/rpi3b/toolchain/toolchain-rpi32b/bin/arm-linux-gnueabihf-gcc -E -Wp,-MD,arch/arm/dts/.bcm2835-rpi-zero-w.dtb.d.pre.tmp -nostdinc -I./arch/arm/dts -I./arch/arm/dts/include -Iinclude -I./include -I./arch/arm/include -include ./include/linux/kconfig.h -D__ASSEMBLY__ -undef -D__DTS__ -x assembler-with-cpp -o arch/arm/dts/.bcm2835-rpi-zero-w.dtb.dts.tmp arch/arm/dts/.bcm2835-rpi-zero-w.dtb.pre.tmp ; ./scripts/dtc/dtc -O dtb -o arch/arm/dts/bcm2835-rpi-zero-w.dtb -b 0 -i arch/arm/dts/ -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num -@ -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num -@ -d arch/arm/dts/.bcm2835-rpi-zero-w.dtb.d.dtc.tmp arch/arm/dts/.bcm2835-rpi-zero-w.dtb.dts.tmp || (echo "Check /home/xd/rpi3b/uboot/uboot202107-vscode/arch/arm/dts/.bcm2835-rpi-zero-w.dtb.pre.tmp for errors" && false) ; sed "s:arch/arm/dts/.bcm2835-rpi-zero-w.dtb.pre.tmp:arch/arm/dts/bcm2835-rpi-zero-w.dts:" arch/arm/dts/.bcm2835-rpi-zero-w.dtb.d.pre.tmp arch/arm/dts/.bcm2835-rpi-zero-w.dtb.d.dtc.tmp > arch/arm/dts/.bcm2835-rpi-zero-w.dtb.d 481 mkdir -p arch/arm/dts/ ; (cat arch/arm/dts/bcm2836-rpi-2-b.dts; echo '#include "bcm283x-u-boot.dtsi"') > arch/arm/dts/.bcm2836-rpi-2-b.dtb.pre.tmp; /home/xd/rpi3b/toolchain/toolchain-rpi32b/bin/arm-linux-gnueabihf-gcc -E -Wp,-MD,arch/arm/dts/.bcm2836-rpi-2-b.dtb.d.pre.tmp -nostdinc -I./arch/arm/dts -I./arch/arm/dts/include -Iinclude -I./include -I./arch/arm/include -include ./include/linux/kconfig.h -D__ASSEMBLY__ -undef -D__DTS__ -x assembler-with-cpp -o arch/arm/dts/.bcm2836-rpi-2-b.dtb.dts.tmp arch/arm/dts/.bcm2836-rpi-2-b.dtb.pre.tmp ; ./scripts/dtc/dtc -O dtb -o arch/arm/dts/bcm2836-rpi-2-b.dtb -b 0 -i arch/arm/dts/ -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num -@ -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num -@ -d arch/arm/dts/.bcm2836-rpi-2-b.dtb.d.dtc.tmp arch/arm/dts/.bcm2836-rpi-2-b.dtb.dts.tmp || (echo "Check /home/xd/rpi3b/uboot/uboot202107-vscode/arch/arm/dts/.bcm2836-rpi-2-b.dtb.pre.tmp for errors" && false) ; sed "s:arch/arm/dts/.bcm2836-rpi-2-b.dtb.pre.tmp:arch/arm/dts/bcm2836-rpi-2-b.dts:" arch/arm/dts/.bcm2836-rpi-2-b.dtb.d.pre.tmp arch/arm/dts/.bcm2836-rpi-2-b.dtb.d.dtc.tmp > arch/arm/dts/.bcm2836-rpi-2-b.dtb.d 482 mkdir -p arch/arm/dts/ ; (cat arch/arm/dts/bcm2837-rpi-3-a-plus.dts; echo '#include "bcm283x-u-boot.dtsi"') > arch/arm/dts/.bcm2837-rpi-3-a-plus.dtb.pre.tmp; /home/xd/rpi3b/toolchain/toolchain-rpi32b/bin/arm-linux-gnueabihf-gcc -E -Wp,-MD,arch/arm/dts/.bcm2837-rpi-3-a-plus.dtb.d.pre.tmp -nostdinc -I./arch/arm/dts -I./arch/arm/dts/include -Iinclude -I./include -I./arch/arm/include -include ./include/linux/kconfig.h -D__ASSEMBLY__ -undef -D__DTS__ -x assembler-with-cpp -o arch/arm/dts/.bcm2837-rpi-3-a-plus.dtb.dts.tmp arch/arm/dts/.bcm2837-rpi-3-a-plus.dtb.pre.tmp ; ./scripts/dtc/dtc -O dtb -o arch/arm/dts/bcm2837-rpi-3-a-plus.dtb -b 0 -i arch/arm/dts/ -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num -@ -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num -@ -d arch/arm/dts/.bcm2837-rpi-3-a-plus.dtb.d.dtc.tmp arch/arm/dts/.bcm2837-rpi-3-a-plus.dtb.dts.tmp || (echo "Check /home/xd/rpi3b/uboot/uboot202107-vscode/arch/arm/dts/.bcm2837-rpi-3-a-plus.dtb.pre.tmp for errors" && false) ; sed "s:arch/arm/dts/.bcm2837-rpi-3-a-plus.dtb.pre.tmp:arch/arm/dts/bcm2837-rpi-3-a-plus.dts:" arch/arm/dts/.bcm2837-rpi-3-a-plus.dtb.d.pre.tmp arch/arm/dts/.bcm2837-rpi-3-a-plus.dtb.d.dtc.tmp > arch/arm/dts/.bcm2837-rpi-3-a-plus.dtb.d 483 mkdir -p arch/arm/dts/ ; (cat arch/arm/dts/bcm2837-rpi-3-b.dts; echo '#include "bcm283x-u-boot.dtsi"') > arch/arm/dts/.bcm2837-rpi-3-b.dtb.pre.tmp; /home/xd/rpi3b/toolchain/toolchain-rpi32b/bin/arm-linux-gnueabihf-gcc -E -Wp,-MD,arch/arm/dts/.bcm2837-rpi-3-b.dtb.d.pre.tmp -nostdinc -I./arch/arm/dts -I./arch/arm/dts/include -Iinclude -I./include -I./arch/arm/include -include ./include/linux/kconfig.h -D__ASSEMBLY__ -undef -D__DTS__ -x assembler-with-cpp -o arch/arm/dts/.bcm2837-rpi-3-b.dtb.dts.tmp arch/arm/dts/.bcm2837-rpi-3-b.dtb.pre.tmp ; ./scripts/dtc/dtc -O dtb -o arch/arm/dts/bcm2837-rpi-3-b.dtb -b 0 -i arch/arm/dts/ -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num -@ -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num -@ -d arch/arm/dts/.bcm2837-rpi-3-b.dtb.d.dtc.tmp arch/arm/dts/.bcm2837-rpi-3-b.dtb.dts.tmp || (echo "Check /home/xd/rpi3b/uboot/uboot202107-vscode/arch/arm/dts/.bcm2837-rpi-3-b.dtb.pre.tmp for errors" && false) ; sed "s:arch/arm/dts/.bcm2837-rpi-3-b.dtb.pre.tmp:arch/arm/dts/bcm2837-rpi-3-b.dts:" arch/arm/dts/.bcm2837-rpi-3-b.dtb.d.pre.tmp arch/arm/dts/.bcm2837-rpi-3-b.dtb.d.dtc.tmp > arch/arm/dts/.bcm2837-rpi-3-b.dtb.d 484 mkdir -p arch/arm/dts/ ; (cat arch/arm/dts/bcm2837-rpi-3-b-plus.dts; echo '#include "bcm283x-u-boot.dtsi"') > arch/arm/dts/.bcm2837-rpi-3-b-plus.dtb.pre.tmp; /home/xd/rpi3b/toolchain/toolchain-rpi32b/bin/arm-linux-gnueabihf-gcc -E -Wp,-MD,arch/arm/dts/.bcm2837-rpi-3-b-plus.dtb.d.pre.tmp -nostdinc -I./arch/arm/dts -I./arch/arm/dts/include -Iinclude -I./include -I./arch/arm/include -include ./include/linux/kconfig.h -D__ASSEMBLY__ -undef -D__DTS__ -x assembler-with-cpp -o arch/arm/dts/.bcm2837-rpi-3-b-plus.dtb.dts.tmp arch/arm/dts/.bcm2837-rpi-3-b-plus.dtb.pre.tmp ; ./scripts/dtc/dtc -O dtb -o arch/arm/dts/bcm2837-rpi-3-b-plus.dtb -b 0 -i arch/arm/dts/ -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num -@ -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num -@ -d arch/arm/dts/.bcm2837-rpi-3-b-plus.dtb.d.dtc.tmp arch/arm/dts/.bcm2837-rpi-3-b-plus.dtb.dts.tmp || (echo "Check /home/xd/rpi3b/uboot/uboot202107-vscode/arch/arm/dts/.bcm2837-rpi-3-b-plus.dtb.pre.tmp for errors" && false) ; sed "s:arch/arm/dts/.bcm2837-rpi-3-b-plus.dtb.pre.tmp:arch/arm/dts/bcm2837-rpi-3-b-plus.dts:" arch/arm/dts/.bcm2837-rpi-3-b-plus.dtb.d.pre.tmp arch/arm/dts/.bcm2837-rpi-3-b-plus.dtb.d.dtc.tmp > arch/arm/dts/.bcm2837-rpi-3-b-plus.dtb.d 485 mkdir -p arch/arm/dts/ ; (cat arch/arm/dts/bcm2837-rpi-cm3-io3.dts; echo '#include "bcm283x-u-boot.dtsi"') > arch/arm/dts/.bcm2837-rpi-cm3-io3.dtb.pre.tmp; /home/xd/rpi3b/toolchain/toolchain-rpi32b/bin/arm-linux-gnueabihf-gcc -E -Wp,-MD,arch/arm/dts/.bcm2837-rpi-cm3-io3.dtb.d.pre.tmp -nostdinc -I./arch/arm/dts -I./arch/arm/dts/include -Iinclude -I./include -I./arch/arm/include -include ./include/linux/kconfig.h -D__ASSEMBLY__ -undef -D__DTS__ -x assembler-with-cpp -o arch/arm/dts/.bcm2837-rpi-cm3-io3.dtb.dts.tmp arch/arm/dts/.bcm2837-rpi-cm3-io3.dtb.pre.tmp ; ./scripts/dtc/dtc -O dtb -o arch/arm/dts/bcm2837-rpi-cm3-io3.dtb -b 0 -i arch/arm/dts/ -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num -@ -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address -Wno-simple_bus_reg -Wno-pci_device_reg -Wno-pci_bridge -Wno-pci_device_bus_num -@ -d arch/arm/dts/.bcm2837-rpi-cm3-io3.dtb.d.dtc.tmp arch/arm/dts/.bcm2837-rpi-cm3-io3.dtb.dts.tmp || (echo "Check /home/xd/rpi3b/uboot/uboot202107-vscode/arch/arm/dts/.bcm2837-rpi-cm3-io3.dtb.pre.tmp for errors" && false) ; sed "s:arch/arm/dts/.bcm2837-rpi-cm3-io3.dtb.pre.tmp:arch/arm/dts/bcm2837-rpi-cm3-io3.dts:" arch/arm/dts/.bcm2837-rpi-cm3-io3.dtb.d.pre.tmp arch/arm/dts/.bcm2837-rpi-cm3-io3.dtb.d.dtc.tmp > arch/arm/dts/.bcm2837-rpi-cm3-io3.dtb.d 486 test -e arch/arm/dts/bcm2837-rpi-3-b.dtb || ( \ 487 echo >&2; \ 488 echo >&2 "Device Tree Source (arch/arm/dts/bcm2837-rpi-3-b.dtb) is not correctly specified."; \ 489 echo >&2 "Please define 'CONFIG_DEFAULT_DEVICE_TREE'"; \ 490 echo >&2 "or build with 'DEVICE_TREE=<device_tree>' argument"; \ 491 echo >&2; \ 492 /bin/false) 493 cat arch/arm/dts/bcm2837-rpi-3-b.dtb > dts/dt.dtb 494 ( echo '.section .dtb.init.rodata,"a"'; echo '.balign 16'; echo '.global __dtb_dt_begin'; echo '__dtb_dt_begin:'; echo '.incbin "dts/dt.dtb" '; echo '__dtb_dt_end:'; echo '.global __dtb_dt_end'; echo '.balign 16'; ) > dts/dt.dtb.S 495 /home/xd/rpi3b/toolchain/toolchain-rpi32b/bin/arm-linux-gnueabihf-gcc -Wp,-MD,dts/.dt.dtb.o.d -nostdinc -isystem /home/xd/rpi3b/toolchain/toolchain-rpi32b/bin/../lib/gcc/arm-linux-gnueabihf/7.5.0/include -Iinclude -I./arch/arm/include -include ./include/linux/kconfig.h -D__KERNEL__ -D__UBOOT__ -D__ASSEMBLY__ -fno-PIE -g -D__ARM__ -marm -mno-thumb-interwork -mabi=aapcs-linux -mword-relocations -fno-pic -mno-unaligned-access -ffunction-sections -fdata-sections -fno-common -ffixed-r9 -msoft-float -pipe -march=armv7-a -D__LINUX_ARM_ARCH__=7 -mtune=generic-armv7-a -I./arch/arm/mach-bcm283x/include -c -o dts/dt.dtb.o dts/dt.dtb.S 496 rm -f dts/built-in.o; /home/xd/rpi3b/toolchain/toolchain-rpi32b/bin/arm-linux-gnueabihf-ar cDPrsT dts/built-in.o dts/dt.dtb.o
编译过程
创建文件
命令:
make -f ./scripts/Makefile.build obj=dts
- 经过《36.1 dts/Makefile 文件分析》分析可知:
# dts/Makefile targets += dt.dtb DEVICE_TREE = bcm2837-rpi-3-b DTB = arch/arm/dts/bcm2837-rpi-3-b.dtb 27 $(obj)/dt.dtb: $(DTB) FORCE 28 $(call if_changed,shipped) 30 33 $(DTB): arch-dtbs 34 $(Q)test -e $@ || ( \ 35 echo >&2; \ 36 echo >&2 "Device Tree Source ($@) is not correctly specified."; \ 37 echo >&2 "Please define 'CONFIG_DEFAULT_DEVICE_TREE'"; \ 38 echo >&2 "or build with 'DEVICE_TREE=<device_tree>' argument"; \ 39 echo >&2; \ 40 /bin/false) 41 43 arch-dtbs: 44 $(Q)$(MAKE) $(build)=arch/$(ARCH)/dts dtbs 45 52 obj-y := dt.dtb.o 54 56 dtbs: $(obj)/dt.dtb 57 @:
- 经过《36.2 创建 $(builtin-target)》 和步骤1的分析可知,依赖
$(builtin-target)
最终创建规则如下:# scripts/Makefile.build # 输入命令:make -f ./scripts/Makefile.build obj=dts builtin-target := $(obj)/built-in.o 300 $(obj)/%.o: $(src)/%.S FORCE 301 $(call if_changed_dep,as_o_S) ...... 336 cmd_link_o_target = $(if $(strip $(obj-y)),\ 337 rm -f $@; $(AR) cDPrsT $@ $(filter $(obj-y), $^), \ 338 rm -f $@; $(AR) cDPrsT$(KBUILD_ARFLAGS) $@) 339 340 $(builtin-target) : $(obj)/dt.dtb.o FORCE 341 $(call if_changed,link_o_target)
- 在《1.1 引用文件》引用的
scripts/Makefile.lib
中有如下创建规则:# scripts/Makefile.lib # make -f ./scripts/Makefile.build obj=dts 311 $(obj)/%.dtb.S: $(obj)/%.dtb 312 $(call cmd,dt_S_dtb) 331 $(obj)/%.dtb: $(src)/%.dts FORCE 332 $(call if_changed_dep,dtc)
由上可知,并且在
scripts/Makefile.build
中,300行的 $(src)=$(obj) ,最终创建规则如下所示:# 输入命令:make -f ./scripts/Makefile.build obj=dts # scripts/Makefile.build builtin-target := $(obj)/built-in.o 300 $(obj)/%.o: $(src)/%.S FORCE 301 $(call if_changed_dep,as_o_S) ...... 336 cmd_link_o_target = $(if $(strip $(obj-y)),\ 337 rm -f $@; $(AR) cDPrsT $@ $(filter $(obj-y), $^), \ 338 rm -f $@; $(AR) cDPrsT$(KBUILD_ARFLAGS) $@) 339 340 $(builtin-target) : $(obj)/dt.dtb.o FORCE 341 $(call if_changed,link_o_target) # scripts/Makefile.lib 311 $(obj)/%.dtb.S: $(obj)/%.dtb 312 $(call cmd,dt_S_dtb) 331 $(obj)/%.dtb: $(obj)/%.dts FORCE 332 $(call if_changed_dep,dtc) # dts/Makefile targets += dt.dtb DEVICE_TREE = bcm2837-rpi-3-b DTB = arch/arm/dts/bcm2837-rpi-3-b.dtb 27 $(obj)/dt.dtb: $(DTB) FORCE 28 $(call if_changed,shipped) 30 33 $(DTB): arch-dtbs 34 $(Q)test -e $@ || ( \ 35 echo >&2; \ 36 echo >&2 "Device Tree Source ($@) is not correctly specified."; \ 37 echo >&2 "Please define 'CONFIG_DEFAULT_DEVICE_TREE'"; \ 38 echo >&2 "or build with 'DEVICE_TREE=<device_tree>' argument"; \ 39 echo >&2; \ 40 /bin/false) 41 43 arch-dtbs: 44 $(Q)$(MAKE) $(build)=arch/$(ARCH)/dts dtbs 45 52 obj-y := dt.dtb.o 54 56 dtbs: $(obj)/dt.dtb 57 @:
由上可知,目标的依赖关系如下图所示:
执行目标
$(builtin-target)
,见下面《36.7 执行目标 $(builtin-target)》
- 创建
$(obj)/dt.dtb.o
, 见下面《36.6 创建 $(obj)/dt.dtb.o》
1.1 创建$(obj)/dt.dtb.S
, 见下面《36.5 创建 $(obj)/dt.dtb.S》
1.1.1 创建$(obj)/dt.dtb
, 见下面《36.4 创建 $(obj)/dt.dtb》
1.1.1.1 创建$(DTB)
, 见下面《36.3 创建 $(DTB)》
创建arch-dtbs
, 见下面《36.2 创建 arch-dtbs》
1.1.1.2 创建 FORCE,什么都不做
1.1.2 创建 FORCE,什么都不做
1.2 创建 FORCE,什么都不做- 创建 FORCE,什么都不做
36.1 dts/Makefile 文件分析
dts/Makefile
文件内容如下:# dts/Makefile 1 # SPDX-License-Identifier: GPL-2.0+ 2 # 3 # Copyright (c) 2011 The Chromium OS Authors. 4 5 # This Makefile builds the internal U-Boot fdt if CONFIG_OF_CONTROL is 6 # enabled. See doc/README.fdt-control for more details. 7 8 DEVICE_TREE ?= $(CONFIG_DEFAULT_DEVICE_TREE:"%"=%) 9 ifeq ($(DEVICE_TREE),) 10 DEVICE_TREE := unset 11 endif 12 13 ifneq ($(EXT_DTB),) 14 DTB := $(EXT_DTB) 15 else 16 DTB := arch/$(ARCH)/dts/$(DEVICE_TREE).dtb 17 endif 18 19 $(obj)/dt-$(SPL_NAME).dtb: dts/dt.dtb $(objtree)/tools/fdtgrep FORCE 20 mkdir -p $(dir $@) 21 $(call if_changed,fdtgrep) 22 23 ifeq ($(CONFIG_OF_DTB_PROPS_REMOVE),y) 24 $(obj)/dt.dtb: $(DTB) $(objtree)/tools/fdtgrep FORCE 25 $(call if_changed,fdt_rm_props) 26 else 27 $(obj)/dt.dtb: $(DTB) FORCE 28 $(call if_changed,shipped) 29 endif 30 31 targets += dt.dtb 32 33 $(DTB): arch-dtbs 34 $(Q)test -e $@ || ( \ 35 echo >&2; \ 36 echo >&2 "Device Tree Source ($@) is not correctly specified."; \ 37 echo >&2 "Please define 'CONFIG_DEFAULT_DEVICE_TREE'"; \ 38 echo >&2 "or build with 'DEVICE_TREE=<device_tree>' argument"; \ 39 echo >&2; \ 40 /bin/false) 41 42 PHONY += arch-dtbs 43 arch-dtbs: 44 $(Q)$(MAKE) $(build)=arch/$(ARCH)/dts dtbs 45 46 ifeq ($(CONFIG_SPL_BUILD),y) 47 obj-$(CONFIG_OF_EMBED) := dt-spl.dtb.o 48 # support "out-of-tree" build for dtb-spl 49 $(obj)/dt-spl.dtb.o: $(obj)/dt-spl.dtb.S FORCE 50 $(call if_changed_dep,as_o_S) 51 else 52 obj-$(CONFIG_OF_EMBED) := dt.dtb.o 53 endif 54 55 # Target for U-Boot proper 56 dtbs: $(obj)/dt.dtb 57 @: 58 59 # Target for SPL/TPL 60 spl_dtbs: $(obj)/dt-$(SPL_NAME).dtb 61 @: 62 63 clean-files := dt.dtb.S 64 65 # Let clean descend into dts directories 66 subdir- += ../arch/arm/dts ../arch/microblaze/dts ../arch/mips/dts ../arch/sandbox/dts ../arch/x86/dts ../arch/powerpc/dts ../arch/riscv/dts 67
- 8-11行:在《1.2 用规则新建 -include 声明的文件》的
include/config/auto.conf
中CONFIG_DEFAULT_DEVICE_TREE="bcm2837-rpi-3-b"
,所以: DEVICE_TREE = bcm2837-rpi-3-b- 13-17行:
$(EXT_DTB)
未定义为空,所以: DTB = arch/arm/dts/bcm2837-rpi-3-b.dtb- 19-21行:由于
SPL_NAME = spl
,dt-$(SPL_NAME).dtb
不存在,所以这里不执行- 23-29行:
CONFIG_TPL_BUILD
未定义为空- 46-53行:
CONFIG_SPL_BUILD
未定义为空- 52行:在
include/config/auto.conf
中CONFIG_OF_EMBED=y
- 60-61行:这里一般都不会执行
由上可知,展开后为:# dts/Makefile targets += dt.dtb DEVICE_TREE = bcm2837-rpi-3-b DTB = arch/arm/dts/bcm2837-rpi-3-b.dtb 27 $(obj)/dt.dtb: $(DTB) FORCE 28 $(call if_changed,shipped) 30 33 $(DTB): arch-dtbs 34 $(Q)test -e $@ || ( \ 35 echo >&2; \ 36 echo >&2 "Device Tree Source ($@) is not correctly specified."; \ 37 echo >&2 "Please define 'CONFIG_DEFAULT_DEVICE_TREE'"; \ 38 echo >&2 "or build with 'DEVICE_TREE=<device_tree>' argument"; \ 39 echo >&2; \ 40 /bin/false) 41 43 arch-dtbs: 44