日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

LFS(Linux From Scratch)学习

發(fā)布時間:2023/12/13 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LFS(Linux From Scratch)学习 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、環(huán)境準備

使用Debian平臺,需做如下環(huán)境檢查:

1、檢查各個需要的工具及內(nèi)核版本號,看看是否符合lfs7.7的列表要求

2、檢查需要用到的庫,一共有三個,gmp, mpfr和mpc

?

工具檢查腳本如下:

#filename:check_env.sh?#/bin/sh export LC_ALL=C# check for bash bash --version | head -n1 | cut -d" " -f2-4 echo "/bin/sh -> `readlink -f /bin/sh`" echo -n "Binutils: "; ld --version | head -n1 | cut -d" " -f3- bison --version | head -n1# check for yacc if [ -h /usr/bin/yacc ]; thenecho "/usr/bin/yacc -> `readlink -f /usr/bin/yacc`"; elif [ -x /usr/bin/yacc ]; thenecho yacc is `/usr/bin/yacc --version | head -n1` elseecho "yacc not found" fi# check for other bzip2 --version 2>&1 < /dev/null | head -n1 | cut -d" " -f1,6- echo -n "Coreutils: "; chown --version | head -n1 | cut -d")" -f2 diff --version | head -n1 find --version | head -n1 gawk --version | head -n1 if [ -h /usr/bin/awk ]; thenecho "/usr/bin/awk -> `readlink -f /usr/bin/awk`"; elif [ -x /usr/bin/awk ]; thenecho yacc is `/usr/bin/awk --version | head -n1` elseecho "awk not found" figcc --version | head -n1 g++ --version | head -n1 ldd --version | head -n1 | cut -d" " -f2- # glibc version grep --version | head -n1 gzip --version | head -n1 cat /proc/version m4 --version | head -n1 make --version | head -n1 patch --version | head -n1 echo Perl `perl -V:version` sed --version | head -n1 tar --version | head -n1 makeinfo --version | head -n1 xz --version | head -n1echo "main(){}" > dummy.c && g++ -o dummy dummy.c if [ -x dummy ]; thenecho "g++ compilation OK"; elseecho "g++ compilation failed"; firm -f dummy.c dummy

若結(jié)果如下,則環(huán)境就緒

若出現(xiàn)“command not found”,則缺少工具,可執(zhí)行如下命令進行安裝(以安裝gawk工具為例)

sudo aptitude install gawk

?

庫檢查腳本如下:

#filename:check_lib.sh?#!/bin/bashfor lib in lib{gmp,mpfr,mpc}.la; doecho $lib: $(if find /usr/lib* -name $lib | grep -q $lib; then:;elseecho not;fi) found doneunset lib

結(jié)果顯示,三個庫目前都不具備

?

二、存儲設(shè)備準備

LFS的編譯需要單獨有一塊存儲,條件不好的就單獨劃個分區(qū),條件好的就再掛塊硬盤,實在不行就新建個目錄來做這件事好了,只不過這樣是沒法引導(dǎo)起來,只能chroot之后當編譯環(huán)境用。

下面以VMware新建一塊SATA硬盤,然后接入虛擬機,分區(qū),掛載為例來描述這個過程。

?

點擊“編輯虛擬機設(shè)置”,選擇添加硬盤,如下圖:

選擇“SATA(A)”,點擊“下一步”,如下圖:

選擇“創(chuàng)建新的虛擬磁盤”,點擊“下一步”,如下圖:

設(shè)置磁盤大小為:20G,然后選擇“將虛擬磁盤存儲為單個文件”,點擊“下一步”,如下圖:

點擊“完成”,如下圖:

點擊“確定”,如下圖:

?

啟動虛擬機,執(zhí)行如下命令,查看新的硬盤信息

ls -l /dev | grep sd

新的硬盤為sdb,如下圖:

執(zhí)行如下命令后,選擇”New”來新建一個分區(qū),如下圖:

cfdisk /dev/sdb

選擇[Primary],創(chuàng)建一個新的主分區(qū),如下圖:

提示Size (in MB),選擇要創(chuàng)建的分區(qū)大小為:128,如下圖:

選擇[Beginning],在空閑空間的起始位置來添加一個分區(qū),如下圖:

選擇[ Bootable ],回車,在上方新建的分區(qū)這一欄Flags字段會出現(xiàn)Boot字樣,如下圖:

方向鍵按向下,光標選中”Free Space”,建立交換分區(qū)。基本上都是重復(fù)剛才的步驟,只不過大小改成1024,不需要置Boot標識。

移動光標到[ Type ],更改文件系統(tǒng)類型,回車后進入類型選擇菜單,編號默認輸入就是82,也就是”Linux swap / Solaris”,直接回車即可

此時回到主菜單,可以看到第二個分區(qū)sdb2的”FS Type”一項改成了”Linux swap / Solaris”,如下圖:

按方向鍵向下,選中Free Space,重復(fù)sdb1的創(chuàng)建步驟,類型選擇[Logical],大小默認最大即可,不需要更改,如下圖:

此時回到主菜單,可以看到Name欄會顯示sdb5,如下圖:

新的硬盤分區(qū)表建立完畢,需要寫入硬盤了,橫移光標到[ Write ],回車,如下圖:

提示”Are you sure you want to write the partition table to disk? (yes or no):”,敲入“yes”并回車,如下圖:

右移光標到[ Quit ]回車,退出cfdisk,如下圖:

至此,分區(qū)工作完成,LFS需要的獨立存儲設(shè)備與分區(qū)準備完畢,如下圖:

?

?

三、磁盤初始化與源碼準備

下面需要格式化分區(qū),步驟如下:

?

/dev/sdb1使用ext2,執(zhí)行如下命令,如下圖

mkfs -v -t ext2 /dev/sdb1

/dev/sdb2使用swap,執(zhí)行如下命令,如下圖

mkswap /dev/sdb2

/dev/sdb5使用ext4,執(zhí)行如下命令,如下圖

mkfs -v -t ext4 /dev/sdb5

執(zhí)行如下命令,創(chuàng)建目錄:/mnt/lfs

mkdir -pv /mnt/lfs

方便起見,把/mnt/lfs目錄的屬主改為當前用戶,否則每次操作都要加sudo,執(zhí)行如下命令

chown -R lenovo.sudo lfs/

把lfs工程的主要存儲分區(qū)/dev/sdb5掛載到這個目錄上

mount -v -t ext4 /dev/sdb5 /mnt/lfs

每次宿主系統(tǒng)重啟之后,都需要重新export和mount,方便起見,執(zhí)行如下命令,建立環(huán)境變量$LFS=/mnt/lfs

vi ~/.bashrc#在文件尾添加如下內(nèi)容export LFS=/mnt/lfs

執(zhí)行如下命令,使環(huán)境變量立即生效

source ~/.bashrc

至此我們就可以在$LFS上面來下載和編譯我們所需的lfs組件了。

?

下面,新建用于存儲源碼的目錄,并下載源碼

mkdir $LFS/src cd $LFS/src

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

?

至此,分區(qū)和源碼準備完成。

轉(zhuǎn)載于:https://www.cnblogs.com/274914765qq/p/4413784.html

總結(jié)

以上是生活随笔為你收集整理的LFS(Linux From Scratch)学习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。