Linux From Scratch 构建临时编译环境(一)

LFS(Linux From Scratch)构建过程全记录(四):构建临时lfs系统   在构建lfs系统之前我们需要构建脱离宿主系统的新的工具链,然后在使用新的工具链构建其他基础的工具。这样做的目的减少宿主系统的依赖和影响。   构建出来的新工具链会放在$LFS/tools 的文件夹中,让其与后面安装的文件和宿主系统生成的目录分开,防止污染后面要制作的lfs系统。 构建临时lfs系统   解压包命令: tar -xjf *** 附:在没有特殊说明的情况下,编译安装完一个就删除... 阅读详情
Linux From Scratch 构建临时编译环境(一)

 下载livecd: http://kerrek.linuxfromscratch.org/pub/

最新版本:lfslivecd-x86-6.3-r2160.iso

虚拟机版本:VMware Workstation 6.0.3 build-80004

 
export LFS=/mnt/lfs
mkdir -pv $LFS

mount /dev/sda2 $LFS

 
mkdir -v $LFS/sources
chmod -v a+wt $LFS/sources

 
mkdir -v $LFS/tools
ln -sv $LFS/tools /

 
groupadd lfs
useradd -s /bin/bash -g lfs -m -k /dev/null lfs

passwd lfs

 
chown -v lfs $LFS/tools
chown -v lfs $LFS/sources

su - lfs
" -" 参数指示 su 开启一个登陆Shell(login shell)而不是非登陆Shell(non-login shell)
 
cat > ~/.bash_profile << "EOF"
exec env -i HOME=$HOME TERM=$TERM PS1='/u:/w/$ ' /bin/bash
EOF
cat > ~/.bashrc << "EOF"
set +h
umask 022
LFS=/mnt/lfs
LC_ALL=POSIX
PATH=/tools/bin:/bin:/usr/bin
export LFS LC_ALL PATH
EOF
source ~/.bash_profile

cd $LFS/sources

 
tar xvf /lfs-sources/binutils-2.17.tar.bz2
cd binutils-2.17

 
mkdir -v ../binutils-build
cd ../binutils-build
CC="gcc -B/usr/bin/" ../binutils-2.17/configure --prefix=/tools --disable-nls --disable-werror
make
make install
make -C ld clean
make -C ld LIB_PATH=/tools/lib
cp -v ld/ld-new /tools/bin
cd ..
rm -rf binutils-build
rm -rf binutils-2.17
Binutils 是一组开发工具,包括连接器、汇编器和其他用于目标文件和档案的工具。

GCC-4.0.3 - 第一遍
 
tar xvf /lfs-sources/gcc-4.1.2.tar.bz2
mkdir -v gcc-build
cd gcc-build
CC="gcc -B/usr/bin/" ../gcc-4.1.2/configure --prefix=/tools /
--with-local-prefix=/tools --disable-nls /
--enable-shared --enable-languages=c
make bootstrap
make install
ln -vs gcc /tools/bin/cc
cd ..
rm -rf gcc-build
rm -rf gcc-4.1.2
GCC 软件包包含 GNU 编译器集合,其中有 C 和 C++ 编译器。

 
tar xvf /lfs-sources/linux-2.6.22.5.tar.bz2
cd linux-2.6.22.5
make mrproper
make headers_check
make INSTALL_HDR_PATH=dest headers_install
cp -rv dest/include/* /tools/include
cd ..
rm -rf linux-2.6.22.5
Linux-Libc-Headers 包含了" 纯净的"内核头文件。

 
tar xvf /lfs-sources/glibc-2.5.1.tar.bz2
cd glibc-2.5.1
mkdir -v ../glibc-build
cd ../glibc-build
../glibc-2.5.1/configure --prefix=/tools /
--disable-profile --enable-add-ons /
--enable-kernel=2.6.0 --with-binutils=/tools/bin /
--without-gd --with-headers=/tools/include /
--without-selinux
make
mkdir -v /tools/etc
touch /tools/etc/ld.so.conf
make install
cd ..
rm -rf glibc-build
rm -rf glibc-2.5.1

Glibc 包含了主要的C库。这个库提供了基本例程,用于分配内存、搜索目录、打开关闭文件、读写文件、字串处理、模式匹配、数学计算等等。

 
mv -v /tools/bin/{ld,ld-old}
mv -v /tools/$(gcc -dumpmachine)/bin/{ld,ld-old}
mv -v /tools/bin/{ld-new,ld}
ln -sv /tools/bin/ld /tools/$(gcc -dumpmachine)/bin/ld
gcc -dumpspecs | sed 's@^/lib/ld-linux.so.2@/tools&@g' > `dirname $(gcc -print-libgcc-file-name)`/specs
GCC_INCLUDEDIR=`dirname $(gcc -print-libgcc-file-name)`/include &&
find ${GCC_INCLUDEDIR}/* -maxdepth 0 -xtype d -exec rm -rvf '{}' /; &&
rm -vf `grep -l "DO NOT EDIT THIS FILE" ${GCC_INCLUDEDIR}/*` &&
unset GCC_INCLUDEDIR
测试工具链的调整
echo 'main(){}' > dummy.c
cc dummy.c
readelf -l a.out | grep 'tools'
如果输出大致如下
[Requesting program interpreter: /tools/lib/ld- linux.so.2]
则表示调整成功,因为所有的库已经连接到了/tools/lib下。
rm -rf a.out dummy.c

 
tar xvf /lfs-sources/tcl8.4.15-src.tar.gz
cd tcl8.4.15/unix
./configure --prefix=/tools
make
make install
make install-private-headers
ln -sv tclsh8.4 /tools/bin/tclsh
cd $LFS/sources
tar xvf /lfs-sources/expect-5.43.0.tar.gz
cd expect-5.43
patch -Np1 -i /lfs-sources/expect-5.43.0-spawn-1.patch
cp configure{,.bak}
sed 's:/usr/local/bin:/bin:' configure.bak > configure
./configure --prefix=/tools --with-tcl=/tools/lib --with-tclinclude=/tools/include --with-x=no
make
make SCRIPTS="" install
cd $LFS/sources
tar xvf /lfs-sources/dejagnu-1.4.4.tar.gz
cd dejagnu-1.4.4
./configure --prefix=/tools
make install
cd ..
rm -rf tcl8.4.15
rm -rf expect-5.43
rm -rf dejagnu-1.4.4
Tcl 软件包包含工具命令语言(Tool Command Language)
Expect 软件包包含一个通过执行脚本对话框与其它交互式程序通信的工具
DejaGNU 软件包包含了一个测试其它程序的框架

GCC-4.0.3 - 第二遍
 
tar xvf /lfs-sources/gcc-4.1.2.tar.bz2
cd gcc-4.1.2
cp -v gcc/Makefile.in{,.orig}
sed 's@/./fixinc/.sh@-c true@' gcc/Makefile.in.orig > gcc/Makefile.in
cp -v gcc/Makefile.in{,.tmp}
sed 's/^XCFLAGS =$/& -fomit-frame-pointer/' gcc/Makefile.in.tmp /
> gcc/Makefile.in
patch -Np1 -i /lfs-sources/gcc-4.1.2-specs-1.patch
mkdir -v ../gcc-build
cd ../gcc-build
../gcc-4.1.2/configure --prefix=/tools /
--with-local-prefix=/tools /
--enable-clocale=gnu --enable-shared /
--enable-threads=posix --enable-__cxa_atexit /
--enable-languages=c,c++ --disable-libstdcxx-pch
make
make install
cd ..
rm -rf gcc-build
rm -rf gcc-4.1.2
再次测试工具链的调整,以确保刚刚编译的gcc正确工作
echo 'main(){}' > dummy.c
cc dummy.c
readelf -l a.out | grep 'tools'
如果输出大致如下
[Requesting program interpreter: /tools/lib/ld- linux.so.2]
则表示调整成功,因为所有的库已经连接到了/tools/lib下。
rm -rf a.out dummy.c

Binutils-2.16.1 - 第二遍
 
tar xvf /lfs-sources/binutils-2.17.tar.bz2
mkdir -v binutils-build
cd binutils-build
../binutils-2.17/configure --prefix=/tools --disable-nls /
--with-lib-path=/tools/lib
make
make install
make -C ld clean
make -C ld LIB_PATH=/usr/lib:/lib
cp -v ld/ld-new /tools/bin
cd ..
rm -rf binutils-build
rm -rf binutils-2.17

 
tar xvf /lfs-sources/ncurses-5.6.tar.gz
cd ncurses-5.6
./configure --prefix=/tools --with-shared --without-debug --without-ada --enable-overwrite
make
make install
cd ..
rm -rf ncurses-5.6
Ncurses 提供独立于终端的字符终端处理库,含有功能键定义(快捷键)、屏幕绘制以及基于文本终端的图形互动功能

 
tar xvf /lfs-sources/bash-3.2.tar.gz
cd bash-3.2
patch -Np1 -i /lfs-sources/bash-3.2-fixes-5.patch
./configure --prefix=/tools --without-bash-malloc
make
make install
ln -vs bash /tools/bin/sh
cd ..
rm -rf bash-3.2
Bash 是 Bourne-Again Shell 的缩写,它在 UNIX 系统中作为 shell 被广泛使用

 
tar xvf /lfs-sources/bzip2-1.0.4.tar.gz
cd bzip2-1.0.4
make
make PREFIX=/tools install
cd ..
rm -rf bzip2-1.0.4
Bzip2 包含了对文件进行压缩和解压缩的工具,对于文本文件, bzip2 比传统的 gzip 拥有更高压缩比

 
tar xvf /lfs-sources/coreutils-6.9.tar.bz2
cd coreutils-6.9
./configure --prefix=/tools
make
make install
cp -v src/su /tools/bin/su-tools
cd ..
rm -rf coreutils-6.9
Coreutils 软件包包括一整套用于显示和设置基本系统特征的工具

 
tar xvf /lfs-sources/diffutils-2.8.1.tar.gz
cd diffutils-2.8.1
./configure --prefix=/tools
make
make install
cd ..
rm -rf diffutils-2.8.1
Diffutils 软件包里的程序可以向你显示两个文件或目录的差异,常用来生成软件的补丁

 
tar xvf /lfs-sources/findutils-4.2.31.tar.gz
cd findutils-4.2.31
./configure --prefix=/tools
make
make install
cd ..
rm -rf findutils-4.2.31
Findutils 软件包包含查找文件的工具,既能即时查找(递归的搜索目录,并可以显示、创建和维护文件),也能在数据库里查找(通常比递归查找快但是在数据库没有及时更新的情况下,结果并不可靠)

 
tar xvf /lfs-sources/gawk-3.1.5.tar.bz2
cd gawk-3.1.5
./configure --prefix=/tools
cat >> config.h << "EOF"
#define HAVE_LANGINFO_CODESET 1
#define HAVE_LC_MESSAGES 1
EOF
make
make install
cd ..
rm -rf gawk-3.1.5
Gawk 是一个处理文本文件的工具包

 
tar xvf /lfs-sources/gettext-0.16.1.tar.gz
cd gettext-0.16.1
cd gettext-tools
./configure --prefix=/tools --disable-shared
make -C gnulib-lib
make -C src msgfmt
cp -v src/msgfmt /tools/bin
cd $LFS/sources
rm -rf gettext-0.16.1
Gawk 是一个处理文本文件的工具包

 
tar xvf /lfs-sources/grep-2.5.1a.tar.bz2
cd grep-2.5.1a
./configure --prefix=/tools --disable-perl-regexp
make
make install
cd ..
rm -rf grep-2.5.1a
Grep 可以按指定的匹配模式搜索文件中的内容

 
tar xvf /lfs-sources/gzip-1.3.12.tar.gz
cd gzip-1.3.12
./configure --prefix=/tools
make
make install
cd ..
rm -rf gzip-1.3.12
Gzip 软件包包含了压缩和解压文件的程序

 
tar xvf /lfs-sources/make-3.81.tar.bz2
cd make-3.81
./configure --prefix=/tools
make
make install
cd ..
rm -rf make-3.81
Make 软件包包含一个编译软件包的程序

 
tar xvf /lfs-sources/patch-2.5.4.tar.gz
cd patch-2.5.4
./configure --prefix=/tools
make
make install
cd ..
rm -rf patch-2.5.4
Patch 软件包包含一个根据补丁文件来修改原文件的程序。补丁文件通常是用 diff 程序创建的

 
tar xvf /lfs-sources/perl-5.8.8.tar.bz2
cd perl-5.8.8
patch -Np1 -i /lfs-sources/perl-5.8.8-libc-2.patch
./configure.gnu --prefix=/tools -Dstatic_ext='Data/Dumper Fcntl IO POSIX'
make perl utilities
cp -v perl pod/pod2man /tools/bin
mkdir -pv /tools/lib/perl5/5.8.8
cp -Rv lib/* /tools/lib/perl5/5.8.8
cd ..
rm -rf perl-5.8.8
Perl 是 Practical Extraction and Report Language的缩写。Perl 将 C, sed, awk 和 sh 的最佳特性集于一身,是一种强大的编程语言

 
tar xvf /lfs-sources/sed-4.1.5.tar.gz
cd sed-4.1.5
./configure --prefix=/tools
make
make install
cd ..
rm -rf sed-4.1.5
sed 是一个流编辑程序,在一个输入流(从一个文件或者一个管道的输入)上进行基本的文本编辑操作

 
tar xvf /lfs-sources/tar-1.18.tar.bz2
cd tar-1.18
./configure --prefix=/tools
make
make install
cd ..
rm -rf tar-1.18
Tar 软件包含有一个归档程序,用来保存文件到归档文件或者从给定的 tar 归档文件中释放文件

 
tar xvf /lfs-sources/texinfo-4.9.tar.bz2
cd texinfo-4.9
./configure --prefix=/tools
make
make install
cd ..
rm -rf texinfo-4.9
Texinfo 软件包包含读取、写入和转换 Info 文档的程序,以提供系统文档
 
tar xvf /lfs-sources/util-linux-2.12r.tar.bz2
cd util-linux-2.12r
sed -i 's@/usr/include@/tools/include@g' configure
./configure
make -C lib
make -C mount mount umount
make -C text-utils more
cp -v mount/{,u}mount text-utils/more /tools/bin
cd ..
rm -rf util-linux-2.12r

Util- linux 软件包包含许多工具。其中比较重要的是加载、卸载、格式化、分区和管理驱动器,以及打开 tty 端口和处理消息

 
strip --strip-debug /tools/lib/*
strip --strip-unneeded /tools/{,s}bin/*

rm -rf /tools/{info,man}

exit

chown -R root:root $LFS/tools


这时可以用vmware 做一个snapshot

菜单VM->snapshot->take snapshot

这样在以后 出错时 可以从这个点恢复






http://www.linuxfromscratch.org/lfs/view/stable/
http://lamp.linux.gov.cn/Linux/LFS-6.2/index.html
http://blog.chinaunix.net/u/13265/showart.php?id=477122

LFS(Linux From Scratch)构建过程全记录(一):准备工作 前言   根据LFS文档,构建Linux系统。LFS版本:Linux From Scratch Version 7.9-systemd   首先了解一下该版本下LFS构建中的软件包和作用(摘自Linux From Scratch Version 7.9-systemd内容): Acl: 这个软件包包括了管理访问控制列表(ACL)的工具,用于定义文件和目录更细粒度的自主访问权。 Attr: 这个软... 阅读详情

相关推荐

LFS(Linux From Scratch)构建过程全记录(二):构建分区

  上一篇说明了lfs的一些准备工作,现在我们需要在构建lfs之前进行分区的创建。 创建分区   使用fdisk -l 查看当前系统的硬盘分区情况: Disk /dev/sda: 238.5 GiB, 256060514304 bytes, 500118192 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/p...

一无所有 1804

Linux From Scratch 9.0 (LFS) 定制自己的Linux发行版过程注意事项

Linux From Scratch 9.0 (LFS) 定制自己的Linux系统

crazy_rays的专栏 3113

LFS(Linux From Scratch)是如何搭建的

LFS linux全称为Linux From Scratch,最终的系统从源代码直接编译生成。Linux From Scratch 这个项目以及使用 LFS 系统带来的好处是--用户可以控制系统的所有特征,包括目录布局、脚本设置和安全设置等等,用户可以指定在哪里安装、为什么安装以及怎样安装每一个程序,可以完全按照自己的需求定制他们的 Linux 系统,而且使用户对他们的系统有更多的控制权。  搭建...

Jeffery的博客 2547

什么是 Linux From Scratch (LFS)?

是一个项目和一本书,指导用户从头开始构建自己的自定义Linux系统,而不是使用现成的Linux发行版。LFS项目由 Gerard Beekmans 在1999年创建,旨在帮助用户了解Linux的内部工作原理,并提供对系统的完全控制。

刘元林的博客 1934

LFS(Linux From Scratch)构建过程全记录(三):下载并确认软件包和最后的准备

  本篇我们需要准备好后续需要的软件包和补丁,并做构建系统的最后的准备工作。 准备软件包和补丁   lfs7.9 的软件包下载地址:ftp://ftp.lfs-matrix.net/pub/lfs/lfs-packages/   创建软件包目录、设置写权限和粘滞模式、校验MD5: mkdir -v $LFS/sources chmod -v a+wt $LFS/sources pushd $L...

一无所有 1368

fluent linux运行算例,Fluent算例精选|03利用VOF和蒸发-冷凝模型

通过学习本算例您将获得?1、学会基本的VOF模型设置流程2、学会利用蒸发-冷凝模型来模拟传热沸腾目录1摘要42传热沸腾模型介绍43前处理44求解设置54.1启动Fluent54.2网格缩放64.3求解器设置74.4多相流模型设置84.5能量方程求解设置94.6紊流模型设置104.7添加材料114.8多相流中相设置124.9操作条件设置144.10边界条件设置154.10.1heatsource边界...

weixin_33278819的博客 3186

在虚拟机中直接使用liveCD:lfslivecd-x86-6.3-r2160.iso

主要是转自:参考:http://blogold.chinaunix.net/u/13265/showart.php?id=477122。 谢谢源作者!贴于此,供自己日后查询!1.环境 虚拟机:vmware-6.5 liveCD: lfslivecd-x86-6.3-r2160.iso 2.安装 参考:http://blogold.chinaunix.net/u/13265/showart.php

IOT物联网小镇 3487

【抖音滑动验证码风控分析】

文章摘要:通过对比正常响应与验证码风控响应的头部信息,发现两者存在显著差异。正常响应返回JSON格式数据(Content-Type: application/json)并采用分块传输(Transfer-Encoding: chunked),而风控响应仅返回空文本(Content-Type: text/plain,Content-Length: 0),并通过X-Vc-Bdturing-Parameters等特殊头字段传递风控信息。这些差异主要体现在内容类型、数据传输方式和风控标识参数上,为风控识别提供了关键特

qq_44990881的博客 1103

livecd工具下载地址

livecd工具的下载地址为。请根据系统构架下载对应的镜像。

RZer的博客 1万+

Crossformer实战:从零开始搭建多变量时间序列预测模型(附ETTh1数据集调参指南)

本文提供了从零开始搭建Crossformer多变量时间序列预测模型的实战指南,并附有详细的ETTh1数据集调参攻略。文章深入解析了Crossformer的核心设计,重点探讨了seg_len和win_size等关键参数对模型性能的影响,并分享了环境配置、训练调试及常见问题的解决方案,帮助开发者高效应用这一前沿深度学习模型。

weixin_29281915的博客 321

42、InfiniBand技术详解:QP状态机、操作及错误处理

本文深入解析InfiniBand技术中的核心组件QP(Queue Pair)状态机、工作请求处理机制、支持的操作类型及错误处理策略。详细介绍了QP的创建与状态转换流程,包括INIT、RTR、RTS等关键状态,并提供了状态修改的代码示例。文章还探讨了工作请求的发布、资源使用限制、围栏机制以及重试和RNR流程,帮助开发者理解通信可靠性保障机制。此外,涵盖了多播组的应用场景与API使用方法,并对比了用户空间与内核级RDMA API的调用差异,最后给出了实践建议和常见问题解答,为构建高性能分布式系统提供技术指导。

oauth7security的博客 133

linux from scratch / 从零开始生成linux

文章背景:http://www.linuxfromscratch.org/lfs/view/stable/index.html 创建分区: parted /dev/sda mkpart primary ext4 50G 100% 参考: https://blog.youkuaiyun.com/songpeng26/article/details/105180694 格式化分区: mkfs /dev/sda3...

songpeng26的博客 1430

ZYNQ通过AXI DMA实现PL发送连续大量数据到PS DDR

方案二是在PS端的MPU配置中,将DMA缓冲区所在的内存区域标记为“不缓存”(Device或Strongly Ordered类型),但这样CPU访问这些内存区的速度会大幅降低,需要根据实时性和数据正确性的需求做权衡。更妙的是,描述符链表可以做成一个环状队列,放在DDR里让DMA循环取走,从而实现持续不断的“流式”传输。用FPGA实现FFT硬件加速的系统中也是如此:PS向PL提交待处理的FFT数据,PL硬件加速计算后,DMA把结果写回DDR,全程CPU几乎只做配置调度,大量数据吞吐留给了硬件通道。

QQ_778132974的博客 175

交叉编译 MIPS Linux From Scratch

交叉编译 MIPS LFS 系统 编译环境 主机:X86 系统:Fedora 28 宿主工具链:x86_64-redhat-linux(8.3.1) 宿主内核:4.20.16-100.fc28.x86_64 MIPS-LFS系统运行目标平台:龙芯3A3000平台 有很多 Linux 爱好者都想自己制作一个可以满足自己工作、娱乐的操作系统,大家在网上搜索制作操作系统的资料,但大都是 《Linu...

2puT 2万+

EtherCAT主站SOEM -- 1 -- SOEM之ethercattype.h文件分析

“ethercattype.h” 文件用于支持 EtherCAT 网络通信,提供了各种类型定义和宏,以便开发者更轻松地开发 EtherCAT 相关应用程序。这些定义包括数据类型、命令类型、状态类型和错误类型,以支持 EtherCAT 通信。根据具体应用需求,还可以调整一些超时和帧长度设置。这些定义用于处理函数调用的结果,如 EC_NOFRAME(没有帧返回)、EC_ERROR(一般错误)、EC_TIMEOUT(请求超时)等。这些定义用于处理 EtherCAT 命令,例如 EC_CMD_APRD(自动递增读取

常驻客栈的博客--嵌入式EtherCAT 2715

2023年高教社杯 | 2023年高教社杯全国大学生数学建模思路(A题思路、C题思路)

2023年高教社杯 | 2023年高教社杯全国大学生数学建模思路(A题思路、C题思路)

前程算法屋的博客 624

从 Linux From Scratch 开始创建你自己的操作系统

然后,无论如何,学习。然后你继续下一个组件并从那里开始工作,直到你最终构建了一个完整的操作系统,或者至少构建了一个你需要的操作系统。你可以坚持你通常做的事情,无论是将所有内容存储在单个分区上,分离根分区和主分区,还是加密你的磁盘。如果你想继续本着从零开始尽可能多构建的精神,你可以决定构建自己的桌面环境,但是没有什么可以阻止你选择许多预先存在的选项之一。]项目专为使你能够创建自己的 Linux 操作系统来满足你的需求而创建,无论是用于特殊硬件调整、最大化性能、保持最前沿,还是学习 Linux 的内部结构。

Libra1313的博客 1354

WblockCloneObjects克隆一个图纸内的实体包括块参照,同名块参照的处理

public static void HeBingTu2(double lieJu, List<string> filePaths) { Document doc = Application.DocumentManager.MdiActiveDocument; Database db = doc.Database; using (DocumentLock docLock = doc.Lock...

1108

说说Linux From Scratch (LFS)

原贴:http://blog.chinaunix.net/u/12766/showart_185722.html 说说Linux From Scratch (LFS)

最实用的Linux博客 2740

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Linux From Scratch

Linux From Scratch 版本 6.2 Gerard Beekmans Copyright 1999–2006 Gerard Beekmans 谨以本书献给 LinuxSir.org 以及所有热爱 Linux 的人们。 译者: 金步国(0-5章) ipconfigme(6-7章) bobkey(8-9章) 发布日期

zhongguomin的专栏 761

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

LFS(Linux From Scratch)学习笔记

官方地址 http://www.linuxfromscratch.org/lfs/ 学习版本 lfs 10.0 笔记 挂个盘作为 $LFS,假设是 /opt/lfs 在 $LFS 下创建文件系统目录结构 编译一些重要的临时软件到 /opt/lfs 目录下,例如编译器链接器, cp,mv等基础命令 挂载虚拟内核文件系统, 如 /proc chroot 到 $LFS 在 chroot 环境下编译剩下的临时软件 退出 chroot,删除多余的文件,例如编译中间文件,文档,debug符号等 将 $LFS 整个目录

xin053 796

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

TL;DR Linux From Scratch 使用教程

TL;DR Linux From Scratch 使用教程 1. 项目介绍 TL;DR Linux From Scratch(简称 tldrlfs)是一个简化版的 Linux From Scratch(LFS)指南。它旨在通过更少的命令和更短的时间,教授用户如何使用 Linux 内核构建一个功能性的操作系统。本项目避免了 LFS 中的一些不必要信息,专注于提供构建最小化操作系统的核心步骤。tldr...

gitblog_00570的博客 988

TL;DR Linux From Scratch 项目教程

TL;DR Linux From Scratch 项目教程 1. 项目目录结构及介绍 TL;DR Linux From Scratch 项目是一个简化的 Linux 从零开始的构建指南。项目的目录结构相对简单,主要由以下部分组成: bootloaders: 包含引导加载器的相关文件。 coreutils: 包含构建操作系统所需的核心实用程序。 init: 包含初始化系统的脚本和程序。 kerne...

gitblog_00577的博客 987

工具链技术说明(摘自Linux From Scratch - 版本 6.1.1 Chapter 5. 构建临时编译环境 )

工具链技术说明(摘自Linux From Scratch - 版本 6.1.1 Chapter 5. 构建临时编译环境 )5.2. 工具链技术说明 本节阐述了整个构建方法的一些基本原理和技术细节,您不必马上就理解本节中的所有内容。在您实际操作之后,就会了解大多数的东西,您可以在任何时候回顾本节。 Chapter 5 的总体目标是提供一个临时环境,您可以 chroo

992

TL;DR Linux From Scratch 安装与配置指南

TL;DR Linux From Scratch 安装与配置指南 1. 项目基础介绍 TL;DR Linux From Scratch(简称 tldrlfs)是一个旨在帮助用户以更简洁、快速的方式构建一个基于 Linux 内核的工作操作系统的指南。它避免了 Linux From Scratch(LFS)中的许多不必要的详细信息,专注于仅提供构建操作系统所需的核心步骤。 该项目主要使用的编程语言是 ...

gitblog_00578的博客 901

compile Linux from scratch

预热 LFS是什么? 全称Linux From Scratch, 本身并不是一个linux发行版,LFS相当于是一个厨师长,告诉你用什么材料按照什么样的步骤,可以编译出一个完整的linux系统。与之相关的还有ALFS( Automated Linux From Scratch)、BLFS(Beyond Linux From Scratch)、CLFS(Cross Linux from Sc...

Jocker的专栏 414
上一篇: LINUX下的CP命令的源代码
下一篇: linuxsir
skyremember
博客等级 码龄20年 204粉丝 484原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值