关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » HTML5 »重走LFS之路:(三) 磁盘初始化与源码准备

    重走LFS之路:(三) 磁盘初始化与源码准备

    2015-04-05 00:00:00 出处:oschina
    分享

    当硬件部分都准备就绪,就可以开始动手来准备软件了。不过在开始编译之前需要先做一件事,就像Windows中说的要格式化分区。虽然我真心不喜欢用Linux和Windows比,因为那样着实像是在英语和汉语之间来回翻译,想想就知道印欧语系和汉藏语系两门语言跨语系表述是多别扭的事。

    在Linux中,我们把这个操作叫做简历文件系统。Linux使用的文件系统是ext系列和swap,其中swap只用作交换分区的格式,所谓交换分区可以理解为虚拟内存。

    此时我们已经建立了三个分区/dev/sdb1 /dev/sdb2 /dev/sdb5,其中/dev/sdb1用作引导分区,我们将其文件系统建立为ext2,虽然实测ext4也没问题,但是可能是为了兼容一些老的东西吧,习惯上引导分区还是用ext2。作为swap分区的/dev/sdb2单独有分区格式,就叫做swap。剩下的/dev/sdb5使用ext4就好了。

    sudo mkfs -v -t ext2 /dev/sdb1
    sudo mkswap /dev/sdb2
    sudo mkfs -v -t ext4 /dev/sdb5

    重走LFS之路:(三) 磁盘初始化与源码准备

    建立文件系统后,就可以挂载,然后使用这块空间了。不过在此之前为了方便,我们来加个环境变量

    export LFS=/mnt/lfs

    从此以后,我们就以$LFS来作为lfs工程的存储根目录,只不过需要记得,每次宿主系统重启之后,都需要重新export和mount,假如嫌这样太麻烦,可以把环境变量定义和分区挂载写入用户配置文件~/.bashrc

    建立$LFS,用到p和v两个选项,p是parents,假如父目录不存在就一路新建,v会创建成功后回显信息。

    sudo mkdir -pv $LFS

    此时回显了一条信息

    mkdir: created directory `/mnt/lfs’

    当看到这条回显信息时证明已经新建成功,接下来我们把lfs工程的主要存储分区/dev/sdb5挂载到这个目录上

    sudo mount -v -t ext4 /dev/sdb5 $LFS

    其中-v选项依然是操作成功后回显信息,而值得注意的是-t选项,由它来指定需要挂载的是什么文件系统的分区,在稍微老一点的linux中挂载NTFS时候可能需要用到这个选项,保险起见我们还是显式定义了这个参数。

    /dev/sdb5 on /mnt/lfs type ext4 (rw)

    当看到这条回显信息的时候,证明/dev/sdb5分区已经成功地以读写方式挂载到了/mnt/lfs目录,接下来我们就可以像操作一个目录一样地操作这个分区。假如不太放心自己的$LFS定义的是否正确,可以用echo打印出来看看

    echo $LFS

    至此我们就可以在$LFS上面来下载和编译我们所需的lfs组件了,不过在此之前为了方便,我们需要把$LFS目录的属主改为当前用户,否则每次不危险的操作都加sudo得多别扭。顺便把等下要用到的存储下载源码的路径$LFS/src一起新建出来

    sudo chown -R purehow.purehow $LFS
    mkdir $LFS/src

    重走LFS之路:(三) 磁盘初始化与源码准备

    现在我们就可以进入$LFS/src来下载所需的组件,此时我们手动一个一个下载可就太痛苦了,好在wget有一个–input-file选项可以指定下载列表。官方提供了下载列表,我们此时需要下载两个文件,一个是文件下载列表wget-list,另一个是这个列表中每个文件的md5sum值,这样可以有效校验我们下载的源码文件是否完整正确。

    cd $LFS/src
    wget http://archive.linuxfromscratch.org/lfs-museum/stable/wget-list
    wget http://archive.linuxfromscratch.org/lfs-museum/stable/md5sums

    其中md5sum这个文件等下下载完成我们才能用到,现在先下载这些文件

    wget –input-file=wget-list –continue –directory-prefix=$LFS/src

    重走LFS之路:(三) 磁盘初始化与源码准备

    此时我们可以看到,文件已经在下载了。

    关于wget的参数:

    –input-file是下载列表文件,文件格式就是每行一个链接。

    –continue是断点续传,预防某种网络错误导致的下载中断。

    –directory-prefix下载存储目录

    有些人总嫌直接下载慢,需要个快点的代理。现在的翻墙代理貌似还真的只有ssh还比较靠谱,但是ssh tunnel回来的是一个本地的socks5端口,不巧的是wget里面压根就没法直接用socks5代理。这时候需要个小工具privoxy。

    sudo aptitude install privoxy
    sudo vi /etc/privoxy/config

    从里面能找到listen-address一行,它默认配的是localhost:8118,我是改成了127.0.0.1:8118,这行配置是指的转成的http代理用哪个端口。再找一行叫做forward-socks5,本来是注释的,我也没打开这个注释,直接新加一行forward-socks5 127.0.0.1:1080,1080就是ssh tunnel回来的socks5端口。

    listen-address 127.0.0.1:8118
    forward-socks5 127.0.0.1:1080

    此时的wget就可以使用-e参数来指定http_proxy,于是刚才的下载命令就变成了酱紫

    wget –input-file=wget-list –continue –directory-prefix=$LFS/src -e “http_proxy=http://127.0.0.1:8118″

    好吧~本站提供这堆东西的打包下载

    http://www.haopingrui.cn/lfs.tar.gz 124e1eb0e52f176ab84c38118b4975e3

    只要你的网速没问题,北京联通实测能够稳定在300KBps左右,峰值曾经到1MBps以上。

    下载完成后验证md5sum无误,就可以解压lfs.tar.gz了,假如不是从本站下载的可以忽略这一步

    之后将源码包目录压入目录栈,并且使用刚才下载的md5sums文件来验证每个源码包和补丁是否下载正确,这一步非常重要。值得注意的是,pushd之后需要popd,否则会一直压着。另外pushd之后当前目录会改变为这个目录,所以需要../md5sum。

    #md5sum lfs.tar.gz
    124e1eb0e52f176ab84c38118b4975e3  lfs.tar.gz
    #tar zxvf lfs.tar.gz > /dev/null
    #pushd $LFS/src/lfs
    /mnt/lfs/src/lfs /mnt/lfs/src
    #md5sum -c ../md5sums
    acl-2.2.52.src.tar.gz: OK
    attr-2.4.47.src.tar.gz: OK
    autoconf-2.69.tar.xz: OK
    automake-1.15.tar.xz: OK
    bash-4.3.30.tar.gz: OK
    bc-1.06.95.tar.bz2: OK
    binutils-2.25.tar.bz2: OK
    bison-3.0.4.tar.xz: OK
    bzip2-1.0.6.tar.gz: OK
    check-0.9.14.tar.gz: OK
    coreutils-8.23.tar.xz: OK
    dejagnu-1.5.2.tar.gz: OK
    diffutils-3.3.tar.xz: OK
    eudev-2.1.1.tar.gz: OK
    eudev-2.1.1-manpages.tar.bz2: OK
    e2fsprogs-1.42.12.tar.gz: OK
    expat-2.1.0.tar.gz: OK
    expect5.45.tar.gz: OK
    file-5.22.tar.gz: OK
    findutils-4.4.2.tar.gz: OK
    flex-2.5.39.tar.bz2: OK
    gawk-4.1.1.tar.xz: OK
    gcc-4.9.2.tar.bz2: OK
    gdbm-1.11.tar.gz: OK
    gettext-0.19.4.tar.xz: OK
    glibc-2.21.tar.xz: OK
    gmp-6.0.0a.tar.xz: OK
    gperf-3.0.4.tar.gz: OK
    grep-2.21.tar.xz: OK
    groff-1.22.3.tar.gz: OK
    grub-2.02~beta2.tar.xz: OK
    gzip-1.6.tar.xz: OK
    iana-etc-2.30.tar.bz2: OK
    inetutils-1.9.2.tar.gz: OK
    intltool-0.50.2.tar.gz: OK
    iproute2-3.19.0.tar.xz: OK
    kbd-2.0.2.tar.gz: OK
    kmod-19.tar.xz: OK
    less-458.tar.gz: OK
    lfs-bootscripts-20150222.tar.bz2: OK
    libcap-2.24.tar.xz: OK
    libpipeline-1.4.0.tar.gz: OK
    libtool-2.4.6.tar.xz: OK
    linux-3.19.tar.xz: OK
    m4-1.4.17.tar.xz: OK
    make-4.1.tar.bz2: OK
    man-db-2.7.1.tar.xz: OK
    man-pages-3.79.tar.xz: OK
    mpc-1.0.2.tar.gz: OK
    mpfr-3.1.2.tar.xz: OK
    ncurses-5.9.tar.gz: OK
    patch-2.7.4.tar.xz: OK
    perl-5.20.2.tar.bz2: OK
    pkg-config-0.28.tar.gz: OK
    procps-ng-3.3.10.tar.xz: OK
    psmisc-22.21.tar.gz: OK
    readline-6.3.tar.gz: OK
    sed-4.2.2.tar.bz2: OK
    shadow-4.2.1.tar.xz: OK
    sysklogd-1.5.1.tar.gz: OK
    sysvinit-2.88dsf.tar.bz2: OK
    tar-1.28.tar.xz: OK
    tcl8.6.3-src.tar.gz: OK
    texinfo-5.2.tar.xz: OK
    tzdata2015a.tar.gz: OK
    udev-lfs-20140408.tar.bz2: OK
    util-linux-2.26.tar.xz: OK
    vim-7.4.tar.bz2: OK
    XML-Parser-2.44.tar.gz: OK
    xz-5.2.0.tar.xz: OK
    zlib-1.2.8.tar.xz: OK
    bash-4.3.30-upstream_fixes-1.patch: OK
    bc-1.06.95-memory_leak-1.patch: OK
    bzip2-1.0.6-install_docs-1.patch: OK
    coreutils-8.23-i18n-1.patch: OK
    glibc-2.21-fhs-1.patch: OK
    kbd-2.0.2-backspace-1.patch: OK
    mpfr-3.1.2-upstream_fixes-3.patch: OK
    readline-6.3-upstream_fixes-3.patch: OK
    sysvinit-2.88dsf-consolidated-1.patch: OK

    重走LFS之路:(三) 磁盘初始化与源码准备重走LFS之路:(三) 磁盘初始化与源码准备

    检测无误,分区和源码准备完成。

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    正版 Windows 11产品密钥怎么查找/查看?

    还有3个月,微软将停止 Windows 10 的更新

    Windows 10 终止支持后,企业为何要立即升级?

    Windows 10 将于 2025年10 月终止技术支持,建议迁移到 Windows 11

    Windows 12 发布推迟,微软正全力筹备Windows 11 25H2更新

    Linux 退出 mail的命令是什么

    Linux 提醒 No space left on device,但我的空间看起来还有不少空余呢

    hiberfil.sys文件可以删除吗?了解该文件并手把手教你删除C盘的hiberfil.sys文件

    Window 10和 Windows 11哪个好?答案是:看你自己的需求

    盗版软件成公司里的“隐形炸弹”?老板们的“法务噩梦” 有救了!

    IT头条

    公安部:我国在售汽车搭载的“智驾”系统都不具备“自动驾驶”功能

    02:03

    液冷服务器概念股走强,博汇、润泽等液冷概念股票大涨

    01:17

    亚太地区的 AI 驱动型医疗保健:2025 年及以后的下一步是什么?

    16:30

    智能手机市场风云:iPhone领跑销量榜,华为缺席引争议

    15:43

    大数据算法和“老师傅”经验叠加 智慧化收储粮食尽显“科技范”

    15:17

    技术热点

    商业智能成CIO优先关注点 技术落地方显成效(1)

    用linux安装MySQL时产生问题破解

    JAVA中关于Map的九大问题

    windows 7旗舰版无法使用远程登录如何开启telnet服务

    Android View 事件分发机制详解

    MySQL用户变量的用法

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。