暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【LFS 系列】从零开始 DIY Linux 系统:(六)构建 LFS 系统 - E2fsprogs-1.42.12

原创 Lucifer三思而后行 2021-10-03
447

E2fsprogs 软件包包含用于处理 ext2 文件系统的工具。它也支持 ext3 和 ext4 日志文件系统。

安装 E2fsprogs

首先进入到源码目录,解压软件包:

cd /sources
tar xf e2fsprogs-1.42.12.tar.gz
cd e2fsprogs-1.42.12

首先,修复上游找到的一个潜在安全问题:

sed -e '/int.*old_desc_blocks/s/int/blk64_t/' \
    -e '/if (old_desc_blocks/s/super->s_first_meta_bg/desc_blocks/' \
    -i lib/ext2fs/closefs.c

E2fsprogs 的文档建议在源目录树的一个子目录中编译软件包:

mkdir -v build
cd build

准备编译 E2fsprogs:

LIBS=-L/tools/lib                    \
CFLAGS=-I/tools/include              \
PKG_CONFIG_PATH=/tools/lib/pkgconfig \
../configure prefix=/usr           \
             bindir=/bin           \
             --with-root-prefix=""   \
             --enable-elf-shlibs     \
             --disable-libblkid      \
             --disable-libuuid       \
             --disable-uuidd         \
             --disable-fsck

编译软件包:

make

要设置和运行测试套件,我们首先需要把 /tools/lib 中的一些库链接到测试程序查找的位置。

输入命令运行测试:

ln -sfv /tools/lib/lib{blk,uu}id.so.1 lib
make LD_LIBRARY_PATH=/tools/lib check

E2fsprogs 的其中一个测试程序会试图分配 256M 的内存。如果你没有比这更多的 RAM,确保为测试启用了足够的交换空间。

安装二进制文件、文档以及共享库:

make install

安装静态库和头文件:

make install-libs

使安装的静态库可写,以便后面可以移除调试符号:

chmod -v u+w /usr/lib/{libcom_err,libe2p,libext2fs,libss}.a

该软件包安装了一个 gzip 压缩的 .info 文件但并没有更新系统级的 dir 文件。解压该文件并用下面的命令更新系统的 dir 文件。

gunzip -v /usr/share/info/libext2fs.info.gz
install-info --dir-file=/usr/share/info/dir /usr/share/info/libext2fs.info

如果需要的话,用下面的命令创建和安装一些额外的文档:

makeinfo -o      doc/com_err.info ../lib/et/com_err.texinfo
install -v -m644 doc/com_err.info /usr/share/info
install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info

安装完成后清理工作:

cd ../..
rm -rf e2fsprogs-1.42.12


本次分享到此结束啦~

如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是我创作最大的动力。

❤️ 技术交流可以 关注公众号:Lucifer三思而后行 ❤️

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论