New Addon: gptfdisk 1.0.8

Message ID 20220109120920.27042-1-smooky@v16.de
State Accepted
Headers show
Series New Addon: gptfdisk 1.0.8 | expand

Commit Message

smooky Jan. 9, 2022, 12:09 p.m. UTC
>>> https://www.rodsbooks.com/gdisk/ <<<

source = https://sourceforge.net/projects/gptfdisk/files/gptfdisk/1.0.8/gptfdisk-1.0.8.tar.gz/download

Hi @ all

I have a new add-on here which I use e.g. to bring partitions from mbr to gpt without data loss.
It is also well suited for rescuing broken partitions. 

GPT fdisk (consisting of the gdisk, cgdisk, sgdisk, and fixparts programs) is a set of text-mode partitioning tools for Linux, 
FreeBSD, Mac OS X, and Windows. 
The gdisk, cgdisk, and sgdisk programs work on Globally Unique Identifier (GUID) Partition Table (GPT) disks, 
rather than on the older (and once more common) Master Boot Record (MBR) partition tables. 
The fixparts program repairs certain types of damage to MBR disks and enables changing partition types from 
primary to logical and vice-versa.


Signed-off-by: Marcel Follert (Smooky) <smooky@v16.de>
---
 config/rootfiles/packages/gptfdisk |  4 ++
 lfs/gptfdisk                       | 85 ++++++++++++++++++++++++++++++
 make.sh                            |  1 +
 3 files changed, 90 insertions(+)
 create mode 100644 config/rootfiles/packages/gptfdisk
 create mode 100644 lfs/gptfdisk

Comments

Michael Tremer Jan. 17, 2022, 9:04 a.m. UTC | #1
Hello,

Thank you for this patch.

I have used gdisk in the past as well, but doesn’t fdisk provide this functionality out of the box now?

-Michael

> On 9 Jan 2022, at 12:09, smooky@v16.de wrote:
> 
>>>> https://www.rodsbooks.com/gdisk/ <<<
> 
> source = https://sourceforge.net/projects/gptfdisk/files/gptfdisk/1.0.8/gptfdisk-1.0.8.tar.gz/download
> 
> Hi @ all
> 
> I have a new add-on here which I use e.g. to bring partitions from mbr to gpt without data loss.
> It is also well suited for rescuing broken partitions. 
> 
> GPT fdisk (consisting of the gdisk, cgdisk, sgdisk, and fixparts programs) is a set of text-mode partitioning tools for Linux, 
> FreeBSD, Mac OS X, and Windows. 
> The gdisk, cgdisk, and sgdisk programs work on Globally Unique Identifier (GUID) Partition Table (GPT) disks, 
> rather than on the older (and once more common) Master Boot Record (MBR) partition tables. 
> The fixparts program repairs certain types of damage to MBR disks and enables changing partition types from 
> primary to logical and vice-versa.
> 
> 
> Signed-off-by: Marcel Follert (Smooky) <smooky@v16.de>
> ---
> config/rootfiles/packages/gptfdisk |  4 ++
> lfs/gptfdisk                       | 85 ++++++++++++++++++++++++++++++
> make.sh                            |  1 +
> 3 files changed, 90 insertions(+)
> create mode 100644 config/rootfiles/packages/gptfdisk
> create mode 100644 lfs/gptfdisk
> 
> diff --git a/config/rootfiles/packages/gptfdisk b/config/rootfiles/packages/gptfdisk
> new file mode 100644
> index 000000000..a1a854021
> --- /dev/null
> +++ b/config/rootfiles/packages/gptfdisk
> @@ -0,0 +1,4 @@
> +usr/sbin/cgdisk
> +usr/sbin/fixparts
> +usr/sbin/gdisk
> +usr/sbin/sgdisk
> diff --git a/lfs/gptfdisk b/lfs/gptfdisk
> new file mode 100644
> index 000000000..3f87e0c7e
> --- /dev/null
> +++ b/lfs/gptfdisk
> @@ -0,0 +1,85 @@
> +###############################################################################
> +#                                                                             #
> +# IPFire.org - A linux based firewall                                         #
> +# Copyright (C) 2007-2022  IPFire Team  <info@ipfire.org>                     #
> +#                                                                             #
> +# This program is free software: you can redistribute it and/or modify        #
> +# it under the terms of the GNU General Public License as published by        #
> +# the Free Software Foundation, either version 3 of the License, or           #
> +# (at your option) any later version.                                         #
> +#                                                                             #
> +# This program 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 General Public License for more details.                                #
> +#                                                                             #
> +# You should have received a copy of the GNU General Public License           #
> +# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
> +#                                                                             #
> +###############################################################################
> +
> +
> +###############################################################################
> +# Definitions
> +###############################################################################
> +
> +include Config
> +
> +VER        = 1.0.8
> +
> +THISAPP    = gptfdisk-$(VER)
> +DL_FILE    = $(THISAPP).tar.gz
> +DL_FROM    = $(URL_IPFIRE)
> +DIR_APP    = $(DIR_SRC)/$(THISAPP)
> +TARGET     = $(DIR_INFO)/$(THISAPP)
> +PROG	    = gptfdisk
> +PAK_VER    = 1
> +
> +DEPS	    = 
> +
> +###############################################################################
> +# Top-level Rules
> +###############################################################################
> +
> +objects = $(DL_FILE)
> +
> +$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
> +
> +$(DL_FILE)_MD5 = 74684c4eb0e6d5a1839e4bb0bba36fa2
> +
> +install : $(TARGET)
> +
> +check : $(patsubst %,$(DIR_CHK)/%,$(objects))
> +
> +download :$(patsubst %,$(DIR_DL)/%,$(objects))
> +
> +md5 : $(subst %,%_MD5,$(objects))
> +
> +dist: 
> +	@$(PAK)
> +
> +###############################################################################
> +# Downloading, checking, md5sum
> +###############################################################################
> +
> +$(patsubst %,$(DIR_CHK)/%,$(objects)) :
> +	@$(CHECK)
> +
> +$(patsubst %,$(DIR_DL)/%,$(objects)) :
> +	@$(LOAD)
> +
> +$(subst %,%_MD5,$(objects)) :
> +	@$(MD5)
> +
> +###############################################################################
> +# Installation Details
> +###############################################################################
> +
> +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
> +	@$(PREBUILD)
> +	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar xvfz $(DIR_DL)/$(DL_FILE)
> +	cd $(DIR_APP) && sed -i '29s#<ncursesw/ncurses.h>#<ncurses.h>#g' gptcurses.cc
> +	cd $(DIR_APP) && make
> +	cd $(DIR_APP) && cp cgdisk fixparts gdisk sgdisk /usr/sbin
> +	@rm -rf $(DIR_APP)
> +	@$(POSTBUILD)
> diff --git a/make.sh b/make.sh
> index e6f948ba0..4915ec2cb 100755
> --- a/make.sh
> +++ b/make.sh
> @@ -1615,6 +1615,7 @@ buildipfire() {
>   lfsmake2 libcdada
>   lfsmake2 pmacct
>   lfsmake2 squid-asnbl
> +  lfsmake2 gptfdisk
> }
> 
> buildinstaller() {
> -- 
> 2.33.1
>
smooky Jan. 17, 2022, 1:41 p.m. UTC | #2
Hi Michael.

It's true that fdisk now supports GPT. But it would be new to me that, 
unlike gdisk, it can switch drives from MBR to GPT or vice versa without 
data loss. Furthermore, gptfdisk can also rescue super drives or 
partitions. Then the compatibility with GPT and drives larger than 2TB 
is a lot better.

Best,
Marcel


Am 2022-01-17 10:04, schrieb Michael Tremer:
> Hello,
> 
> Thank you for this patch.
> 
> I have used gdisk in the past as well, but doesn’t fdisk provide this
> functionality out of the box now?
> 
> -Michael
> 
>> On 9 Jan 2022, at 12:09, smooky@v16.de wrote:
>> 
>>>>> https://www.rodsbooks.com/gdisk/ <<<
>> 
>> source = 
>> https://sourceforge.net/projects/gptfdisk/files/gptfdisk/1.0.8/gptfdisk-1.0.8.tar.gz/download
>> 
>> Hi @ all
>> 
>> I have a new add-on here which I use e.g. to bring partitions from mbr 
>> to gpt without data loss.
>> It is also well suited for rescuing broken partitions.
>> 
>> GPT fdisk (consisting of the gdisk, cgdisk, sgdisk, and fixparts 
>> programs) is a set of text-mode partitioning tools for Linux,
>> FreeBSD, Mac OS X, and Windows.
>> The gdisk, cgdisk, and sgdisk programs work on Globally Unique 
>> Identifier (GUID) Partition Table (GPT) disks,
>> rather than on the older (and once more common) Master Boot Record 
>> (MBR) partition tables.
>> The fixparts program repairs certain types of damage to MBR disks and 
>> enables changing partition types from
>> primary to logical and vice-versa.
>> 
>> 
>> Signed-off-by: Marcel Follert (Smooky) <smooky@v16.de>
>> ---
>> config/rootfiles/packages/gptfdisk |  4 ++
>> lfs/gptfdisk                       | 85 ++++++++++++++++++++++++++++++
>> make.sh                            |  1 +
>> 3 files changed, 90 insertions(+)
>> create mode 100644 config/rootfiles/packages/gptfdisk
>> create mode 100644 lfs/gptfdisk
>> 
>> diff --git a/config/rootfiles/packages/gptfdisk 
>> b/config/rootfiles/packages/gptfdisk
>> new file mode 100644
>> index 000000000..a1a854021
>> --- /dev/null
>> +++ b/config/rootfiles/packages/gptfdisk
>> @@ -0,0 +1,4 @@
>> +usr/sbin/cgdisk
>> +usr/sbin/fixparts
>> +usr/sbin/gdisk
>> +usr/sbin/sgdisk
>> diff --git a/lfs/gptfdisk b/lfs/gptfdisk
>> new file mode 100644
>> index 000000000..3f87e0c7e
>> --- /dev/null
>> +++ b/lfs/gptfdisk
>> @@ -0,0 +1,85 @@
>> +###############################################################################
>> +#                                                                     
>>         #
>> +# IPFire.org - A linux based firewall                                 
>>         #
>> +# Copyright (C) 2007-2022  IPFire Team  <info@ipfire.org>             
>>         #
>> +#                                                                     
>>         #
>> +# This program is free software: you can redistribute it and/or 
>> modify        #
>> +# it under the terms of the GNU General Public License as published 
>> by        #
>> +# the Free Software Foundation, either version 3 of the License, or   
>>         #
>> +# (at your option) any later version.                                 
>>         #
>> +#                                                                     
>>         #
>> +# This program 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 General Public License for more details.                        
>>         #
>> +#                                                                     
>>         #
>> +# You should have received a copy of the GNU General Public License   
>>         #
>> +# along with this program.  If not, see 
>> <http://www.gnu.org/licenses/>.       #
>> +#                                                                     
>>         #
>> +###############################################################################
>> +
>> +
>> +###############################################################################
>> +# Definitions
>> +###############################################################################
>> +
>> +include Config
>> +
>> +VER        = 1.0.8
>> +
>> +THISAPP    = gptfdisk-$(VER)
>> +DL_FILE    = $(THISAPP).tar.gz
>> +DL_FROM    = $(URL_IPFIRE)
>> +DIR_APP    = $(DIR_SRC)/$(THISAPP)
>> +TARGET     = $(DIR_INFO)/$(THISAPP)
>> +PROG	    = gptfdisk
>> +PAK_VER    = 1
>> +
>> +DEPS	    =
>> +
>> +###############################################################################
>> +# Top-level Rules
>> +###############################################################################
>> +
>> +objects = $(DL_FILE)
>> +
>> +$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
>> +
>> +$(DL_FILE)_MD5 = 74684c4eb0e6d5a1839e4bb0bba36fa2
>> +
>> +install : $(TARGET)
>> +
>> +check : $(patsubst %,$(DIR_CHK)/%,$(objects))
>> +
>> +download :$(patsubst %,$(DIR_DL)/%,$(objects))
>> +
>> +md5 : $(subst %,%_MD5,$(objects))
>> +
>> +dist:
>> +	@$(PAK)
>> +
>> +###############################################################################
>> +# Downloading, checking, md5sum
>> +###############################################################################
>> +
>> +$(patsubst %,$(DIR_CHK)/%,$(objects)) :
>> +	@$(CHECK)
>> +
>> +$(patsubst %,$(DIR_DL)/%,$(objects)) :
>> +	@$(LOAD)
>> +
>> +$(subst %,%_MD5,$(objects)) :
>> +	@$(MD5)
>> +
>> +###############################################################################
>> +# Installation Details
>> +###############################################################################
>> +
>> +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
>> +	@$(PREBUILD)
>> +	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar xvfz $(DIR_DL)/$(DL_FILE)
>> +	cd $(DIR_APP) && sed -i '29s#<ncursesw/ncurses.h>#<ncurses.h>#g' 
>> gptcurses.cc
>> +	cd $(DIR_APP) && make
>> +	cd $(DIR_APP) && cp cgdisk fixparts gdisk sgdisk /usr/sbin
>> +	@rm -rf $(DIR_APP)
>> +	@$(POSTBUILD)
>> diff --git a/make.sh b/make.sh
>> index e6f948ba0..4915ec2cb 100755
>> --- a/make.sh
>> +++ b/make.sh
>> @@ -1615,6 +1615,7 @@ buildipfire() {
>>   lfsmake2 libcdada
>>   lfsmake2 pmacct
>>   lfsmake2 squid-asnbl
>> +  lfsmake2 gptfdisk
>> }
>> 
>> buildinstaller() {
>> --
>> 2.33.1
>>
Adolf Belka Feb. 14, 2022, 9:23 p.m. UTC | #3
Reviewed-by: Adolf Belka <adolf.belka@ipfire.org>

On 09/01/2022 13:09, smooky@v16.de wrote:
>>>> https://www.rodsbooks.com/gdisk/ <<<
> source = https://sourceforge.net/projects/gptfdisk/files/gptfdisk/1.0.8/gptfdisk-1.0.8.tar.gz/download
>
> Hi @ all
>
> I have a new add-on here which I use e.g. to bring partitions from mbr to gpt without data loss.
> It is also well suited for rescuing broken partitions.
>
> GPT fdisk (consisting of the gdisk, cgdisk, sgdisk, and fixparts programs) is a set of text-mode partitioning tools for Linux,
> FreeBSD, Mac OS X, and Windows.
> The gdisk, cgdisk, and sgdisk programs work on Globally Unique Identifier (GUID) Partition Table (GPT) disks,
> rather than on the older (and once more common) Master Boot Record (MBR) partition tables.
> The fixparts program repairs certain types of damage to MBR disks and enables changing partition types from
> primary to logical and vice-versa.
>
>
> Signed-off-by: Marcel Follert (Smooky) <smooky@v16.de>
> ---
>   config/rootfiles/packages/gptfdisk |  4 ++
>   lfs/gptfdisk                       | 85 ++++++++++++++++++++++++++++++
>   make.sh                            |  1 +
>   3 files changed, 90 insertions(+)
>   create mode 100644 config/rootfiles/packages/gptfdisk
>   create mode 100644 lfs/gptfdisk
>
> diff --git a/config/rootfiles/packages/gptfdisk b/config/rootfiles/packages/gptfdisk
> new file mode 100644
> index 000000000..a1a854021
> --- /dev/null
> +++ b/config/rootfiles/packages/gptfdisk
> @@ -0,0 +1,4 @@
> +usr/sbin/cgdisk
> +usr/sbin/fixparts
> +usr/sbin/gdisk
> +usr/sbin/sgdisk
> diff --git a/lfs/gptfdisk b/lfs/gptfdisk
> new file mode 100644
> index 000000000..3f87e0c7e
> --- /dev/null
> +++ b/lfs/gptfdisk
> @@ -0,0 +1,85 @@
> +###############################################################################
> +#                                                                             #
> +# IPFire.org - A linux based firewall                                         #
> +# Copyright (C) 2007-2022  IPFire Team  <info@ipfire.org>                     #
> +#                                                                             #
> +# This program is free software: you can redistribute it and/or modify        #
> +# it under the terms of the GNU General Public License as published by        #
> +# the Free Software Foundation, either version 3 of the License, or           #
> +# (at your option) any later version.                                         #
> +#                                                                             #
> +# This program 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 General Public License for more details.                                #
> +#                                                                             #
> +# You should have received a copy of the GNU General Public License           #
> +# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
> +#                                                                             #
> +###############################################################################
> +
> +
> +###############################################################################
> +# Definitions
> +###############################################################################
> +
> +include Config
> +
> +VER        = 1.0.8
> +
> +THISAPP    = gptfdisk-$(VER)
> +DL_FILE    = $(THISAPP).tar.gz
> +DL_FROM    = $(URL_IPFIRE)
> +DIR_APP    = $(DIR_SRC)/$(THISAPP)
> +TARGET     = $(DIR_INFO)/$(THISAPP)
> +PROG	    = gptfdisk
> +PAK_VER    = 1
> +
> +DEPS	    =
> +
> +###############################################################################
> +# Top-level Rules
> +###############################################################################
> +
> +objects = $(DL_FILE)
> +
> +$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
> +
> +$(DL_FILE)_MD5 = 74684c4eb0e6d5a1839e4bb0bba36fa2
> +
> +install : $(TARGET)
> +
> +check : $(patsubst %,$(DIR_CHK)/%,$(objects))
> +
> +download :$(patsubst %,$(DIR_DL)/%,$(objects))
> +
> +md5 : $(subst %,%_MD5,$(objects))
> +
> +dist:
> +	@$(PAK)
> +
> +###############################################################################
> +# Downloading, checking, md5sum
> +###############################################################################
> +
> +$(patsubst %,$(DIR_CHK)/%,$(objects)) :
> +	@$(CHECK)
> +
> +$(patsubst %,$(DIR_DL)/%,$(objects)) :
> +	@$(LOAD)
> +
> +$(subst %,%_MD5,$(objects)) :
> +	@$(MD5)
> +
> +###############################################################################
> +# Installation Details
> +###############################################################################
> +
> +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
> +	@$(PREBUILD)
> +	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar xvfz $(DIR_DL)/$(DL_FILE)
> +	cd $(DIR_APP) && sed -i '29s#<ncursesw/ncurses.h>#<ncurses.h>#g' gptcurses.cc
> +	cd $(DIR_APP) && make
> +	cd $(DIR_APP) && cp cgdisk fixparts gdisk sgdisk /usr/sbin
> +	@rm -rf $(DIR_APP)
> +	@$(POSTBUILD)
> diff --git a/make.sh b/make.sh
> index e6f948ba0..4915ec2cb 100755
> --- a/make.sh
> +++ b/make.sh
> @@ -1615,6 +1615,7 @@ buildipfire() {
>     lfsmake2 libcdada
>     lfsmake2 pmacct
>     lfsmake2 squid-asnbl
> +  lfsmake2 gptfdisk
>   }
>   
>   buildinstaller() {

Patch

diff --git a/config/rootfiles/packages/gptfdisk b/config/rootfiles/packages/gptfdisk
new file mode 100644
index 000000000..a1a854021
--- /dev/null
+++ b/config/rootfiles/packages/gptfdisk
@@ -0,0 +1,4 @@ 
+usr/sbin/cgdisk
+usr/sbin/fixparts
+usr/sbin/gdisk
+usr/sbin/sgdisk
diff --git a/lfs/gptfdisk b/lfs/gptfdisk
new file mode 100644
index 000000000..3f87e0c7e
--- /dev/null
+++ b/lfs/gptfdisk
@@ -0,0 +1,85 @@ 
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007-2022  IPFire Team  <info@ipfire.org>                     #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program 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 General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER        = 1.0.8
+
+THISAPP    = gptfdisk-$(VER)
+DL_FILE    = $(THISAPP).tar.gz
+DL_FROM    = $(URL_IPFIRE)
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
+TARGET     = $(DIR_INFO)/$(THISAPP)
+PROG	    = gptfdisk
+PAK_VER    = 1
+
+DEPS	    = 
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = 74684c4eb0e6d5a1839e4bb0bba36fa2
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+dist: 
+	@$(PAK)
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+	@$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+	@$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+	@$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+	@$(PREBUILD)
+	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar xvfz $(DIR_DL)/$(DL_FILE)
+	cd $(DIR_APP) && sed -i '29s#<ncursesw/ncurses.h>#<ncurses.h>#g' gptcurses.cc
+	cd $(DIR_APP) && make
+	cd $(DIR_APP) && cp cgdisk fixparts gdisk sgdisk /usr/sbin
+	@rm -rf $(DIR_APP)
+	@$(POSTBUILD)
diff --git a/make.sh b/make.sh
index e6f948ba0..4915ec2cb 100755
--- a/make.sh
+++ b/make.sh
@@ -1615,6 +1615,7 @@  buildipfire() {
   lfsmake2 libcdada
   lfsmake2 pmacct
   lfsmake2 squid-asnbl
+  lfsmake2 gptfdisk
 }
 
 buildinstaller() {