Merge pull request #419 from sammj/vga-bootconsole

linux: Specify boot consoles on the command line
diff --git a/openpower/configs/barreleye_defconfig b/openpower/configs/barreleye_defconfig
index 5f52640..48431ff 100644
--- a/openpower/configs/barreleye_defconfig
+++ b/openpower/configs/barreleye_defconfig
@@ -31,8 +31,8 @@
 BR2_OPENPOWER_PNOR_UPDATE_FILENAME="barreleye_update.pnor"
 
 # skiboot requirements
-BR2_TARGET_SKIBOOT=y
-BR2_TARGET_SKIBOOT_EMBED_PAYLOAD=n
+BR2_PACKAGE_SKIBOOT=y
+BR2_PACKAGE_SKIBOOT_EMBED_PAYLOAD=n
 
 # petitboot requirements
 BR2_ENABLE_LOCALE_PURGE=y
@@ -63,8 +63,10 @@
 BR2_PACKAGE_NETCAT=y
 BR2_PACKAGE_RSYNC=y
 BR2_PACKAGE_PETITBOOT=y
+BR2_PACKAGE_PETITBOOT_MTD=y
 BR2_PACKAGE_IPMITOOL=y
 BR2_PACKAGE_POWERPC_UTILS=y
 BR2_PACKAGE_MDADM=y
 BR2_TARGET_ROOTFS_CPIO_XZ=y
 BR2_TARGET_ROOTFS_INITRAMFS=y
+BR2_PACKAGE_LOADKEYS=y
diff --git a/openpower/configs/firestone_defconfig b/openpower/configs/firestone_defconfig
index 2ba04a9..b43c31c 100644
--- a/openpower/configs/firestone_defconfig
+++ b/openpower/configs/firestone_defconfig
@@ -31,8 +31,8 @@
 BR2_OPENPOWER_PNOR_UPDATE_FILENAME="firestone_update.pnor"
 
 # skiboot requirements
-BR2_TARGET_SKIBOOT=y
-BR2_TARGET_SKIBOOT_EMBED_PAYLOAD=n
+BR2_PACKAGE_SKIBOOT=y
+BR2_PACKAGE_SKIBOOT_EMBED_PAYLOAD=n
 
 # petitboot requirements
 BR2_ENABLE_LOCALE_PURGE=y
@@ -63,8 +63,10 @@
 BR2_PACKAGE_NETCAT=y
 BR2_PACKAGE_RSYNC=y
 BR2_PACKAGE_PETITBOOT=y
+BR2_PACKAGE_PETITBOOT_MTD=y
 BR2_PACKAGE_IPMITOOL=y
 BR2_PACKAGE_POWERPC_UTILS=y
 BR2_PACKAGE_MDADM=y
 BR2_TARGET_ROOTFS_CPIO_XZ=y
 BR2_TARGET_ROOTFS_INITRAMFS=y
+BR2_PACKAGE_LOADKEYS=y
diff --git a/openpower/configs/garrison_defconfig b/openpower/configs/garrison_defconfig
index eafb6d5..f2e7e42 100644
--- a/openpower/configs/garrison_defconfig
+++ b/openpower/configs/garrison_defconfig
@@ -31,8 +31,8 @@
 BR2_OPENPOWER_PNOR_UPDATE_FILENAME="garrison_update.pnor"
 
 # skiboot requirements
-BR2_TARGET_SKIBOOT=y
-BR2_TARGET_SKIBOOT_EMBED_PAYLOAD=n
+BR2_PACKAGE_SKIBOOT=y
+BR2_PACKAGE_SKIBOOT_EMBED_PAYLOAD=n
 
 # petitboot requirements
 BR2_ENABLE_LOCALE_PURGE=y
@@ -63,8 +63,10 @@
 BR2_PACKAGE_NETCAT=y
 BR2_PACKAGE_RSYNC=y
 BR2_PACKAGE_PETITBOOT=y
+BR2_PACKAGE_PETITBOOT_MTD=y
 BR2_PACKAGE_IPMITOOL=y
 BR2_PACKAGE_POWERPC_UTILS=y
 BR2_PACKAGE_MDADM=y
 BR2_TARGET_ROOTFS_CPIO_XZ=y
 BR2_TARGET_ROOTFS_INITRAMFS=y
+BR2_PACKAGE_LOADKEYS=y
diff --git a/openpower/configs/habanero_defconfig b/openpower/configs/habanero_defconfig
index a936321..dade28f 100644
--- a/openpower/configs/habanero_defconfig
+++ b/openpower/configs/habanero_defconfig
@@ -31,8 +31,8 @@
 BR2_OPENPOWER_PNOR_UPDATE_FILENAME="habanero_update.pnor"
 
 # skiboot requirements
-BR2_TARGET_SKIBOOT=y
-BR2_TARGET_SKIBOOT_EMBED_PAYLOAD=n
+BR2_PACKAGE_SKIBOOT=y
+BR2_PACKAGE_SKIBOOT_EMBED_PAYLOAD=n
 
 # petitboot requirements
 BR2_ENABLE_LOCALE_PURGE=y
@@ -63,8 +63,10 @@
 BR2_PACKAGE_NETCAT=y
 BR2_PACKAGE_RSYNC=y
 BR2_PACKAGE_PETITBOOT=y
+BR2_PACKAGE_PETITBOOT_MTD=y
 BR2_PACKAGE_IPMITOOL=y
 BR2_PACKAGE_POWERPC_UTILS=y
 BR2_PACKAGE_MDADM=y
 BR2_TARGET_ROOTFS_CPIO_XZ=y
 BR2_TARGET_ROOTFS_INITRAMFS=y
+BR2_PACKAGE_LOADKEYS=y
diff --git a/openpower/configs/hostboot/garrison.config b/openpower/configs/hostboot/garrison.config
index 72fabe2..e8218cf 100755
--- a/openpower/configs/hostboot/garrison.config
+++ b/openpower/configs/hostboot/garrison.config
@@ -55,9 +55,7 @@
 
 # Enable Checktop Analysis
 set ENABLE_CHECKSTOP_ANALYSIS
-# Turn off IPLTIME_CHECKSTOP_ANALYSIS for now until memory issue can be solved.
-# Seems to only be an issue for lager ddr4 configs.
-#set IPLTIME_CHECKSTOP_ANALYSIS
+set IPLTIME_CHECKSTOP_ANALYSIS
 
 # Hostboot will detect hardware changes
 set HOST_HCDB_SUPPORT
diff --git a/openpower/configs/openpower_mambo_defconfig b/openpower/configs/openpower_mambo_defconfig
index 8a803d0..5422a08 100644
--- a/openpower/configs/openpower_mambo_defconfig
+++ b/openpower/configs/openpower_mambo_defconfig
@@ -19,8 +19,8 @@
 BR2_PACKAGE_OPENPOWER_PNOR=n
 
 # skiboot will be built but we don't need embedded payload
-BR2_TARGET_SKIBOOT=y
-BR2_TARGET_SKIBOOT_EMBED_PAYLOAD=n
+BR2_PACKAGE_SKIBOOT=y
+BR2_PACKAGE_SKIBOOT_EMBED_PAYLOAD=n
 
 # petitboot requirements
 BR2_ENABLE_LOCALE_PURGE=y
diff --git a/openpower/configs/palmetto_defconfig b/openpower/configs/palmetto_defconfig
index 67dcc1e..67f2c86 100644
--- a/openpower/configs/palmetto_defconfig
+++ b/openpower/configs/palmetto_defconfig
@@ -30,8 +30,8 @@
 BR2_OPENPOWER_PNOR_FILENAME="palmetto.pnor"
 
 # skiboot requirements
-BR2_TARGET_SKIBOOT=y
-BR2_TARGET_SKIBOOT_EMBED_PAYLOAD=n
+BR2_PACKAGE_SKIBOOT=y
+BR2_PACKAGE_SKIBOOT_EMBED_PAYLOAD=n
 
 # petitboot requirements
 BR2_ENABLE_LOCALE_PURGE=y
@@ -62,9 +62,10 @@
 BR2_PACKAGE_NETCAT=y
 BR2_PACKAGE_RSYNC=y
 BR2_PACKAGE_PETITBOOT=y
+BR2_PACKAGE_PETITBOOT_MTD=y
 BR2_PACKAGE_IPMITOOL=y
 BR2_PACKAGE_POWERPC_UTILS=y
 BR2_PACKAGE_MDADM=y
 BR2_TARGET_ROOTFS_CPIO_XZ=y
 BR2_TARGET_ROOTFS_INITRAMFS=y
-
+BR2_PACKAGE_LOADKEYS=y
diff --git a/openpower/package/Config.in b/openpower/package/Config.in
index e7e26fb..902d2ec 100755
--- a/openpower/package/Config.in
+++ b/openpower/package/Config.in
@@ -13,3 +13,4 @@
 source "$BR2_EXTERNAL/package/capp-ucode/Config.in"
 source "$BR2_EXTERNAL/package/skiboot/Config.in"
 source "$BR2_EXTERNAL/package/libflash/Config.in"
+source "$BR2_EXTERNAL/package/loadkeys/Config.in"
diff --git a/openpower/package/garrison-xml/garrison.mk b/openpower/package/garrison-xml/garrison.mk
index 8fd027c..d84ed41 100644
--- a/openpower/package/garrison-xml/garrison.mk
+++ b/openpower/package/garrison-xml/garrison.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-GARRISON_XML_VERSION ?= 3f926e28d514b3ff3315b4179d259580a0f8b32b
+GARRISON_XML_VERSION ?= f55807eb198d56323ab0e0767769a87ee984909f
 GARRISON_XML_SITE ?= $(call github,open-power,garrison-xml,$(GARRISON_XML_VERSION))
 
 GARRISON_XML_LICENSE = Apache-2.0
diff --git a/openpower/package/hostboot/hostboot.mk b/openpower/package/hostboot/hostboot.mk
index c53a23f..b776aad 100644
--- a/openpower/package/hostboot/hostboot.mk
+++ b/openpower/package/hostboot/hostboot.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-HOSTBOOT_VERSION ?= 11e78f85999297fffde7cbe245c6a70aaacda9a3
+HOSTBOOT_VERSION ?= 32dff4ca9db6d8b088ed6ec63f147d2aaded3e69
 HOSTBOOT_SITE ?= $(call github,open-power,hostboot,$(HOSTBOOT_VERSION))
 
 HOSTBOOT_LICENSE = Apache-2.0
diff --git a/openpower/package/loadkeys/Config.in b/openpower/package/loadkeys/Config.in
new file mode 100644
index 0000000..c53391c
--- /dev/null
+++ b/openpower/package/loadkeys/Config.in
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_LOADKEYS
+	bool "loadkeys"
+	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
+	select BR2_PACKAGE_CHECK
+	# Uses fork()
+	depends on BR2_USE_MMU
+	help
+	  Custom package to install just the 'loadkeys'
+	  binary from the kbd package.
+
+	  http://kernel.org/pub/linux/utils/kbd/
diff --git a/openpower/package/loadkeys/S16-keymap b/openpower/package/loadkeys/S16-keymap
new file mode 100755
index 0000000..aa3f068
--- /dev/null
+++ b/openpower/package/loadkeys/S16-keymap
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+case "$1" in
+    start)
+        loadkeys /etc/kbd/config
+        ;;
+esac
+
+exit 0
diff --git a/openpower/package/loadkeys/backtab-keymap b/openpower/package/loadkeys/backtab-keymap
new file mode 100644
index 0000000..953b990
--- /dev/null
+++ b/openpower/package/loadkeys/backtab-keymap
@@ -0,0 +1,10 @@
+# Enable backtab for VGA consoles
+# Thanks to http://web.mit.edu/daveg/Info/backtab-howto.txt
+
+keycode  15 = Tab   F91
+	alt     keycode  15 = Meta_Tab
+	shift   alt     keycode  15 = F92
+
+# backtab and M-backtab
+string F91 = "\033[Z"
+string F92 = "\033\033[Z"
diff --git a/openpower/package/loadkeys/loadkeys.hash b/openpower/package/loadkeys/loadkeys.hash
new file mode 100644
index 0000000..39a4cdd
--- /dev/null
+++ b/openpower/package/loadkeys/loadkeys.hash
@@ -0,0 +1,2 @@
+# From https://www.kernel.org/pub/linux/utils/kbd/sha256sums.asc
+sha256	7a899de1c0eb75f3aea737095a736f2375e1cbfbe693fc14a3fe0bfb4649fb5e	kbd-2.0.3.tar.xz
diff --git a/openpower/package/loadkeys/loadkeys.mk b/openpower/package/loadkeys/loadkeys.mk
new file mode 100644
index 0000000..db6cbca
--- /dev/null
+++ b/openpower/package/loadkeys/loadkeys.mk
@@ -0,0 +1,31 @@
+################################################################################
+#
+# loadkeys - Custom installer for the kbd package
+#
+################################################################################
+
+LOADKEYS_VERSION = 2.0.3
+LOADKEYS_SOURCE = kbd-$(LOADKEYS_VERSION).tar.xz
+LOADKEYS_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kbd
+LOADKEYS_CONF_OPTS = --disable-vlock
+LOADKEYS_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext)
+LOADKEYS_LICENSE = GPLv2+
+LOADKEYS_LICENSE_FILES = COPYING
+LOADKEYS_INSTALL_STAGING = NO
+LOADKEYS_INSTALL_TARGET = YES
+
+define LOADKEYS_INSTALL_TARGET_CMDS
+	$(INSTALL) -D -m 0755 $(@D)/src/loadkeys \
+		$(TARGET_DIR)/usr/bin/
+endef
+
+define LOADKEYS_POST_INSTALL
+	$(INSTALL) -D -m 0755 $(BR2_EXTERNAL)/package/loadkeys/S16-keymap \
+		$(TARGET_DIR)/etc/init.d/
+	$(INSTALL) -D -m 0755 $(BR2_EXTERNAL)/package/loadkeys/backtab-keymap \
+		$(TARGET_DIR)/etc/kbd/config
+endef
+
+LOADKEYS_POST_INSTALL_TARGET_HOOKS += LOADKEYS_POST_INSTALL
+
+$(eval $(autotools-package))
diff --git a/openpower/package/openpower-pnor/openpower-pnor.mk b/openpower/package/openpower-pnor/openpower-pnor.mk
index 2d7086c..dae10d7 100644
--- a/openpower/package/openpower-pnor/openpower-pnor.mk
+++ b/openpower/package/openpower-pnor/openpower-pnor.mk
@@ -14,7 +14,7 @@
 OPENPOWER_PNOR_LICENSE = Apache-2.0
 OPENPOWER_PNOR_DEPENDENCIES = hostboot hostboot-binaries $(XML_PACKAGE) skiboot host-openpower-ffs occ capp-ucode
 
-ifeq ($(BR2_TARGET_SKIBOOT_EMBED_PAYLOAD),n)
+ifeq ($(BR2_PACKAGE_SKIBOOT_EMBED_PAYLOAD),n)
 
 ifeq ($(BR2_TARGET_ROOTFS_INITRAMFS),y)
 OPENPOWER_PNOR_DEPENDENCIES += linux-rebuild-with-initramfs
diff --git a/openpower/package/petitboot/Config.in b/openpower/package/petitboot/Config.in
index 08801ec..e5769de 100644
--- a/openpower/package/petitboot/Config.in
+++ b/openpower/package/petitboot/Config.in
@@ -2,6 +2,7 @@
 	bool "petitboot"
 	# petitboot needs udev /dev management
 	depends on BR2_PACKAGE_HAS_UDEV
+	select BR2_PACKAGE_LVM2
 	select BR2_PACKAGE_NCURSES
 	select BR2_PACKAGE_NCURSES_TARGET_PANEL
 	select BR2_PACKAGE_NCURSES_TARGET_FORM
diff --git a/openpower/package/petitboot/petitboot.mk b/openpower/package/petitboot/petitboot.mk
index 1736435..934eb8d 100644
--- a/openpower/package/petitboot/petitboot.mk
+++ b/openpower/package/petitboot/petitboot.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-PETITBOOT_VERSION = 72928ed32ab3684be74e4a3b90329dee7cfa6bbb
+PETITBOOT_VERSION = v1.0.0
 PETITBOOT_SITE ?= $(call github,open-power,petitboot,$(PETITBOOT_VERSION))
 PETITBOOT_DEPENDENCIES = ncurses udev host-bison host-flex lvm2
 PETITBOOT_LICENSE = GPLv2
diff --git a/openpower/package/skiboot/Config.in b/openpower/package/skiboot/Config.in
index be46ae0..7ec042b 100644
--- a/openpower/package/skiboot/Config.in
+++ b/openpower/package/skiboot/Config.in
@@ -1,15 +1,15 @@
 menu "Skiboot"
 
-config BR2_TARGET_SKIBOOT
+config BR2_PACKAGE_SKIBOOT
 	bool "skiboot"
 	depends on BR2_powerpc64 || BR2_powerpc64le
         default y if (BR2_OPENPOWER_PLATFORM && BR2_powerpc_power8)
 	help
 	  Build skiboot POWER8 firmware
 
-if BR2_TARGET_SKIBOOT
+if BR2_PACKAGE_SKIBOOT
 
-config BR2_TARGET_SKIBOOT_EMBED_PAYLOAD
+config BR2_PACKAGE_SKIBOOT_EMBED_PAYLOAD
 	bool "Embed kernel payload in skiboot image"
 	depends on BR2_LINUX_KERNEL_ZIMAGE_EPAPR