Merge pull request #181 from adamliyi/adm1278
Add temporary adm1278 hwmon pmbus driver patch
diff --git a/meta-phosphor/classes/image-overlay.bbclass b/meta-phosphor/classes/image-overlay.bbclass
index 1c6137d..71768a6 100644
--- a/meta-phosphor/classes/image-overlay.bbclass
+++ b/meta-phosphor/classes/image-overlay.bbclass
@@ -1,13 +1,15 @@
+PACKAGES = " "
+EXCLUDE_FROM_WORLD = "1"
INITRD_IMAGE ?= "core-image-minimal-initramfs"
INITRD ?= "${DEPLOY_DIR_IMAGE}/${INITRD_IMAGE}-${MACHINE}.cpio.${INITRD_CTYPE}${uboot}"
IMAGE_BASETYPE ?= "squashfs-xz"
-OVERLAY_BASETYPE ?= "ext4"
+OVERLAY_BASETYPE ?= "jffs2"
-IMAGE_TYPES_${PN} += "${IMAGE_BASETYPE}"
+IMAGE_TYPES += "overlay"
-IMAGE_TYPEDEP_overlay = "${IMAGE_BASETYPE} ${OVERLAY_BASETYPE}"
+IMAGE_TYPEDEP_overlay = "${IMAGE_BASETYPE}"
IMAGE_TYPES_MASKED += "overlay"
ROOTFS ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_BASENAME}-${MACHINE}.${IMAGE_BASETYPE}"
@@ -15,4 +17,4 @@
do_generate_flash[depends] += "${INITRD_IMAGE}:do_rootfs"
do_generate_flash[depends] += "${PN}:do_rootfs"
-addtask generate_flash after do_rootfs before do_build
+addtask generate_flash before do_build
diff --git a/meta-phosphor/classes/obmc-phosphor-image.bbclass b/meta-phosphor/classes/obmc-phosphor-image.bbclass
index 7d468ff..0d4a0d0 100644
--- a/meta-phosphor/classes/obmc-phosphor-image.bbclass
+++ b/meta-phosphor/classes/obmc-phosphor-image.bbclass
@@ -25,20 +25,27 @@
# Install entire Phosphor application stack by default
IMAGE_FEATURES += " \
- obmc-phosphor-fan-mgmt \
- obmc-phosphor-chassis-mgmt \
- obmc-phosphor-sensor-mgmt \
- obmc-phosphor-flash-mgmt \
- obmc-phosphor-event-mgmt \
- obmc-phosphor-policy-mgmt \
- obmc-phosphor-user-mgmt \
- obmc-phosphor-system-mgmt \
- ssh-server-dropbear \
- "
+ obmc-phosphor-fan-mgmt \
+ obmc-phosphor-chassis-mgmt \
+ obmc-phosphor-sensor-mgmt \
+ obmc-phosphor-flash-mgmt \
+ obmc-phosphor-event-mgmt \
+ obmc-phosphor-policy-mgmt \
+ obmc-phosphor-user-mgmt \
+ obmc-phosphor-system-mgmt \
+ ssh-server-dropbear \
+ "
IMAGE_INSTALL += " \
- bash \
- packagegroup-obmc-phosphor-apps-extras \
- i2c-tools \
- screen \
- "
+ bash \
+ packagegroup-obmc-phosphor-apps-extras \
+ i2c-tools \
+ screen \
+ "
+
+def build_overlay(d):
+ if bb.utils.contains("IMAGE_FSTYPES", "overlay", "overlay", "0", d) != "0":
+ return "image-overlay"
+ return ""
+
+inherit ${@build_overlay(d)}
diff --git a/meta-phosphor/classes/obmc-phosphor-image_types_uboot.bbclass b/meta-phosphor/classes/obmc-phosphor-image_types_uboot.bbclass
index c390c36..adb86e0 100644
--- a/meta-phosphor/classes/obmc-phosphor-image_types_uboot.bbclass
+++ b/meta-phosphor/classes/obmc-phosphor-image_types_uboot.bbclass
@@ -4,9 +4,9 @@
# the image load address and entry point. Override it here.
oe_mkimage () {
- mkimage -A ${UBOOT_ARCH} -O linux -T ramdisk -C $2 -n ${IMAGE_BASENAME} \
- -a ${INITRD_IMAGE_LOADADDRESS} -e ${INITRD_IMAGE_ENTRYPOINT} \
- -d ${DEPLOY_DIR_IMAGE}/$1 ${DEPLOY_DIR_IMAGE}/$1.u-boot
+ mkimage -A ${UBOOT_ARCH} -O linux -T ramdisk -C $2 -n ${IMAGE_BASENAME} \
+ -a ${INITRD_IMAGE_LOADADDRESS} -e ${INITRD_IMAGE_ENTRYPOINT} \
+ -d ${DEPLOY_DIR_IMAGE}/$1 ${DEPLOY_DIR_IMAGE}/$1.u-boot
}
INITRD_IMAGE_ENTRYPOINT ?= "0x40800000"
@@ -23,10 +23,25 @@
FLASH_RWFS_OFFSET ?= "28672"
RWFS_SIZE ?= "4096"
+# Allow rwfs mkfs configuration through OVERLAY_MKFS_OPTS and OVERRIDES. However,
+# avoid setting 'ext4' or 'jffs2' in OVERRIDES as such raw filesystem types are
+# reserved for the primary image (and setting them currently breaks the build).
+# Instead, prefix the overlay override value with 'rwfs-' to avoid collisions.
+DISTROOVERRIDES .= ":rwfs-${OVERLAY_BASETYPE}"
+
+OVERLAY_MKFS_OPTS_rwfs-ext4 = "-b 4096 -F -O^huge_file"
+
# $(( ${FLASH_SIZE} - ${FLASH_RWFS_OFFSET} ))
# IMAGE_POSTPROCESS_COMMAND += "do_generate_flash"
+mk_nor_image() {
+ image_dst="$1"
+ image_size_kb=$2
+ dd if=/dev/zero bs=1k count=${image_size_kb} \
+ | tr '\000' '\377' > ${image_dst}
+}
+
do_generate_flash() {
INITRD_CTYPE=${INITRAMFS_CTYPE}
ddir="${DEPLOY_DIR_IMAGE}"
@@ -51,12 +66,16 @@
fi
oe_mkimage "${initrd}" "${INITRD_CTYPE}" || bbfatal "oe_mkimage initrd"
- dd if=/dev/zero of=${ddir}/${rwfs} bs=1k count=${RWFS_SIZE}
- mkfs.${OVERLAY_BASETYPE} -b 4096 -F -O^huge_file ${ddir}/${rwfs} || bbfatal "mkfs rwfs"
+
+ mk_nor_image ${ddir}/${rwfs} ${RWFS_SIZE}
+ if [ "${OVERLAY_BASETYPE}" != jffs2 ]; then
+ mkfs.${OVERLAY_BASETYPE} ${OVERLAY_MKFS_OPTS} ${ddir}/${rwfs} || \
+ bbfatal "mkfs rwfs"
+ fi
dst="${ddir}/${FLASH_IMAGE_NAME}"
rm -rf $dst
- dd if=/dev/zero of=${dst} bs=1k count=${FLASH_SIZE}
+ mk_nor_image ${dst} ${FLASH_SIZE}
dd if=${ddir}/${uboot} of=${dst} bs=1k seek=${FLASH_UBOOT_OFFSET}
dd if=${ddir}/${kernel} of=${dst} bs=1k seek=${FLASH_KERNEL_OFFSET}
dd if=${ddir}/${uinitrd} of=${dst} bs=1k seek=${FLASH_INITRD_OFFSET}
diff --git a/meta-phosphor/common/recipes-kernel/linux/linux-obmc_4.3.bb b/meta-phosphor/common/recipes-kernel/linux/linux-obmc_4.3.bb
index cd20762..3e74f7c 100644
--- a/meta-phosphor/common/recipes-kernel/linux/linux-obmc_4.3.bb
+++ b/meta-phosphor/common/recipes-kernel/linux/linux-obmc_4.3.bb
@@ -10,7 +10,7 @@
LINUX_VERSION ?= "4.3"
LINUX_VERSION_EXTENSION ?= "-${SRCREV}"
-SRCREV="openbmc-20160212-1"
+SRCREV="openbmc-20160222-1"
PV = "${LINUX_VERSION}+git${SRCPV}"
diff --git a/meta-phosphor/common/recipes-phosphor/dbus/obmc-rest.bb b/meta-phosphor/common/recipes-phosphor/dbus/obmc-rest.bb
index 3033a8d..f66dd26 100644
--- a/meta-phosphor/common/recipes-phosphor/dbus/obmc-rest.bb
+++ b/meta-phosphor/common/recipes-phosphor/dbus/obmc-rest.bb
@@ -20,6 +20,6 @@
"
SRC_URI += "git://github.com/openbmc/phosphor-rest-server"
-SRCREV = "34cae732597fb3d4b18a23b6494efdbfeca2033b"
+SRCREV = "fe90e0c579edbc19699e5aa7abbe4dd29b4dd112"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/common/recipes-phosphor/host-ipmid/host-ipmid-oem.bb b/meta-phosphor/common/recipes-phosphor/host-ipmid/host-ipmid-oem.bb
index f7c0394..1a6959a 100644
--- a/meta-phosphor/common/recipes-phosphor/host-ipmid/host-ipmid-oem.bb
+++ b/meta-phosphor/common/recipes-phosphor/host-ipmid/host-ipmid-oem.bb
@@ -19,7 +19,7 @@
SRC_URI += "git://github.com/openbmc/openpower-host-ipmi-oem"
-SRCREV = "b7df30ea8ad991c2d811e77ed4dee1beaa766883"
+SRCREV = "345932324ce63d42fd88e762cb539c864167b008"
FILES_${PN} += "${libdir}/host-ipmid/*.so"
FILES_${PN}-dbg += "${libdir}/host-ipmid/.debug"
diff --git a/meta-phosphor/common/recipes-phosphor/host-ipmid/host-ipmid.bb b/meta-phosphor/common/recipes-phosphor/host-ipmid/host-ipmid.bb
index 68bd38b..d47d3d1 100644
--- a/meta-phosphor/common/recipes-phosphor/host-ipmid/host-ipmid.bb
+++ b/meta-phosphor/common/recipes-phosphor/host-ipmid/host-ipmid.bb
@@ -18,7 +18,7 @@
RDEPENDS_${PN} += "network"
SRC_URI += "git://github.com/openbmc/phosphor-host-ipmid"
-SRCREV = "5d8c424a5c125b3cc5dcf67238e174b9dcaf22e6"
+SRCREV = "a9d9aafbe4375310cb3b5917153d46415a623542"
S = "${WORKDIR}/git"
INSTALL_NAME = "ipmid"
diff --git a/meta-phosphor/common/recipes-phosphor/obmc-phosphor-event/obmc-phosphor-event.bb b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-event/obmc-phosphor-event.bb
index 4f59e99..5ce5818 100644
--- a/meta-phosphor/common/recipes-phosphor/obmc-phosphor-event/obmc-phosphor-event.bb
+++ b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-event/obmc-phosphor-event.bb
@@ -13,7 +13,7 @@
SRC_URI += "git://github.com/openbmc/phosphor-event"
-SRCREV = "01ac3503dc97fb99bee9c25c23fe73a5f4ea0475"
+SRCREV = "127c8cf513ba9ed6bcc460fbea29b36eb8d23bac"
RDEPENDS_${PN} += "libsystemd"
DEPENDS += "systemd"
diff --git a/meta-phosphor/common/recipes-phosphor/obmc-phosphor-initfs/files/obmc-init.sh b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-initfs/files/obmc-init.sh
index 6750de3..12c5a2f 100644
--- a/meta-phosphor/common/recipes-phosphor/obmc-phosphor-initfs/files/obmc-init.sh
+++ b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-initfs/files/obmc-init.sh
@@ -30,6 +30,20 @@
echo $m
}
+blkid_fs_type() {
+ # Emulate util-linux's `blkid -s TYPE -o value $1`
+ # Example busybox blkid output:
+ # # blkid /dev/mtdblock5
+ # /dev/mtdblock5: TYPE="squashfs"
+ # Process output to extract TYPE value "squashfs".
+ blkid $1 | sed -e 's/^.*TYPE="//' -e 's/".*$//'
+}
+
+probe_fs_type() {
+ fst=$(blkid_fs_type $1)
+ echo ${fst:=jffs2}
+}
+
debug_takeover() {
echo "$@"
test -n "$@" && echo Enter password to try to manually fix.
@@ -71,13 +85,21 @@
rodev=/dev/mtdblock${rofs#mtd}
rwdev=/dev/mtdblock${rwfs#mtd}
+# Set to y for yes, anything else for no.
+force_rwfst_jffs2=y
+flash_images_before_init=n
+
rofst=squashfs
-rwfst=ext4
+rwfst=$(probe_fs_type $rwdev)
roopts=ro
rwopts=rw
+image=/run/initramfs/image-
+trigger=${image}rwfs
+
init=/sbin/init
-fsck=/sbin/fsck.$rwfst
+fsckbase=/sbin/fsck.
+fsck=$fsckbase$rwfst
fsckopts=-a
echo rofs = $rofs $rofst rwfs = $rwfs $rwfst
@@ -87,6 +109,50 @@
debug_takeover "Debug initial shell requested by command line."
fi
+# If there are images in root move them to run/initramfs/ now.
+imagebasename=${image##*/}
+if test -n "${imagebasename}" -a "x$flash_images_before_init" = xy &&
+ ls /${imagebasename}* > /dev/null 2>&1
+then
+ echo "Pending flash updates found."
+ mv /${imagebasename}* ${image%$imagebasename}
+fi
+
+if grep -w clean-rwfs-filesystem /proc/cmdline
+then
+ echo "Cleaning of read-write overlay filesystem requested."
+ touch $trigger
+fi
+
+if test "x$force_rwfst_jffs2" = xy -a $rwfst != jffs2 -a ! -f $trigger
+then
+ echo "Converting read-write overlay filesystem to jffs2 forced."
+ touch $trigger
+fi
+
+if ls $image* > /dev/null 2>&1
+then
+ if ! test -x /update
+ then
+ debug_takeover "Flash update requested but /update missing!"
+ elif test -f $trigger -a ! -s $trigger
+ then
+ echo "Saving selected files from read-write overlay filesystem."
+ /update && rm -f $image*
+ echo "Clearing read-write overlay filesystem."
+ flash_eraseall /dev/$rwfs
+ echo "Restoring saved files to read-write overlay filesystem."
+ touch $trigger
+ /update
+ rm -rf /save $trigger
+ else
+ /update && rm -f $image*
+ fi
+
+ rwfst=$(probe_fs_type $rwdev)
+ fsck=$fsckbase$rwfst
+fi
+
mount $rodev $rodir -t $rofst -o $roopts
if test -x $rodir$fsck
@@ -105,7 +171,8 @@
then
debug_takeover "fsck of read-write fs on $rwdev failed (rc=$rc)"
fi
-else
+elif test $fsck != /sbin/fsck.jffs2
+then
echo "No '$fsck' in read only fs, skipping fsck."
fi
@@ -114,7 +181,7 @@
msg="$(cat)" << HERE
Mounting read-write $rwdev filesystem failed. Please fix and run
- mount $rwdev $rwdir -t $rwfs -o $rwopts
+ mount $rwdev $rwdir -t $rwfst -o $rwopts
to to continue, or do change nothing to run from RAM for this boot.
HERE
debug_takeover "$msg"
diff --git a/meta-phosphor/common/recipes-phosphor/obmc-phosphor-initfs/files/obmc-shutdown.sh b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-initfs/files/obmc-shutdown.sh
index 3eff1ea..fc359c5 100644
--- a/meta-phosphor/common/recipes-phosphor/obmc-phosphor-initfs/files/obmc-shutdown.sh
+++ b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-initfs/files/obmc-shutdown.sh
@@ -47,6 +47,8 @@
test "umount_proc" && umount /proc && rmdir /proc
+# ioctl(TIOC_DRAIN) to drain tty messages to console
+test -t 1 && stty cooked 0<&1
# Execute the command systemd told us to ...
if test -d /oldroot && test "$1"
diff --git a/meta-phosphor/common/recipes-phosphor/obmc-phosphor-initfs/files/obmc-update.sh b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-initfs/files/obmc-update.sh
index face06d..367c302 100755
--- a/meta-phosphor/common/recipes-phosphor/obmc-phosphor-initfs/files/obmc-update.sh
+++ b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-initfs/files/obmc-update.sh
@@ -35,10 +35,23 @@
echo $m
}
+blkid_fs_type() {
+ # Emulate util-linux's `blkid -s TYPE -o value $1`
+ # Example busybox blkid output:
+ # # blkid /dev/mtdblock5
+ # /dev/mtdblock5: TYPE="squashfs"
+ # Process output to extract TYPE value "squashfs".
+ blkid $1 | sed -e 's/^.*TYPE="//' -e 's/".*$//'
+}
+
+probe_fs_type() {
+ fst=$(blkid_fs_type $1)
+ echo ${fst:=jffs2}
+}
+
rwfs=$(findmtd rwfs)
rwdev=/dev/mtdblock${rwfs#mtd}
-rwfst=ext4
rwopts=rw
rorwopts=ro${rwopts#rw}
@@ -50,7 +63,7 @@
then
mkdir -p $rwdir
- mount $rwdev $rwdir -t $rwfst -o $rorwopts
+ mount $rwdev $rwdir -t $(probe_fs_type $rwdev) -o $rorwopts
while read f
do
@@ -87,7 +100,7 @@
if test -d $save
then
- mount $rwdev $rwdir -t $rwfst -o $rwopts
+ mount $rwdev $rwdir -t $(probe_fs_type $rwdev) -o $rwopts
cp -rp $save/. $upper/
umount $rwdir
fi
diff --git a/meta-phosphor/common/recipes-phosphor/skeleton/skeleton.bb b/meta-phosphor/common/recipes-phosphor/skeleton/skeleton.bb
index a48f5b5..08e4d33 100644
--- a/meta-phosphor/common/recipes-phosphor/skeleton/skeleton.bb
+++ b/meta-phosphor/common/recipes-phosphor/skeleton/skeleton.bb
@@ -12,11 +12,11 @@
inherit obmc-phosphor-sensor-mgmt
inherit obmc-phosphor-system-mgmt
-DEPENDS += "glib-2.0"
+DEPENDS += "glib-2.0 systemd"
RDEPENDS_${PN} += "python-subprocess python-compression libsystemd"
SRC_URI += "git://github.com/openbmc/skeleton"
-SRCREV = "ad8c3d3b7be6cc5cda80a2f215b40eae16381b09"
+SRCREV = "27ca44ad1a96f90d42dcb50183700e5ca5358642"
S = "${WORKDIR}"
diff --git a/meta-phosphor/conf/machine/include/obmc-bsp-common.inc b/meta-phosphor/conf/machine/include/obmc-bsp-common.inc
index fb6cc8c..60ed088 100644
--- a/meta-phosphor/conf/machine/include/obmc-bsp-common.inc
+++ b/meta-phosphor/conf/machine/include/obmc-bsp-common.inc
@@ -17,7 +17,6 @@
IMAGE_INSTALL += "u-boot-fw-utils"
IMAGE_CLASSES += "obmc-phosphor-image_types_uboot"
-IMAGE_CLASSES += "image-overlay"
INITRAMFS_CTYPE ?= "lzma"
INITRAMFS_FSTYPES += "cpio.${INITRAMFS_CTYPE}"