FreeBSD非法改裝全記錄 1 輕裝上陣

2021-04-12 16:00:20 字數 2936 閱讀 7835

2023年的最後乙個月裡腦子胡思亂想的東東太多了,讓我忘記了當初寫部落格的初衷。2023年希望有乙個新的開始,新的使命,希望自己能在unix環境中做出一些貢獻和成就。

----------改裝---------

改良一部作業系統跟改裝一部賽車性質是一樣的,需要反覆的記錄和調校啟動速度和執行質量以及抗壓能力,以至於各項效能達到理想的指標。其實愛車的人跟飆車的人對待的車子的認識也是不一樣的,愛車一族嚐嚐會把自己的車子裝飾一番,時髦的掛飾、超炫的貼紙、舒適的靠墊、完美的車載音響。而且飆車一族的愛車裡面出了能提公升速度的東西以外你很少能看到其他的裝飾品,因為乙個追求享受,乙個追求速度。作為一款網路作業系統來講,bsd從開始到現在只追求質量和速度。

----------安裝核心**---------

預設最小安裝是不會將核心**檔案安裝到系統中的,所以需要手動安裝。

如果系統中沒有 /usr/src/sys 這個目錄,表示您在安裝時並未安裝 freebsd 的原始碼,您可以使用 sysinstall 這個指令來執行安裝的選單工具,並安裝原始碼。執行了 sysinstall 後,請選擇 [configure] -> [distribution] -> [src] -> [sys],即可安裝核心的原始碼。

有了核心的原始碼後,我們就可以開始進行修改。首先,我們要做的就是將 generic 複製乙份,並修改複製的那乙份。

# cd /usr/src/sys/i386/conf

# cp generic test

複製源**是為了防止在核心編譯完以後無法正常啟動而準備的。

ee test  使用文字編輯工具就可以完成核心編譯的過程,不習慣的可以使用vi。

--------基本設定與改良----------

machine    i386

這一行是必備的,代表的是使用 i386 的計算器架構。

cpu    i486_cpu

cpu    i586_cpu

cpu    i686_cpu

這裡總共提供了3個cpu型別,根據自己的情況來選擇,將不存在的cpu型別注釋掉就可以了。

如果不知道機器的cpu型別可以在系統啟動以後使用dmesg > dmesg.txt 來生成乙個硬體啟動列表,cpu和其他硬體型別都會在這個表裡面,建議列印乙份用來學習。

cpu: intel(r) celeron(r) cpu 2.40ghz (2399.94-mhz 686-class cpu)

這是我的dmesg.txt關於cpu型別的內容,很容易看出是686的,即使現在cpu型別多數都是686的也建議你用這個列表看一下,在核心編譯過程中的所有引數最好都做到眼見為實,不要輕易相信自己的直覺和記憶,因為bsd是非常單純的。

ident test  這是基本設定的最後一項,是核心的名字,可以在開機的時候看見。

最基本的設定選項只有這5行內容,下面我來開始嘗試一下最基本的非法改裝。

---------非法改裝の裝置驅動-----------

在核心基本設定與系統選項設定options之間還有兩行**經常被人忽視。細心研讀過bsd使用手冊的朋友應該還有點印象

# to statically compile in device wiring  instead of /boot/device.hints

#hints          "generic.hints"      # default places to look for devices.

這個選項是用來配置裝置驅動的,系統在啟動的時候會檢查/boot/device.hints的內容,如果使用該選項,就可以將這些hints資訊靜態的編譯到核心中了。

檔案/boot/device.hints 的語法是一行乙個變數, 使用「#」 作為注釋標記. 行是按照如下方式組織的:

hint.driver.unit.keyword="value"

driver 是裝置驅動程式名, unit 是裝置驅動程式單位名, keyword 是hint關鍵字. 關鍵字可以由以下選項組成:

*at:指明裝置所繫結的匯流排

*port:指明所使用i/o 的起始位址.

*irq: 指明所使用的中斷請求號.

*drq: 指明 dma channel號

*maddr: 指明裝置占用的物理記憶體位址.

*flags: 給裝置設定各種標誌位.

*disabled: 如果設成1,裝置被禁用.

舉個例子:

hint.ata.0.at="isa"                     該裝置繫結在isa匯流排上

hint.ata.0.port="0x1f0"             在i/o系統中的起始位址496

hint.ata.0.irp="14"                     所使用的中斷請求號是14 hints內容與核心**後面的硬體相容配置相關性較強,建議將這一部分內容列印下來與後面的硬體配置對比著來改良,進行逐步調校。

-----關於非法改裝-----

這次跟以往的核心編譯不太一樣的地方是,有很多修改的地方是比較難以把握的,我本身缺乏很多關於系統底層硬體工作的知識,所以編譯的過程中經常會出現系統無法正常啟動的現象。

-------關於我-------

剛才看了一篇關於乙個世界攝影團體招收成員的要求,「你必須關注乙個題材八年以上才有資格」。我雖然不是學攝影的,但這句話給我的提示太大了。

在剛開始接觸乙個新鮮事物和領域的時候不免要相互比較一下看哪乙個更有前途,所以在學習的過程當中總是這山望著那山高,學到一半遇到點挫折就開始往別的領域上看。

從事網路工作差不多有兩年的時間了,從剛開始入行時接觸的win2000到現在的bsd6.1,使用過的系統大概也有10個左右了,在我眼中他們就像我的坐騎一樣,沒有這些os的幫忙,我很難把工作做好。

感謝unix,他讓我找到乙個可以證明自己價值的空間和舞台。

就像寫這篇部落格一樣,沒什麼別的目的,只是想時刻提醒自己,既然開始就不要隨意回頭。

我一直在路上

WindowCE 除錯全記錄

這算我工作以來碰到的第乙個難題,比較有感觸,所以記下來!先說下我的工作環境wince5.0,mips的晶元,還有開發環境是evc4.0,其實我也會用vs2005,不過是前輩的程式是在evc下寫的,我懶得換。麻煩。首先是bitblt,用於顯示影象,還有createdibsection,用於建立裝置無關...

安裝zabbix 全記錄

os win xp sp3 虛擬機器 vmbox 4.22 1.先去找了ubantu 12.10 desktop 版,發現是x64 x86的,本機是i386 失敗.3.關閉系統程序,加速 安裝教程,應該先 apt get update 下,獲取最新包,不然安裝不了.卡了很久 貌似沒什麼好關的,輸入q...

Caffe編譯安裝全記錄

caffe是乙個卷積神經網路深度學習框架。編譯安裝的作業系統為centos7.0。yum install cmake yum install glibc devel yum install gcc gfortran mv makefile.in makefile.in.bak cp makefile...