获取parted源码
git clone http://git.savannah.gnu.org/git/parted.git
初始化gnulib submodule
cd parted
git submodule update --init ./gnulib/
cp gnulib/build-aux/bootstrap .
-
如果日后更新了parted,也需要更新 submodule
# 更新parted
git checkout master; git pull
# 更新submodule
git submodule foreach git pull origin master
编译parted(x86-64)
./configure --prefix=`pwd`/install --disable-device-mapper --without-readline
make -j16
make install
手动静态编译(x86-64)
# 进入下级parted目录
cd ./parted
cp ../install/lib/libparted.a .
# libuuid.a和libblkid.a需要从系统中获取,或者从其他途径编译
gcc -static -o parted command.o parted.o strlist.o table.o ui.o version.o libparted.a libver.a libuuid.a libblkid.a
# 优化parted体积
x86_64-linux-gnu-strip parted