timaging: Add gpt partitioning. - libdevuansdk - common library for devuan's simple distro kits
 (HTM) git clone https://git.parazyd.org/libdevuansdk
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) Submodules
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 4d0a0374df9c47d8fafad5316c44f0466dee741a
 (DIR) parent b7b635558d1fd40748df65ac6d40eebfa69c5b6b
 (HTM) Author: parazyd <parazyd@dyne.org>
       Date:   Thu, 25 Mar 2021 20:43:01 +0100
       
       imaging: Add gpt partitioning.
       
       Diffstat:
         M zlibs/imaging                       |      23 +++++++++++++++++++++++
       
       1 file changed, 23 insertions(+), 0 deletions(-)
       ---
 (DIR) diff --git a/zlibs/imaging b/zlibs/imaging
       t@@ -181,6 +181,29 @@ image_partition_dos()
                sudo partprobe "$loopdevice" || { zerr; return 1; }
        }
        
       +image_partition_gpt()
       +{
       +        fn image_partition_gpt
       +        req=(loopdevice bootpart rootpart gpt_boot gpt_root)
       +        ckreq || return 1
       +
       +        notice "Partitioning gpt image"
       +
       +        sudo parted "$loopdevice" --script -- mklabel gpt || { zerr; return 1; }
       +        sudo cgpt create -z "$loopdevice" || { zerr; return 1; }
       +        sudo cgpt create    "$loopdevice" || { zerr; return 1; }
       +
       +        sudo cgpt add -i 1 -t kernel -b ${gpt_boot[1]} -s ${gpt_boot[2]} \
       +                -l kernel -S 1 -T 5 -P 10 "$loopdevice" || { zerr; return 1; }
       +
       +        sudo cgpd add -i 2 -t data -b ${gpt_root[1]} -s
       +                $(expr $(cgpt show "$loopdevice" \
       +                                | awk '/Sec GPT table/ {print $1}') - ${gpt_root[1]}) \
       +                -l Root "$loopdevice" || { zerr; return 1; }
       +
       +        sudo partprobe "$loopdevice" || { zerr; return 1; }
       +}
       +
        image_mount()
        {
                fn image_mount