Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Backports:SLE-15-SP4:Update
data-partition-service
create_data_part
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File create_data_part of Package data-partition-service
#!/bin/bash # Read configuration file source /etc/data_part.cfg || exit 0 # Functions space function get_root_device { local root_device= for boot_option in $(cat /proc/cmdline);do if [[ "${boot_option}" =~ ^root=UUID ]];then root_device="/dev/disk/by-uuid/${boot_option#root=UUID=}" break fi done if [ -z "${root_device}" ]; then root_device=$(findmnt / -no SOURCE) fi echo "${root_device}" } function lookup_disk_device_from_root { root_device=$(get_root_device) if [ -L "${root_device}" ];then root_device=/dev/$(basename "$(readlink "${root_device}")") fi lsblk -p -n -r -s -o NAME,TYPE "${root_device}" |\ grep disk | cut -f1 -d ' ' } function _partition_count { if [ -z "$1" ]; then echo 0 else lsblk "$1" -p -r -n -o TYPE | grep -c part fi } [[ -n "${data_label}" ]] || exit 1 # check data partition by label, or create one if ! blkid -L "${data_label}"; then root_disk=$(lookup_disk_device_from_root) partitions_origin=$(_partition_count "${root_disk}") # Check if the disk has been expanded if sgdisk -v "${root_disk}" | grep -q "secondary header"; then sgdisk --move-second-header "${root_disk}" fi sgdisk -n=0:0:0 "${root_disk}" partprobe "${root_disk}" || exit 1 if [ "$(_partition_count "${root_disk}")" -gt "${partitions_origin}" ];then # create filesystem on data partition data_partition=$(lsblk "${root_disk}" -p -r -n -o NAME | tail -n1) mkfs."${data_fs}" -L "${data_label}" "${data_partition}" || exit 1 fi fi
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor