freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

clfs的制作ppt課件(已修改)

2024-10-28 23:32 本頁(yè)面
 

【正文】 CLFS ? CLFS分三種版本: ? ? (現(xiàn)改名為 CLFSSYSROOT) ? (現(xiàn)改名為 CLFS EMBEDDED) 改名是為了不給人一種高版本號(hào)代表更先進(jìn)版本的錯(cuò)覺(jué)。 三個(gè)版本采取不同的編譯安裝策略 ? 基礎(chǔ)環(huán)境,即目標(biāo)版體系的 GLIBC、 GCC、BINUTILS和其他一些輔助工具,然后在目標(biāo)板啟動(dòng),然后在目標(biāo)板上進(jìn)行系統(tǒng)從 GLIBC到所有軟件包的安裝和編譯工作,這樣操作能得到絕對(duì)獨(dú)立純凈的目標(biāo)系統(tǒng) 三個(gè)版本采取不同的編譯安裝策略 ? SYSROOT版采取的是完全交叉編譯安裝的策略,所有軟件包都在主機(jī)上交叉編譯安裝 ? EMBEDDED主要是使用 BUZYBOX和 UCLIBC針對(duì) uclinux 本機(jī)環(huán)境要求: ? Bash ? Binutils ? Bzip2 ? Coreutils ? Diffutils ? Findutils ? Gawk ? Gcc ? Glibc ? Grep ? Gzip ? Make ? Patch ? Sed ? Tar 建立安裝環(huán)境 ? 磁盤(pán)分區(qū): ? 輸入命令: ? cfdisk ? 保存退出后進(jìn)行磁盤(pán)分區(qū)的格式化 ? mkswap /dev/hda7 ? /dev/hda6 磁盤(pán)格式化一定要在磁盤(pán)分區(qū)未進(jìn)行加載前進(jìn)行 建立安裝環(huán)境 ? 激活交換分區(qū) ? swapon /dev/hda7 ? 創(chuàng)建 CLFS的“創(chuàng)作基地” ? export CLFS=/mnt/clfs ? mkdir pv $CLFS ? 加載 CLFS文件系統(tǒng)存放的分區(qū) ? mount /dev/hda6 $CLFS 準(zhǔn)備工作 ? 建立用戶(hù) ? groupadd clfs ? useradd s /bin/bash g clfs m k /dev/null clfs ? passwd clfs ? 創(chuàng)建工作目錄 ? mkdir pv /mnt/clfs/{build,download} ? chown Rv clfs $CLFS ? 切換用戶(hù) ? su clfs 設(shè)置環(huán)境變量 ? cat ~/.bash_profile EOF ? exec env i HOME=${HOME} TERM=${TERM} PS1=39。\u:\w\$ 39。 /bin/bash ? EOF ? 任何用戶(hù)登錄時(shí) SHELL都會(huì)讀取主機(jī)系統(tǒng)的/etc/profile腳本加載里面的各種環(huán)境變量,然后讀取用戶(hù)目錄下的 .bash_profile,在這里的 .bash_profile中加入 exec env i.../bin/bash命令,從新啟動(dòng)一個(gè) BASH替代先前登錄的那個(gè),它使用除 TERM、 HOME、 PS1外完全空白的環(huán)境變量。 設(shè)置環(huán)境變量 ? cat ~/.bashrc EOF ? set +h ? umask 022 ? CLFS=/mnt/clfs ? LC_ALL=POSIX ? PATH=${CLFS}/crosstools/bin:/bin:/usr/bin ? export CLFS LC_ALL PATH ? EOF ? 這里 set +h命令關(guān)閉 bash的 hash功能,讓它從新到 PATH路徑中搜索程序。 設(shè)置環(huán)境變量 ? 編譯交叉編譯工具時(shí)要保持 CLFAGS、 CXXFLAGS無(wú)設(shè)置 ? unset CFLAGS ? unset CXXFLAGS ? echo unset CFLAGS ~/.bashrc ? echo unset CXXFLAGS ~/.bashrc ? 在建立交叉編譯工具和將來(lái)進(jìn)行交叉編譯時(shí)需要一些特定的變量 ? export CLFS_HOST=$(echo $MACHTYPE | sed s/$(echo $MACHTYPE | cut d f2)/cross/) ? export CLFS_TARGET=mipsellinuxgnu ? echo export CLFS_HOST=\${CLFS_HOST}\ ~/.bashrc ? echo export CLFS_TARGET=\${CLFS_TARGET}\ ~/.bashrc ? 到這里建立交叉編譯工具鏈的環(huán)境已經(jīng)搭建完畢,可以開(kāi)始制作交叉編譯工具鏈。 ? 然后加載 .bash_profile。 ? source ~/.bash_profile 建立目標(biāo)系統(tǒng)目錄結(jié)構(gòu) ? 建立目標(biāo)系統(tǒng)目錄結(jié)構(gòu) ? pushd $CLFS ? mkdir pv {bin,boot,dev,{etc/,}opt,home,lib,mnt} ? mkdir pv {proc,media/{floppy,cdrom},sbin,srv,sys} ? mkdir pv var/{lock,log,mail,run,spool} ? mkdir pv var/{opt,cache,lib/{misc,locate},local} ? install dv m 0750 root ? install dv m 1777 {var/,}tmp ? mkdir pv usr/{,local/}{bin,include,lib,sbin,src} ? mkdir pv usr/{,local/}share/{doc,info,locale,man} ? mkdir pv usr/{,local/}share/{misc,terminfo,zoneinfo} ? mkdir pv usr/{,local/}share/man/man{1..8} ? for dir in usr{,/local}。 do ? ln sv share/{man,doc,info} $dir ? done ? cd boot ? ln svf . boot ? mkdir v $CLFS/crosstools ? popd 創(chuàng)建必要的用戶(hù)、組和日志文件 ? cat $CLFS/etc/passwd EOF ? root::0:0:root:/root:/bin/bash ? EOF ? cat $CLFS/etc/group EOF ? root:x:0: ? bin:x:1: ? sys:x:2: ? kmem:x:3: ? tty:x:4: ? tape:x:5: ? daemon:x:6: ? floppy:x:7: ? disk:x:8: ? lp:x:9: ? dialout:x:10: ? audio:x:11: ? video:x:12: ? utmp:x:13: ? usb:x:14: ? cdrom:x:15: ? EOF 創(chuàng)建日志文件 ? login agetty init程序會(huì)用到一些日志文件,這里先創(chuàng)建出來(lái) ? touch $CLFS/var/run/utmp $CLFS/var/log/{btmp,lastlog,wtmp} ? chmod v 664 $CLFS/var/run/utmp $CLFS/var/log/lastlog 到這里建立交叉編譯工具鏈的環(huán)境已經(jīng)搭建完畢,可以開(kāi)始制作交叉編譯工具鏈 下面來(lái)討論 SYSROOT版原理 ? 交叉編譯工具鏈 這個(gè)過(guò)程是 SYSROOT版原理實(shí)現(xiàn)的關(guān)鍵,而這里三次用到 withsysroot這個(gè)參數(shù)則是這個(gè)過(guò)程的關(guān)鍵,后面將詳細(xì)討論。 工具鏈的制作過(guò)程 ? 內(nèi)核頭文件的設(shè)置 ? 二進(jìn)制工具程序的設(shè)置 ? 引導(dǎo)編譯器的設(shè)置 ? C鏈接庫(kù) 的設(shè)置 ? 完整編譯器的設(shè)置 鏈接庫(kù) 的設(shè)置 ? 鏈接庫(kù)的建立期間會(huì)建立三組鏈接庫(kù): ? 共享鏈接庫(kù) ? 靜態(tài)鏈接庫(kù) ? 具有統(tǒng)計(jì)信息的靜態(tài)鏈接庫(kù) 以上這三組由 /lib/(動(dòng)態(tài)鏈接器 )加載、 由 /etc/。 ld verbose | grep SEARCH 可查看鏈接器的搜索路徑 ? tar xvf ${DOWNLOADDIR}/ C ${BUILDDIR} ? pushd ${BUILDDIR}/? make include/linux/ //創(chuàng)建 include/linux/ 文件 ? install dv ${CLFS}/usr/include/{asm,asmgeneric,linux,mtd,scsi,sound} ? cp av include/asmgeneric/* ${CLFS}/usr/include/asmgeneric ? cp av include/linux/* ${CLFS}/usr/include/linux ? cp av include/mtd/* ${CLFS}/usr/include/mtd ? cp av include//* ${CLFS}/usr/include/ ? cp av include/scsi/* ${CLFS}/usr/include/scsi ? cp av include/sound/* ${CLFS}/usr/include/sound ? cp av include/{asmgeneric,linux,mtd,scsi,sound} $CLFS/usr/include ? cp av include/asmmips/* $CLFS/usr/include/asm ? cd .. ? rm r ? popd 2. Binutils交叉工具 ? tar xvf ${DOWNLOADDIR}/e/ C ${BUILDDIR} ? pushd ${BUILDDIR}/? patch Np1 i ${DOWNLOADDIR}/e/ ? mkdir v ../binutilsbuild ? cd ../binutilsbuild ? ../${TARGET_DIR}/crosstools \ ? host=${CLFS_HOST} target=${CLFS_TARGET} withsysroot=${TARGET_DIR} \ ? disablenls enableshared disablemultilib ? 從參數(shù)上的理解是, binutls將被安裝到 ${CLFS}/crosstools中( prefix=${CLFS}/cross tools),編譯出來(lái)的二進(jìn)制文件將運(yùn)行在 ${CLFS_HOST}所指定的平臺(tái)上( host=${CLFS_HOST}),而其連接出的可執(zhí)行文件是運(yùn)行在 ${CLFS_TARGET}所指定的平臺(tái)上( target=${CLFS_TARGET}),屏蔽國(guó)際化支持( disable nls),同時(shí)編譯出共享鏈接庫(kù)( enableshared),不支持多種架構(gòu)庫(kù)( disablemultilib),同時(shí)將 ${CLFS} 所定義的目錄作為根目錄( withsysroot第一次出現(xiàn)這個(gè))。接著的 make configurehost不要少了,這樣可以利用前面設(shè)置的參數(shù)全面配置 binutils所有需要編譯的部分。這個(gè) BINUTILS是交叉版本,它由 HOST機(jī)的 GCC和 BINUTILS編譯聯(lián)接而成,它是在 HOST機(jī)上運(yùn)行聯(lián)接生成目標(biāo)系統(tǒng)程序 ? make configurehost //利用前面設(shè)置的參數(shù)全面配置 binutils所有需要編譯的部分 ? make ? make install ? cp v ../$CLFS/usr/include ? cd .. ? rm rf binutilsbuild/ ? popd glibc頭文件 (1) ? tar xvf ${DOWNLOADDIR}/ C ${BUILDDIR} ? pushd ${BUILDDIR}/? cp configure{,.orig} amp。amp。 ? sed e 39。s/[09]/g39。 configure ? tar xvf ${DOWNLOADDIR}/ ? mv v ,標(biāo)準(zhǔn)的glibc并不支持 mips等幾個(gè)體系,而 glibcports就是為了補(bǔ)充這部分的支持而出現(xiàn)的(這里必須將其改為 ports,否則編譯無(wú)法找到)。 ? echo ports/sysdeps/mips/mips32/Makefile //清空ports/sysdeps/mips/mips32/Makefile, mipsellinuxgcc無(wú)法識(shí)別該Makefile中傳參變量 abi。 ? sed i 39。s/$/\ndefine __WORDSIZE 32/g39。 bits/ ? mkdir v ../glibcbuild ? cd ../glibcbuild glibc頭文件 (2) ? echo libc_cv_forced_
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1