2013-09-01 16:05:16 +02:00
#!/bin/bash
#
2014-01-15 09:48:04 -05:00
# Copyright (C) 2011,2014 Colin Walters <walters@verbum.org>
2013-09-01 16:05:16 +02:00
# Copyright (C) 2013 Javier Martinez <javier.martinez@collabora.co.uk>
#
2018-01-30 20:26:26 +01:00
# SPDX-License-Identifier: LGPL-2.0+
#
2013-09-01 16:05:16 +02:00
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
2016-01-27 11:44:10 -05:00
set -euo pipefail
2013-09-01 16:05:16 +02:00
. $( dirname $0 ) /libtest.sh
2015-07-14 13:30:05 -04:00
# Exports OSTREE_SYSROOT so --sysroot not needed.
2017-09-01 16:15:33 -04:00
setup_os_repository "archive" "uboot"
2013-09-01 16:05:16 +02:00
2017-08-23 12:15:46 -04:00
extra_admin_tests = 1
2014-01-15 09:48:04 -05:00
. $( dirname $0 ) /admin-test.sh
2016-08-23 14:32:35 +02:00
cd ${ test_tmpdir }
2017-10-19 14:28:02 -04:00
# Note this test actually requires a checksum change to /boot,
# because adding the uEnv.txt isn't currently covered by the
# "bootcsum".
os_repository_new_commit "uboot test" "test upgrade multiple kernel args"
2017-08-15 11:22:21 -04:00
mkdir -p osdata/usr/lib/ostree-boot
2017-08-04 15:58:41 -04:00
cat << 'EOF' > osdata/usr/lib/ostree-boot/uE nv.txt
2016-08-23 14:32:35 +02:00
loaduimage = load mmc ${ bootpart } ${ loadaddr } ${ kernel_image }
loadfdt = load mmc ${ bootpart } ${ fdtaddr } ${ bootdir } ${ fdtfile }
loadramdisk = load mmc ${ bootpart } ${ rdaddr } ${ ramdisk_image }
mmcargs = setenv bootargs $bootargs console = ${ console } ${ optargs } root = ${ mmcroot } rootfstype = ${ mmcrootfstype }
mmcboot = run loadramdisk; echo Booting from mmc ....; run mmcargs; bootz ${ loadaddr } ${ rdaddr } ${ fdtaddr }
EOF
${ CMD_PREFIX } ostree --repo= testos-repo commit --tree= dir = osdata/ -b testos/buildmaster/x86_64-runtime
${ CMD_PREFIX } ostree admin upgrade --os= testos
assert_file_has_content sysroot/boot/uEnv.txt "loadfdt="
assert_file_has_content sysroot/boot/uEnv.txt "kernel_image="
2017-09-05 15:59:35 +03:00
assert_file_has_content sysroot/boot/uEnv.txt "kernel_image2="
assert_file_has_content sysroot/boot/uEnv.txt "kernel_image3="
2016-08-23 14:32:35 +02:00
echo "ok merging uEnv.txt files"