blob: 99fbaee250a6eb03d83f01068868aa789702e20b [file] [log] [blame]
Stewart Smithb2bcc832015-08-20 13:38:33 +10001################################################################################
2#
3# petitboot
4#
5################################################################################
6
Samuel Mendoza-Jonas168a3e92018-11-16 15:07:22 +11007PETITBOOT_VERSION = 1.9.2
Samuel Mendoza-Jonas63304372018-05-30 10:59:57 +10008PETITBOOT_SOURCE = petitboot-$(PETITBOOT_VERSION).tar.gz
9PETITBOOT_SITE ?= https://github.com/open-power/petitboot/releases/download/v$(PETITBOOT_VERSION)
Stewart Smith9c66bc52015-09-11 18:36:22 +100010PETITBOOT_DEPENDENCIES = ncurses udev host-bison host-flex lvm2
Stewart Smithb2bcc832015-08-20 13:38:33 +100011PETITBOOT_LICENSE = GPLv2
12PETITBOOT_LICENSE_FILES = COPYING
13
Stewart Smithb2bcc832015-08-20 13:38:33 +100014PETITBOOT_CONF_OPTS += --with-ncurses --without-twin-x11 --without-twin-fbdev \
15 --localstatedir=/var \
16 HOST_PROG_KEXEC=/usr/sbin/kexec \
17 HOST_PROG_SHUTDOWN=/usr/libexec/petitboot/bb-kexec-reboot \
Samuel Mendoza-Jonas8a291172016-12-09 11:39:23 +110018 $(if $(BR2_PACKAGE_BUSYBOX),--with-tftp=busybox --enable-busybox)
Stewart Smithb2bcc832015-08-20 13:38:33 +100019
20ifdef PETITBOOT_DEBUG
21PETITBOOT_CONF_OPTS += --enable-debug
22endif
23
Sam Mendoza-Jonasaf7c2712016-02-10 10:27:25 +110024ifeq ($(BR2_PACKAGE_PETITBOOT_MTD),y)
25PETITBOOT_CONF_OPTS += --enable-mtd
26PETITBOOT_DEPENDENCIES += libflash
27PETITBOOT_CPPFLAGS += -I$(STAGING_DIR)
28PETITBOOT_LDFLAGS += -L$(STAGING_DIR)
29endif
30
Stewart Smithb2bcc832015-08-20 13:38:33 +100031ifeq ($(BR2_PACKAGE_NCURSES_WCHAR),y)
32PETITBOOT_CONF_OPTS += --with-ncursesw MENU_LIB=-lmenuw FORM_LIB=-lformw
33endif
34
Stewart Smithb2bcc832015-08-20 13:38:33 +100035define PETITBOOT_POST_INSTALL
36 $(INSTALL) -D -m 0755 $(@D)/utils/bb-kexec-reboot \
37 $(TARGET_DIR)/usr/libexec/petitboot
38 $(INSTALL) -d -m 0755 $(TARGET_DIR)/etc/petitboot/boot.d
39 $(INSTALL) -D -m 0755 $(@D)/utils/hooks/01-create-default-dtb \
40 $(TARGET_DIR)/etc/petitboot/boot.d/
Jeremy Kerr1e45f7e2015-11-02 16:24:45 +080041 $(INSTALL) -D -m 0755 $(@D)/utils/hooks/90-sort-dtb \
42 $(TARGET_DIR)/etc/petitboot/boot.d/
Stewart Smithb2bcc832015-08-20 13:38:33 +100043
Joel Stanley5ab5fdb2016-10-31 23:10:24 +103044 $(INSTALL) -D -m 0755 $(BR2_EXTERNAL_OP_BUILD_PATH)/package/petitboot/S14silence-console \
Stewart Smithb2bcc832015-08-20 13:38:33 +100045 $(TARGET_DIR)/etc/init.d/
Joel Stanley5ab5fdb2016-10-31 23:10:24 +103046 $(INSTALL) -D -m 0755 $(BR2_EXTERNAL_OP_BUILD_PATH)/package/petitboot/S15pb-discover \
Stewart Smithb2bcc832015-08-20 13:38:33 +100047 $(TARGET_DIR)/etc/init.d/
Joel Stanley5ab5fdb2016-10-31 23:10:24 +103048 $(INSTALL) -D -m 0755 $(BR2_EXTERNAL_OP_BUILD_PATH)/package/petitboot/kexec-restart \
Stewart Smithb2bcc832015-08-20 13:38:33 +100049 $(TARGET_DIR)/usr/sbin/
Joel Stanley5ab5fdb2016-10-31 23:10:24 +103050 $(INSTALL) -D -m 0755 $(BR2_EXTERNAL_OP_BUILD_PATH)/package/petitboot/petitboot-console-ui.rules \
Stewart Smithb2bcc832015-08-20 13:38:33 +100051 $(TARGET_DIR)/etc/udev/rules.d/
Joel Stanley5ab5fdb2016-10-31 23:10:24 +103052 $(INSTALL) -D -m 0755 $(BR2_EXTERNAL_OP_BUILD_PATH)/package/petitboot/removable-event-poll.rules \
Stewart Smithb2bcc832015-08-20 13:38:33 +100053 $(TARGET_DIR)/etc/udev/rules.d/
Joel Stanley5ab5fdb2016-10-31 23:10:24 +103054 $(INSTALL) -D -m 0755 $(BR2_EXTERNAL_OP_BUILD_PATH)/package/petitboot/63-md-raid-arrays.rules \
Samuel Mendoza-Jonasc775f292015-09-14 13:10:27 +100055 $(TARGET_DIR)/etc/udev/rules.d/
Joel Stanley5ab5fdb2016-10-31 23:10:24 +103056 $(INSTALL) -D -m 0755 $(BR2_EXTERNAL_OP_BUILD_PATH)/package/petitboot/65-md-incremental.rules \
Samuel Mendoza-Jonasc775f292015-09-14 13:10:27 +100057 $(TARGET_DIR)/etc/udev/rules.d/
Mamatha Inamdar3d3220e2017-05-31 15:53:07 +053058 $(INSTALL) -D -m 0755 $(BR2_EXTERNAL)/package/petitboot/66-add-sg-module.rules \
59 $(TARGET_DIR)/etc/udev/rules.d/
Stewart Smithb2bcc832015-08-20 13:38:33 +100060
61 ln -sf /usr/sbin/pb-udhcpc \
62 $(TARGET_DIR)/usr/share/udhcpc/default.script.d/
Jeremy Kerrd7af67c2015-09-24 15:02:03 +100063
Samuel Mendoza-Jonas0cd25592016-04-20 11:14:40 +100064 mkdir -p $(TARGET_DIR)/var/log/petitboot
65
Jeremy Kerr51ba5722015-09-30 13:31:23 +080066 $(MAKE) -C $(@D)/po DESTDIR=$(TARGET_DIR) install
Stewart Smithb2bcc832015-08-20 13:38:33 +100067endef
68
Arthur Heymansac84eb02016-10-18 17:43:08 +020069define PETITBOOT_POST_INSTALL_DTB
70 $(INSTALL) -D -m 0755 $(@D)/utils/hooks/30-dtb-updates \
71 $(TARGET_DIR)/etc/petitboot/boot.d/
72endef
73
Stewart Smithb2bcc832015-08-20 13:38:33 +100074PETITBOOT_POST_INSTALL_TARGET_HOOKS += PETITBOOT_POST_INSTALL
75
Arthur Heymansac84eb02016-10-18 17:43:08 +020076ifeq ($(BR2_PACKAGE_DTC),y)
77 PETITBOOT_POST_INSTALL_TARGET_HOOKS += PETITBOOT_POST_INSTALL_DTB
78endif
79
Stewart Smithb2bcc832015-08-20 13:38:33 +100080$(eval $(autotools-package))