導航:首頁 > 文件類型 > linux內核文件讀寫

linux內核文件讀寫

發布時間:2023-07-01 04:37:16

1. 如何編譯linux內核

編譯linux內核步驟:
1、安裝內核
如果內核已經安裝(/usr/src/目錄有linux子目錄),跳過。如果沒有安裝,在光碟機中放入linux安裝光碟,找到kernel-source-2.xx.xx.rpm文件(xx代表數字,表示內核的版本號),比如RedHat linux的RPMS目錄是/RedHat/RPMS/目錄,然後使用命令rpm -ivh kernel-source-2.xx.xx.rpm安裝內核。如果沒有安裝盤,可以去各linux廠家站點或者www.kernel.org下載。
2、清除從前編譯內核時殘留的.o 文件和不必要的關聯
cd /usr/src/linux
make mrproper
3、配置內核,修改相關參數,請參考其他資料
在圖形界面下,make xconfig;字元界面下,make menuconfig。在內核配置菜單中正確設置個內核選項,保存退出
4、正確設置關聯文件
make dep
5、編譯內核
對於大內核(比如需要SCSI支持),make bzImage
對於小內核,make zImage
6、編譯模塊
make moles
7、安裝模塊
make moles_install
8、使用新內核
把/usr/src/linux/arch/i386/boot/目錄內新生成的內核文件bzImage/zImage拷貝到/boot目錄,然後修改/etc/lilo.conf文件,加一個啟動選項,使用新內核bzImage/zImage啟動。格式如下:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
linear
default=linux-new ### 告訴lilo預設使用新內核啟動linux ###
append="mem=256M"
image=/boot/vmlinuz-2.2.14-5.0
label=linux
read-only
root=/dev/hda5
image=/boot/bzImage(zImage)
label=linux-new
read-only
root=/dev/hda5
保留舊有的啟動選項可以保證新內核不能引導的情況,還可以進入linux進行其他操作。保存退出後,不要忘記了最重要的一步,運行/sbin/lilo,使修改生效。
9、重新生成ram磁碟
如果您的系統中的/etc/lilo.conf沒有使用了ram磁碟選項initrd,略過。如果您的系統中的/etc/lilo.conf使用了ram磁碟選項initrd,使用mkinitrd initrd-內核版本號,內核版本號命令重新生成ram磁碟文件,例如我的Redhat 6.2:
mkinitrd initrd-2.2.14-5.0 2.2.14-5.0
之後把/etc/lilo.conf中的initrd指向新生成的initrd-2.2.14-5.0文件:
initrd=/boot/initrd-2.2.14-5.0
ram磁碟能使系統性能盡可能的優化,具體參考/usr/src/linux/Documents/initrd.txt文件
10、重新啟動,OK!

2. 我想在linux的內核模塊中對文件進行打開讀寫等操作,可以實現嗎

寫個驅動···· vfs_write之類的函數,具體網上很多例子

3. 關於linux用戶和用戶組許可權的問題,文件讀寫許可權的問題

Linux下權來限有三種,用戶許可權,源組許可權,其他用戶。
可以使用ls -l filename 會列出改文件的許可權。

分別用rwx表示讀,寫和可執行三種許可權,
對於文件:
r:可讀,可以使用類似cat等命令查看文件內容;
w:可寫,可以編輯或刪除此文件;
x:可執行,eXecutable,可以命令提示符下當做命令提交給內核運行
對於目錄:

r:可以對此目錄執行ls以列出內部的所有文件;
w:可以在此目錄創建文件;
x:可以使用cd切換進次目錄,也可以使用ls -l查看文件的詳細內容。
一個文件從左至右依次用這三個符合表示上面所說相對應的許可權。
比如一個文件許可權像這樣-rwx-rw-r--代表用戶有讀,寫和可執行,組有讀和寫許可權,其他用戶有讀許可權。
第一個-代表該文件的類型,比如是目錄的話會顯示d,軟鏈接的話會顯示l,和許可權無關。
可以使用chmod filename 改變文件的許可權。
可以使用chown filename 改變文件所屬的用戶和組。

4. linux2.6.36內核是只讀的嗎

可以這么理解,linux系統在開機引導後會把內核載入到內存中,載入完畢之後整個系統的運行就不關文件系統中的內核文件什麼事了。

5. 如何在Linux上安裝內核頭文件

當在編譯一個設備驅動模塊時,需要在系統中安裝內核頭文件。內核頭文件同樣在編譯與內核直接鏈接的用戶空間程序時需要。當在這些情況下安裝內核頭文件時,必須確保內核頭文件精確地與當前內核版本匹配(比如:3.13.0-24-generic)。
如果內核是發行版自帶的內核版本,或者使用默認的包管理器的基礎倉庫升級的(比如:apt-ger、aptitude或者yum),也可以使用包管理器來安裝內核頭文件。
另一方面,如果下載的是kernel源碼並且手動編譯的,可以使用make命令來安裝匹配的內核頭文件。
使用apt-get命令來安裝匹配的內核頭文件:
1、首先,使用dpkg-query命令檢查是否有可用的內核頭文件。
$ dpkg-query -s linux-headers-$(uname -r)
dpkg-query: package 'linux-headers-3.11.0-26-generic' is not installed and no information is available

2、接著使用下面的命令安裝匹配的內核頭文件。
$ sudo apt-get install linux-headers-$(uname -r)

3、驗證頭文件是否成功安裝。
$ dpkg-query -s linux-headers-$(uname -r)
Package: linux-headers-3.11.0-26-genericStatus: install ok installed

4、Debian、Ubuntu、Linux Mint默認頭文件在/usr/src下。

使用yum命令來安裝匹配的內核頭文件:
1、首先,用下面的命令檢查系統是否已經安裝了頭文件。如果下面的命令沒有任何輸出,這就意味著還沒有頭文件。
$ rpm -qa | grep kernel-headers-$(uname -r)

2、接著用yum命令安裝頭文件。這個命令會自動找出合適的頭文件並安裝。
$ sudo yum install kernel-headers

3、驗證包安裝的狀態。
$ rpm -qa | grep kernel-headers-$(uname -r)
kernel-headers-3.10.0-123.9.3.el7.x86_64

4、Fedora、CentOS 或者 RHEL上默認內核頭文件的位置是/usr/include/linux。

6. linux的內核是由bootloader裝載到內存中的

linux的內核的確是由bootloader裝載到內存中的。linux的bootloader有2個部版分組成:bootstrap和uboot。所權以更准確點的說法是:linux的內核是由uboot裝載到內存中的。內核文件本身是存放在硬碟的文件系統中,這句話就是錯的。內核和文件系統是分開存儲的。uboot讀取kernel到內存是從kernel開始存儲的地址開始讀取的,而讀取開始位置和讀取大小,是由環境變數決定的。所以這個時候不需要文件系統的。

給你張圖片,便於理解吧。這張圖片是bootstrap、uboot、環境變數、kernel、文件系統在nandflash裡面的存儲分布。

其中rootfs.jfss2就是文件系統。

閱讀全文

與linux內核文件讀寫相關的資料

熱點內容
如何打開ps保存的文件 瀏覽:744
幼兒編程教育有哪些 瀏覽:453
汽車發外地用什麼app 瀏覽:810
網路如何贊美女人漂亮 瀏覽:143
如何把桌面文件放到excel裡面 瀏覽:363
照片文件名是怎麼查的 瀏覽:876
c怎麼在cmd模式下顯示文件 瀏覽:325
手機怎麼把文件夾的圖片移到相冊 瀏覽:440
hjc是啥文件的格式 瀏覽:298
報廢鐵皮文件櫃圖片 瀏覽:801
win10系統更新文件能 瀏覽:558
怎麼讓蘋果手機下載其他APP 瀏覽:471
多個cs文件編譯成一個dll 瀏覽:606
sql管理工具70 瀏覽:130
js裡面的圖片對齊 瀏覽:965
三星2016視頻文件夾 瀏覽:317
舊手機創新手機數據怎麼傳 瀏覽:954
怎麼刪除領克app里的記錄 瀏覽:254
捷波朗弦月3最新版本 瀏覽:123
win10保存不了文件 瀏覽:735

友情鏈接