forked from ostreedev/ostree
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
sysroot: Support customising /boot on root for syslinux and u-boot
This introduces a new config value "sysroot.boot_path_on_disk": > Tell ostree where the bootloader will be looking for the kernel. This is > the location of `/boot` relative to the root of the boot partition. > > This allows explicitly telling ostree that the boot partition is or is > not separate from the root partition. If `/boot` is on root set this to > `/boot`. If it's on seperate partition this should be set to `/`. > > This must be either an absolute path (starting with `/`) or `auto`. > Defaults to `auto`. > > This setting currently only respected by the u-boot and syslinux > bootloaders. This commit is based on an original by Colin Walters (ostreedev#215), but takes a different tack. ostreedev#215 attempts to determine automatically whether `/boot` is on root or not, but there are always situations where this isn't possible so I'm adding a config option here so the user can make it explicit. Future commits can add the automatic detection in, but this means that we don't need to be completely general with the auto-detection.
- Loading branch information
Showing
7 changed files
with
145 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
#!/bin/bash | ||
# | ||
# Copyright (C) 2016 Colin Walters <walters@verbum.org> | ||
# | ||
# 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. | ||
|
||
set -euo pipefail | ||
|
||
. $(dirname $0)/libtest.sh | ||
|
||
# Exports OSTREE_SYSROOT so --sysroot not needed. | ||
setup_os_repository "archive-z2" "syslinux" | ||
|
||
echo "1..2" | ||
|
||
${CMD_PREFIX} ostree --repo=sysroot/ostree/repo pull-local --remote=testos testos-repo testos/buildmaster/x86_64-runtime | ||
|
||
# Override the default and say that /boot is not a partition | ||
${CMD_PREFIX} ostree --repo=sysroot/ostree/repo config set sysroot.boot_path_on_disk /boot | ||
${CMD_PREFIX} ostree admin deploy --verbose --karg=root=LABEL=MOO --karg=quiet --os=testos testos:testos/buildmaster/x86_64-runtime | ||
|
||
assert_file_has_content sysroot/boot/syslinux/syslinux.cfg "KERNEL /boot/ostree/testos.*vmlinuz" | ||
assert_file_has_content sysroot/boot/syslinux/syslinux.cfg "INITRD /boot/ostree/testos.*initramfs" | ||
|
||
echo "ok bootonslash" | ||
|
||
${CMD_PREFIX} ostree admin undeploy 0 | ||
|
||
${CMD_PREFIX} ostree --repo=sysroot/ostree/repo config set sysroot.boot_path_on_disk / | ||
${CMD_PREFIX} ostree admin deploy --karg=root=LABEL=MOO --karg=quiet --os=testos testos:testos/buildmaster/x86_64-runtime | ||
assert_file_has_content sysroot/boot/syslinux/syslinux.cfg "KERNEL /ostree/testos.*vmlinuz" | ||
assert_file_has_content sysroot/boot/syslinux/syslinux.cfg "INITRD /ostree/testos.*initramfs" | ||
|
||
echo "ok bootpartition" |