diff options
Diffstat (limited to 'README')
-rw-r--r-- | README | 104 |
1 files changed, 59 insertions, 45 deletions
@@ -161,15 +161,15 @@ features of FixParts require elaboration: Installing ---------- -To compile GPT fdisk, you must have appropriate development tools -installed, most notably the GNU Compiler Collection (GCC) and its g++ -compiler for C++. I've also tested compilation with Clang, which seems to -work; however, I've not done extensive testing of the resulting binaries, -beyond checking a few basics. Under Windows, Microsoft Visual C++ 2008 can -be used instead. In addition, note these requirements: - -* On Linux, FreeBSD, OS X, and Solaris, libuuid must be installed. This is - the standard for Linux and OS X, although you may need to install a +To compile GPT fdisk, you must have appropriate development tools installed, +most notably the GNU Compiler Collection (GCC) and its g++ compiler for C++. +I've also tested compilation with Clang, which seems to work; however, I've +not done extensive testing of the resulting binaries, beyond checking a few +basics. See the README.Windows files for additional notes on compiling the +software for Windows. In addition, note these requirements: + +* On Linux, FreeBSD, macOS, and Solaris, libuuid must be installed. This is + the standard for Linux and macOS, although you may need to install a package called uuid-dev or something similar to get the headers. On FreeBSD, the e2fsprogs-libuuid port must be installed. @@ -177,11 +177,11 @@ be used instead. In addition, note these requirements: Unicode partition names, is optional on all platforms except Windows, on which it's not supported. Using this library was required to get proper UTF-16 partition name support in GPT fdisk versions prior to 0.8.9, but - as of that version it should not longer be required. Nonetheless, you can + as of that version it should no longer be required. Nonetheless, you can use it if you're having problems with the new UTF-16 support. This - library is normally installed in Linux and OS X, but you may need to + library is normally installed in Linux and macOS, but you may need to install the development headers (libicu-dev or something similar in - Linux; or the libicu36-dev Fink package in OS X). To compile with ICU + Linux; or the libicu36-dev Fink package in macOS). To compile with ICU support, you must modify the Makefile: Look for commented-out lines that refer to USE_UTF16, -licuuc, -licudata, or -licucore. Uncomment them and comment out the equivalents that lack these lines. @@ -189,56 +189,70 @@ be used instead. In addition, note these requirements: * The cgdisk program requires the ncurses library and its development files (headers). Most Linux distributions install ncurses by default, but you may need to install a package called libncurses5-dev, ncurses-devel, or - something similar to obtain the header files. These files were installed - already on my Mac OS X development system; however, they may have been - installed as dependencies of other programs I've installed. If you're - having problems installing ncurses, you can compile gdisk and/or sgdisk - without cgdisk by specifying only the targets you want to compile to - make. + something similar to obtain the header files. On my macOS development + system, I installed the nurses Homebrew ("brew") package; however, other + Unix-style software repositories are available and may work for you (see + the next item). If you're having problems installing ncurses, you can + compile gdisk and/or sgdisk without cgdisk by specifying only the targets + you want to compile to make. * The sgdisk program requires the popt library and its development files (headers). Most Linux distributions install popt by default, but you may need to install a package called popt-dev, popt-devel, or something - similar to obtain the header files. Mac OS users can find a version of + similar to obtain the header files. MacOS users can find a version of popt for Mac OS from Darwin Ports (http://popt.darwinports.com), MacPorts (https://trac.macports.org/browser/trunk/dports/devel/popt/Portfile), Fink (http://www.finkproject.org), or brew (http://macappstore.org/popt/); however, you'll first need to install the relevant environment - (instructions exist on the relevant projects' pages). Alternatively, you - can compile gdisk and/or cgdisk alone, without sgdisk; gdisk doesn't - require popt. + (instructions exist on the relevant projects' pages). When I re-built my + Mac build environment in February of 2020, I found that brew was, by far, + the easiest of these to install. Some of the others seem to have been + abandoned, but I didn't investigate thoroughly. I'm leaving the references + in case they might be useful in the future. Instead of installing one of + These ports, you can compile gdisk and/or cgdisk alone, without sgdisk; + gdisk and cgdisk don't require popt. When all the necessary development tools and libraries are installed, you can uncompress the package and type "make" at the command prompt in the -resulting directory. (You may need to type "make -f Makefile.mac" on Mac OS -X, "make -f Makefile.freebsd" on FreeBSD, "make -f Makefile.solaris" on -Solaris, or "make -f Makefile.mingw" to compile using MinGW for Windows.) -You may also need to add header (include) directories or library -directories by setting the CXXFLAGS environment variable or by editing the -Makefile. The result should be program files called gdisk, cgdisk, sgdisk, -and fixparts. Typing "make gdisk", "make cgdisk", "make sgdisk", or "make -fixparts" will compile only the requested programs. You can use these -programs in place or copy the files to a suitable directory, such as -/usr/local/sbin. You can copy the man pages (gdisk.8, cgdisk.8, sgdisk.8, -and fixparts.8) to /usr/local/man/man8 to make them available. +resulting directory. (Beginning with version 1.0.9, GPT fdisk provides a +consolidated Makefile for all supported OSes. Earlier versions used +OS-specific Makefiles, such as Makefile.mac and Makefile.freebsd, which are +still provided, but are deprecated.) You must use GNU make (gmake on +FreeBSD) with this Makefile. You may also need to add header (include) +directories or library directories by setting the CXXFLAGS environment +variable or by editing the Makefile. The result should be program files +called gdisk, cgdisk, sgdisk, and fixparts (or variants with "32.exe" or +"64.exe" added for Windows binaries). Typing "make gdisk", "make cgdisk", +"make sgdisk", or "make fixparts" will compile only the requested programs. +You can use these programs in place or copy the files to a suitable +directory, such as /usr/local/sbin. You can copy the man pages (gdisk.8, +cgdisk.8, sgdisk.8, and fixparts.8) to /usr/local/man/man8 to make them +available. + +Cross-compiling is possible, but is not well-tested, except for compiling +Windows binaries on Linux. (See README.Windows for details.) To +cross-compile, specify the TARGET environment variable when launching make, +as in "TARGET=win64 make" to compile for 64-bit (x86-64, X64, AMD64) Windows +on a non-Windows platform. Supported TARGET values are linux, freebsd, +solaris, macos, win32, and win64. Caveats ------- -THIS SOFTWARE IS BETA SOFTWARE! IF IT WIPES OUT YOUR HARD DISK OR EATS YOUR -CAT, DON'T BLAME ME! To date, I've tested the software on several USB flash -drives, physical hard disks, and virtual disks in the QEMU and VirtualBox -environments. Many others have now used the software on their computers, as -well. I believe all data-corruption bugs to be squashed, but I know full well -that the odds of my missing something are high. This is particularly true for -large (over-2TiB) drives; my only direct testing with such disks is with -virtual QEMU and VirtualBox disks. I've received user reports of success with -RAID arrays over 2TiB in size, though. +DISK PARTITIONING SOFTWARE IS DANGEROUS! Although the GPT fdisk project has +existed since 2009, I do not claim it is entirely bug-free; in fact a glance +at the revision history shows recent bug fixes. I believe all +data-corruption bugs to be squashed, but I know full well that the odds of +my missing something are high. This is particularly true for large +(over-2TiB) drives and use in exotic environments. My main development platform is a system running the 64-bit version of Ubuntu Linux. I've also tested on several other 32- and 64-bit Linux -distributions, Intel-based Mac OS X 10.6 and several later versions, 64-bit -FreeBSD 7.1, and Windows 7 and 10. +distributions, Intel-based macOS 10 and 11, 64-bit FreeBSD 7.1, and Windows +7 and 10. Other environments qualify as "exotic," and even macOS and Windows +are borderline exotic in this context, since I use Linux almost exclusively, +and my impression is that GPT fdisk is far more commonly used on Linux than +in other OSes. Redistribution -------------- @@ -266,7 +280,7 @@ Additional code contributors include: - Justin Maggard (justin.maggard@netgear.com) -- Dwight Schauer (dschauer@ti.com) +- Dwight Schauer (das@teegra.net) - Florian Zumbiehl (florz@florz.de) |