mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 23:42:43 +00:00
4d8b42d8a7
Adjusting dts will cause a rebuild of whole kernel as the buildroot considers this a part of kernel source. It's a royal PITA when trying to prepare support for new device, since this takes a lot of time on slower systems. As it stands, buildroot itself, with own rule, also compiles dtbs and the results are $(KDIR)/image-$(DEVICE_DTS).dtb. With setting DEVICE_DTS_DIR to directory holding the device dts (similarly to some other targets), buildroot doesn't consider changed dts as part of kernel source and rebuilds only dtb. This really speeds up development. And since the kernel built dts are no longer used, drop the paches adding dtses to its build. Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com> Reviewed-by: Robert Marko <robimarko@gmail.com>
37 lines
1.2 KiB
Makefile
37 lines
1.2 KiB
Makefile
define Build/cros-gpt
|
|
cp $@ $@.tmp 2>/dev/null || true
|
|
ptgen -o $@.tmp -g \
|
|
-T cros_kernel -N kernel -p $(CONFIG_TARGET_KERNEL_PARTSIZE)m \
|
|
-N rootfs -p $(CONFIG_TARGET_ROOTFS_PARTSIZE)m
|
|
cat $@.tmp >> $@
|
|
rm $@.tmp
|
|
endef
|
|
|
|
define Build/append-kernel-part
|
|
dd if=$(IMAGE_KERNEL) bs=$(CONFIG_TARGET_KERNEL_PARTSIZE)M conv=sync >> $@
|
|
endef
|
|
|
|
# NB: Chrome OS bootloaders replace the '%U' in command lines with the UUID of
|
|
# the kernel partition it chooses to boot from. This gives a flexible way to
|
|
# consistently build and sign kernels that always use the subsequent
|
|
# (PARTNROFF=1) partition as their rootfs.
|
|
define Build/cros-vboot
|
|
$(STAGING_DIR_HOST)/bin/cros-vbutil \
|
|
-k $@ -c "root=PARTUUID=%U/PARTNROFF=1" -o $@.new
|
|
@mv $@.new $@
|
|
endef
|
|
|
|
define Device/google_wifi
|
|
DEVICE_VENDOR := Google
|
|
DEVICE_MODEL := WiFi (Gale)
|
|
SOC := qcom-ipq4019
|
|
KERNEL_SUFFIX := -fit-zImage.itb.vboot
|
|
KERNEL = kernel-bin | fit none $$(KDIR)/image-$$(DEVICE_DTS).dtb | cros-vboot
|
|
KERNEL_NAME := zImage
|
|
IMAGES += factory.bin
|
|
IMAGE/factory.bin := cros-gpt | append-kernel-part | append-rootfs
|
|
DEVICE_PACKAGES := partx-utils mkf2fs e2fsprogs \
|
|
kmod-fs-ext4 kmod-fs-f2fs kmod-google-firmware
|
|
endef
|
|
TARGET_DEVICES += google_wifi
|