2 # Copyright (C) 2006-2010 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
11 PKG_REV
:=93b2c2e0f0ca46d2a823b33cdfa44d082e9e8d10
15 PKG_SOURCE
:=$(PKG_NAME
)-$(PKG_VERSION
).
tar.gz
16 PKG_SOURCE_URL
:=git
://ozlabs.org
/home
/jk
/git
/petitboot
18 PKG_SOURCE_SUBDIR
:=$(PKG_NAME
)-$(PKG_VERSION
)
19 PKG_SOURCE_VERSION
:=$(PKG_REV
)
23 include $(INCLUDE_DIR
)/package.mk
25 define Package
/petitboot
27 CATEGORY
:=Boot Loaders
28 TITLE
:=A kexec based bootloader
29 URL
:=http
://ozlabs.org
/~jk
/projects
/petitboot
/
30 MAINTAINER
:=Geoff Levand
<geoffrey.levand@am.sony.com
>
31 DEPENDS
:=@TARGET_ps3
+kexec-tools
+libncurses
+libtwin
+udev
+ps3-utils
34 define Package
/petitboot
/description
35 Petitboot is a Linux kexec based bootloader with both
36 graphical and command-line user interfaces. The OpenWRT
37 Petitboot package has configuration options that can be
38 used to specify which Petitboot components to build
, and
39 can also be used to specify that Petitboot should be run
40 automatically at system start-up.
42 Petitboot supports loading Linux kernel and initrd images
43 from any device that can be mounted by Linux. It can
44 handle gzipped images and can also load images from the
45 network using TFTP
, NFS
, HTTP
, HTTPS
, and SFTP. Petitboot
46 looks for bootloader config files on mountable devices in
47 the system
, and also uses the boot configuration sent to
48 it from a DHCP server.
51 define Package
/petitboot
/config
52 source
"$(SOURCE)/petitboot-config.in"
55 petitboot-config-args-y
$(CONFIG_PETITBOOT_CUI
) += --without-ncurses
56 petitboot-config-args-y
$(CONFIG_PETITBOOT_GUI
) += --without-twin
57 petitboot-config-args-y
$(CONFIG_PETITBOOT_PS3
) += --enable-ps3
=no
59 petitboot-cppflags-
$(CONFIG_PETITBOOT_DEBUG
) += -DDEBUG
60 petitboot-cppflags-y
$(CONFIG_PETITBOOT_DEBUG
) += -DNDEBUG
62 petitboot-extra-bin-
$(CONFIG_PETITBOOT_CUI
) += /usr
/sbin
/pb-cui
63 petitboot-extra-bin-
$(CONFIG_PETITBOOT_GUI
) += /usr
/sbin
/pb-twin
64 petitboot-extra-data-
$(CONFIG_PETITBOOT_GUI
) += /usr
/share
/petitboot
/artwork
/*
66 # The platform inittab and/or initrun should check for /usr/sbin/petitboot
67 # and run it on startup if found.
69 petitboot-install-autorun-
$(CONFIG_PETITBOOT_AUTORUN_CUI
) = \
70 ln
-sf pb-cui
$(1)/usr
/sbin
/petitboot
71 petitboot-install-autorun-
$(CONFIG_PETITBOOT_AUTORUN_GUI
) = \
72 ln
-sf pb-twin
$(1)/usr
/sbin
/petitboot
74 petitboot-install-extra-data-
$(CONFIG_PETITBOOT_GUI
) = \
75 $(INSTALL_DIR
) $(1)/usr
/share
/petitboot
/ \
77 $(addprefix $(PKG_INSTALL_DIR
),$(petitboot-extra-data-y
)) \
78 $(1)/usr
/share
/petitboot
/
80 CONFIGURE_ARGS
+= $(petitboot-config-args-y
) \
81 PACKAGE_VERSION
=$(shell echo
${HOSTNAME})-$(shell date
+%y.
%m.
%d-
%H.
%M
)
83 EXTRA_CPPFLAGS
+= $(petitboot-cppflags-y
)
86 $(call Build
/Prepare
/Default
)
87 (cd
$(PKG_BUILD_DIR
) && $(BASH
) -x .
/bootstrap
)
90 define Package
/petitboot
/install
91 $(INSTALL_DIR
) $(1)/usr
/sbin
93 $(addprefix $(PKG_INSTALL_DIR
),$(petitboot-extra-bin-y
)) \
94 $(PKG_INSTALL_DIR
)/usr
/sbin
/pb-discover \
95 $(PKG_INSTALL_DIR
)/usr
/sbin
/pb-event \
98 $(petitboot-install-extra-data-y
)
100 $(INSTALL_DIR
) $(1)/etc
/udev
/rules.d
102 $(PKG_BUILD_DIR
)/utils
/99-petitboot.rules \
103 $(1)/etc
/udev
/rules.d
/
105 $(INSTALL_DIR
) $(1)/etc
/
106 $(INSTALL_DATA
) -T
$(PKG_BUILD_DIR
)/utils
/udhcpc
$(1)/etc
/udhcpc.user
108 $(INSTALL_DIR
) $(1)/etc
/init.d
110 .
/files
/petitboot.init \
111 $(1)/etc
/init.d
/petitboot
113 $(petitboot-install-autorun-y
)
116 $(eval
$(call BuildPackage
,petitboot
))