f8b977d9de
Update the petitboot package to the latest version in the petitboot git repo. Add new build config options to allow selection of which of the petitboot user interface program to run at system boot. git-svn-id: svn://svn.openwrt.org/openwrt/packages@16762 3c298f89-4303-0410-b956-a3cf2f4a3e73
112 lines
3.4 KiB
Makefile
112 lines
3.4 KiB
Makefile
#
|
|
# Copyright (C) 2006 OpenWrt.org
|
|
#
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
# See /LICENSE for more information.
|
|
#
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=petitboot
|
|
PKG_VERSION:=53aa807ae41e48fd71653c2d00083a44a8bca14c
|
|
PKG_RELEASE:=1
|
|
|
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
|
PKG_SOURCE_URL:=git://ozlabs.org/home/jk/git/petitboot
|
|
PKG_SOURCE_PROTO:=git
|
|
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
|
PKG_SOURCE_VERSION:=$(PKG_VERSION)
|
|
|
|
PKG_INSTALL=1
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
|
|
define Package/petitboot
|
|
SECTION:=boot
|
|
CATEGORY:=Boot Loaders
|
|
TITLE:=A kexec based bootloader
|
|
URL:=http://ozlabs.org/~jk/projects/petitboot/
|
|
MAINTAINER:=Geoff Levand <geoffrey.levand@am.sony.com>
|
|
DEPENDS:=+kexec-tools +libncurses +libtwin +udev +ps3-utils
|
|
endef
|
|
|
|
define Package/petitboot/description
|
|
Petitboot is a Linux kexec based bootloader with both
|
|
graphical and command-line user interfaces. The OpenWRT
|
|
Petitboot package has configuration options that can be
|
|
used to specify which Petitboot components to build, and
|
|
can also be used to specify that Petitboot should be run
|
|
automatically at system start-up.
|
|
|
|
Petitboot supports loading Linux kernel and initrd images
|
|
from any device that can be mounted by Linux. It can
|
|
handle gzipped images and can also load images from the
|
|
network using TFTP, NFS, HTTP, HTTPS, and SFTP. Petitboot
|
|
looks for bootloader config files on mountable devices in
|
|
the system, and also uses the boot configuration sent to
|
|
it from a DHCP server.
|
|
endef
|
|
|
|
define Package/petitboot/config
|
|
source "$(SOURCE)/petitboot-config.in"
|
|
endef
|
|
|
|
petitboot-config-args-y$(CONFIG_PETITBOOT_CUI) += --without-ncurses
|
|
petitboot-config-args-y$(CONFIG_PETITBOOT_GUI) += --without-twin
|
|
petitboot-config-args-y$(CONFIG_PETITBOOT_PS3) += --enable-ps3=no
|
|
|
|
petitboot-cppflags-$(CONFIG_PETITBOOT_DEBUG) += -DDEBUG
|
|
petitboot-cppflags-y$(CONFIG_PETITBOOT_DEBUG) += -DNDEBUG
|
|
|
|
petitboot-extra-bin-$(CONFIG_PETITBOOT_CUI) += /usr/sbin/pb-cui
|
|
petitboot-extra-bin-$(CONFIG_PETITBOOT_GUI) += /usr/sbin/pb-twin
|
|
petitboot-extra-data-$(CONFIG_PETITBOOT_GUI) += /usr/share/petitboot/artwork/*
|
|
|
|
# The platform inittab and/or initrun should check for /usr/sbin/petitboot
|
|
# and run it on startup if found.
|
|
|
|
petitboot-install-autorun-$(CONFIG_PETITBOOT_AUTORUN_CUI) = \
|
|
ln -sf pb-cui $(1)/usr/sbin/petitboot
|
|
petitboot-install-autorun-$(CONFIG_PETITBOOT_AUTORUN_GUI) = \
|
|
ln -sf pb-twin $(1)/usr/sbin/petitboot
|
|
|
|
CONFIGURE_ARGS += $(petitboot-config-args-y)
|
|
|
|
EXTRA_CPPFLAGS += $(petitboot-cppflags-y)
|
|
|
|
define Build/Prepare
|
|
$(call Build/Prepare/Default)
|
|
(cd $(PKG_BUILD_DIR) && $(BASH) -x ./bootstrap)
|
|
endef
|
|
|
|
define Package/petitboot/install
|
|
$(INSTALL_DIR) $(1)/usr/sbin
|
|
$(INSTALL_BIN) \
|
|
$(addprefix $(PKG_INSTALL_DIR),$(petitboot-extra-bin-y)) \
|
|
$(PKG_INSTALL_DIR)/usr/sbin/pb-discover \
|
|
$(PKG_INSTALL_DIR)/usr/sbin/pb-event \
|
|
$(1)/usr/sbin/
|
|
|
|
$(INSTALL_DIR) $(1)/usr/share/petitboot/
|
|
$(INSTALL_DATA) \
|
|
$(addprefix $(PKG_INSTALL_DIR),$(petitboot-extra-data-y)) \
|
|
$(1)/usr/share/petitboot/
|
|
|
|
$(INSTALL_DIR) $(1)/etc/udev/rules.d
|
|
$(INSTALL_DATA) \
|
|
$(PKG_BUILD_DIR)/utils/99-petitboot.rules \
|
|
$(1)/etc/udev/rules.d/
|
|
|
|
$(INSTALL_DIR) $(1)/etc/
|
|
$(INSTALL_DATA) -T $(PKG_BUILD_DIR)/utils/udhcpc $(1)/etc/udhcpc.user
|
|
|
|
$(INSTALL_DIR) $(1)/etc/init.d
|
|
$(INSTALL_BIN) \
|
|
./files/petitboot.init \
|
|
$(1)/etc/init.d/petitboot
|
|
|
|
$(petitboot-install-autorun-y)
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,petitboot))
|