1. 程式人生 > >LINUX移植——根檔案系統製作(一)

LINUX移植——根檔案系統製作(一)

上一篇文章當中,說了說怎樣搭建nfs伺服器的過程,這也是製作根檔案系統前必須的準備工作,當然也可以用其他方法,但從除錯的角度來說,還是nfs最適合了。這篇文章咱們正式開始製作根檔案系統,主要內容如下:

1.製作根檔案系統;

2.測試製作的根檔案系統。

一.製作根檔案系統

 所謂製作根檔案系統,就是建立各種目錄,並且在裡面建立各種檔案。要是你對linux主機下的根目錄比較瞭解的話,你可能會比較熟悉這些目錄了,比如在/bin、/sbin目錄下存放各種可執行程式,在/etc目錄下存放配置檔案,在/lib目錄下存放庫檔案。在製作時,咱們要用到busybox,下面是對busybox的簡介,是從百度百科裡複製的,介紹的挺明白。如下:

     BusyBox 是一個集成了一百多個最常用linux命令和工具的軟體。BusyBox 包含了一些簡單的工具,例如lscatecho等等,還包含了一些更大、更復雜的工具,例如grepfindmount以及telnet。有些人將 BusyBox 稱為 Linux 工具裡的瑞士軍刀。簡單的說BusyBox就好像是個大工具箱,它整合壓縮了 Linux 的許多工具和命令,也包含了 Android 系統的自帶的shell。

  下面開始製作

1.在linux主機的根目錄下,建立nfsroot資料夾,在裡面建立mknfsroot檔案,檔案的內容如下,你可以直接複製到你建立的檔案裡面

#!/bin/sh
echo "------Create rootfs directons start...--------"
mkdir rootfs
cd rootfs
echo "--------Create root,dev....----------"
mkdir bin boot dev etc home lib mnt proc root sbin sys tmp usr var
mkdir etc/init.d etc/rc.d etc/sysconfig
mkdir usr/sbin usr/bin usr/lib usr/modules
echo "make node in dev/console dev/null"
mknod -m 666 dev/console c 5 1
mknod -m 666 dev/null c 1 3
mkdir mnt/etc mnt/jffs2 mnt/yaffs mnt/data mnt/temp
mkdir var/lib var/lock var/run var/tmp
chmod 1777 tmp
chmod 1777 var/tmp
echo "-------make direction done---------"

其實,這就是一個指令碼,你仔細看看,就是建立一些檔案、資料夾以及改變檔案或資料夾許可權等操作。上面所做的工作是製作檔案系統所必須完成的工作,你也可以一步一步來完成,但用這種方式更簡單,也不容易出錯。儲存好,檔案內容後,改變mknfsroot檔案的可執行許可權,命令是:chmod a+x mknfsroot 。執行指令碼,[[email protected] nfsroot]# ./mknfsroot ,執行的結果如下:

------Create rootfs directons start...--------
--------Create root,dev....----------
make node in dev/console dev/null
-------make direction done---------

這時,你在你的nfsroot目錄下應該能發現一個rootfs目錄,你可以進去看看,裡面就是通過指令碼建立的一些檔案及資料夾,你可能會發現跟你linux主機根目錄下很相似,那好,下邊咱們介紹介紹根檔案系統中頂層目錄,也就是這些資料夾的作用了,如下:

bin    存放所有使用者都可以使用的、基本的命令。
sbin   存放的是基本的系統命令,它們用於啟動系統、修復系統等。
usr    裡面存放的是共享、只讀的程式和資料。
proc  這是個空目錄,常作為proc 檔案系統的掛載點。
dev   該目錄存放裝置檔案和其它特殊檔案。
etc    存放系統配置檔案,包括啟動檔案。
lib     存放共享庫和可載入塊(即驅動程式),共享庫用於啟動系統、執行根檔案系統中的可執行程式
boot  引導載入程式使用的靜態檔案。
home 使用者主目錄,包括供服務賬號鎖使用的主目錄,如FTP。
mnt    用於臨時掛接某個檔案系統的掛接點,通常是空目錄。也可以在裡面建立空的子目錄。
opt    給主機額外安裝軟體所擺放的目錄。
root   root 使用者的主目錄
tmp   存放臨時檔案,通常是空目錄。
var   存放可變的資料,如日誌等。

上面的指令碼就建立了這些目錄,在上面指令碼執行過程建立的兩個裝置檔案console 和null非常重要,這兩檔案和控制檯裝置有關,在前面提到過的在核心掛載檔案系統時出現的告警“Warning: unable to open an initial console”與之有關。
其中,mknod命令格式如下:
mknod [OPTION]... NAME TYPE [MAJOR MINOR]
 引數-m, --mode=MODE,表示指定使用者操作許可權,console和null表示檔名,c 表示是字元裝置,後面的兩個數字分別表示主裝置號和次裝置號。
改變了tmp 目錄的使用權,讓它開啟sticky 位,為tmp 目錄的使用權開啟此位,可確保tmp 目錄底下建立的檔案,只有建立它的使用者有權刪除。儘管嵌入式系統多半是單使用者,不過有些嵌入式應用不一定用root 的許可權來執行,因此需要遵照根檔案系統許可權位的基本規定來設計。

2.編譯Busybox

剛開始的時候就介紹了Busybox,我用的是友善mini2440裡面自帶的Busybox-1.13.3,當然你也可以用更新的。把busybox-1.13.3拷貝到linux主機的一個目錄下,以下是操作:

(1)tar xvzf busybox-1.13.3-mini2440.tgz

(2)進入剛才解壓後的目錄busybox-1.13.3

(3)修改busybox-1.13.3目錄下的Makefile檔案

在gedit開啟的Makefile中,定位到164行附近,修改如下:
# Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefile
CROSS_COMPILE ?= arm-linux-
# bbox: we may have CONFIG_CROSS_COMPILER_PREFIX in .config,
# and it has not been incl? yet... thus using an awkward syntax.
... ...
定位到189行附近,修改如下:
ARCH ?= arm
# Architecture as present in compile.h
UTS_MACHINE := $(ARCH)
然後儲存。

(4)配置busybox,在busybox-1.13.3目錄下執行:make menuconfig 命令,進入配置介面

下面只列出了要注意的地方,沒有列出的預設即可。  
<1>、Busybox Settings--->
    Build Options--->
[*] Build BusyBox as a static binary (no shared libs)                 
[ ] Force NOMMU build                                                  
[*] Build with Large File Support (for accessing files > 2 GB)       
(arm-linux-) Cross Compiler prefix   //指定編譯字首,按回車就可進行修改
    Installation Options  ---> 
[*] Don't use /usr      //選中該項可以避免buysbox被安裝到宿主機系統的/usr目錄下,破壞宿主機系統。 
    Applets links (as soft-links)  ---> 
(/nfsroot/rootfs) BusyBox installation prefix    //這裡需要指定busybox的安裝路徑,按回車即可輸入。
    Busybox Library Tuning --->
[*] Support for /etc/networks   
[*] Command line editing  
(1024) Maximum length of input  
[*] vi-style line editing commands
(15)  History size         
 [*]   History saving            
 [*]   Tab completion    
 [*]     Username completion     
 [*]   Fancy shell prompts 

<2>Linux Module Utilities--->
(/lib/modules)Default directory containing modules
(modules.dep)Default name of modules.dep
下面是在busybox 中配置對dev 下裝置型別的支援,dev 的建立有手動建立、使用devfs 檔案系統建立和?v建立三種方法,而?v的一個簡化版是busybox 自帶的mdev ,適合於嵌入式的應用埸合。其具有使用簡單的特點。它的作用,就是在系統啟動和熱插拔或動態載入驅動程式時,自動產生驅動程式所需的節點檔案。在以busybox 為基礎構建嵌入式linux 的根檔案系統時,使用它是最優的選擇。
<3>Linux System Utilities --->
[*]Support /etc/mdev.conf
[*]Support command execution at device addition/removal
<4>Init Utilities --->
“Support reading an inittab file”應該選中,這樣可以根據自己編寫的inittab檔案初始化;“Support running commands with a controlling-tty”應該選中,否則會提示非常困擾的“/bin/sh: can't access tty; job control turned off”的提示,儘管可以進入控制檯命令列。

(5)編譯busybox到指定目錄

[[email protected] busybox-1.13.3]# make CONFIG_PREFIX=/nfsroot/rootfs install

在rootfs 目錄下會生成目錄bin、sbin、usr 和檔案linuxrc 的內容。這也就是把linux的一些命令放到根檔案系統裡的特定檔案或資料夾裡了。

3.建立根檔案系統的動態庫

雖然通過編譯busybox生成了我們需要的可執行檔案,但現在在目標板上仍然無法執行,需要新增lib庫來支援可執行檔案執行。可以使用uclibc和glibc來構建lib庫。由於編譯lib庫相對複雜,而我們又有現成的lib庫可以使用,這裡我們就實行拿來主義。現成的lib庫就在我們的交叉編譯工具arm-linux-gcc的目錄下,在本人主機上的絕對路徑為/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi/lib,進入到這個資料夾後,執行:cp *so* /nfsroot/rootfs/lib -d ,把lib目錄下的所有檔案及資料夾拷貝到咱們新建的nfs伺服器的共享目錄下的lib,這裡注意後面-d,這是為了不拷貝連結。

4.建立所建根檔案系統目錄下etc的配置檔案

(1) 建立/etc/group系統使用者組配置檔案,內容如下:
root:*:0:
daemon:*:1:
bin:*:2:
sys:*:3:
adm:*:4:
tty:*:5:
disk:*:6:
lp:*:7:lp
mail:*:8:
news:*:9:
u p:*:10:
proxy:*:13:
kmem:*:15:
dialout:*:20:
fax:*:21:
voice:*:22:
cdrom:*:24:
floppy:*:25:
tape:*:26:
s o:*:27:
a io:*:29:
ppp:x:99:
500:x:500:plg
501:x:501:fa

(2)建立passwd系統密碼檔案,內容如下:
root::0:0:root:/:/bin/sh
ftp::14:50:FTP User:/var/ftp:
bin:*:1:1:bin:/bin:
daemon:*:2:2:daemon:/sbin:
nobody:*:99:99:Nobody:/:
sky::502:502:Linux User,,,:/home/sky:/bin/sh

[[email protected] rootfs]# ls ./etc
group  init.d  passwd  rc.d   sysconfig
(3) 在etc/sysconfig 目錄下新建主機檔名HOSTNAME,內容為"tiny210"。
[[email protected] rootfs]# cat >>./etc/sysconfig/HOSTNAME
tiny210
[[email protected] rootfs]# 
當錄入完檔案內容“tiny210”並回車後需要按下Ctrl+C組合鍵結束錄入狀態。此時該檔案內容為:“tiny210",這句話就是我們在檔案系統裡面看到那個“[[email protected] tiny210 /]”。
(4)新建etc/inittab 系統init程序配置檔案,將下面內容複製並貼上其中:
#etc/inittab
::sysinit:/etc/init.d/rcS
console::askfirst:-/bin/sh
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umount -a –r

要記住賦予其可執行屬性
[[email protected] rootfs]# chmod a+x ./etc/inittab
(5)新建etc/init.d/rcS系統啟動載入項檔案,將下面內容複製並貼上其中:
#!/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
runlevel=S //執行的級別
prevlevel=N
umask 022  //資料夾的掩碼
export PATH runlevel prevlevel
echo "----------munt all----------------"
mount -a  //掛載/etc/fstab/檔案指定的所有的檔案系統
echo /sbin/mdev>/proc/sys/kernel/hotplug
mdev -s
echo "***********************************************"
echo "************booting to tiny210 *****************"
echo "Kernel version:linux-3.3.5"
echo "the fans:singleboy"
echo "Date:2013.9.8"
echo "***********************************************"
/bin/hostname -F /etc/sysconfig/HOSTNAME

rcS是系統啟動後執行的第一個指令碼檔案,如果想把自己編寫的應用程式設定為開機啟動,在本檔案中中加入執行該程式的命令即可。然後使用以下命令改變 rcS 的執行許可權:
Chmod +x rcS
[[email protected] rootfs]# chmod +x ./etc/init.d/rcS
(6)新建etc/fstab 系統掛載檔案系統列表檔案,將下面內容複製並貼上其中:
#device mount-point  type       option      dump  fsck  order
proc      /proc             proc      defaults        0      0
none     /tmp              ramfs     defaults       0       0
sysfs     /sys              sysfs      defaults        0      0
mdev    /dev              ramfs     defaults        0       0

(7)新建etc/profile使用者環境配置檔案,將下面內容複製並貼上其中:
#Ash profile
#vim:syntax=sh
#No core file by defaults
#ulimit -S -c 0>/dev/null 2>&1
USER="id -un"
LOGNAME=$USER
PS1='[\[email protected]\h \W]\$'
PATH=$PATH
HOSTNAME='/bin/hostname'
export USER LOGNAME PS1 PATH

修改環境變數PS1(命令列提示符),可以使用vi編輯/etc/profile檔案,在最後加上: 
export PS1='[\[email protected]\h \W]\$ ' 
即可,其中\u顯示當前使用者賬號,\h顯示當前主機名,\W顯示當前路徑,\$顯示'$'符號 
\W 代替 \w 就可以實現絕對路徑到相對路徑的轉換
下面簡單說說環境下預設的特殊符號所代表的意義: 
\d :代表日期,格式為weekday month date,例如:"Mon Aug 1" 
\H :完整的主機名稱。例如:我的機器名稱為:fc4.linux,則這個名稱就是fc4.linux 
\h :僅取主機的第一個名字,如上例,則為fc4,.linux則被省略 
\t :顯示時間為24小時格式,如:HH:MM:SS 
\T :顯示時間為12小時格式 
\A :顯示時間為24小時格式:HH:MM 
\u :當前使用者的賬號名稱 
\v :BASH的版本資訊 
\w :完整的工作目錄名稱。家目錄會以 ~代替 
\W :利用basename取得工作目錄名稱,所以只會列出最後一個目錄 
\# :下達的第幾個命令 
\$ :提示字元,如果是root時,提示符為:# ,普通使用者則為:$

(8) 建立etc/mdev.conf (mdev裝置配置檔案)、 net.conf (網路配置檔案件),mime.types: MIME(Multipurpose Internet Mail Extensions) 內容均為空。
[[email protected] rootfs]# touch ./etc/mdev.conf 
[[email protected] rootfs]# touch ./etc/net.conf 
[[email protected] rootfs]# touch ./etc/mine.types
(9)建立boa WEB伺服器檔案配置檔案
在etc/boa目錄,並在boa目錄中建立boa.conf檔案,內容為空。
[[email protected] rootfs]# mkdir ./etc/boa
[[email protected] rootfs]# touch ./etc/boa/boa.conf
(10)先建立etc/rc.d/init.d目錄
[[email protected] rootfs]# mkdir ./etc/rc.d/init.d
然後建立etc/rc.d/init.d/httpd檔案
[[email protected] rootfs]# gedit ./etc/rc.d/init.d/httpd
將下面內容複製並貼上:
#!/bin/sh
base=boa
# See how we were called.
case "$1" in
  start)
        /usr/sbin/$base
        ;;
  stop)
    pid=`/bin/pidof $base`
    if [ -n "$pid" ]; then
        kill -9 $pid
    fi
        ;;
esac
exit 0

(11)新建etc/resolv.conf,DNS配置檔案,存放訪問外網時需要DNS 的資訊,內容如下:
nameserver 61.144.56.100
 (12)在/home/sky目錄,與etc目錄passwd檔案中的sky相對應
[[email protected] rootfs]# mkdir ./home/sky

5.編譯並安裝核心模組

首先就進入到linux核心頂級目錄下,在前面咱們已經編譯的linux-3.3.5的原始碼目錄下執行:
[[email protected] linux-3.3.5]# make modules
等到編譯完成後,安裝編譯好的模組:
[[email protected] linux-3.3.5]# make modules_install ARCH=arm INSTALL_MOD_PATH=/nfsroot/rootfs

經過上面的操作,就把linux核心和咱們製作的根檔案系統聯絡了起來。

6.配置linux核心以及重新編譯

(1)進入linux-3.3.5原始碼目錄下,通過命令:vim .config ,在開啟的配置檔案中往下翻,直到看到紅色的一行,把其中的console=ttySAC1改為console=ttySAC0 , 其他的不用變。
#
# Boot options
#
CONFIG_ZBOOT_ROM_TEXT=0
CONFIG_ZBOOT_ROM_BSS=0
CONFIG_CMDLINE="root=/dev/ram0 rw ramdisk=8192 initrd=0x20800000,8M console=ttySAC0,115200 init=/linuxrc"
# CONFIG_XIP_KERNEL is not set
CONFIG_KEXEC=y
CONFIG_ATAGS_PROC=y
在核心目錄下命令終端中執行make menuconfig ,在開啟的配置選單-> Boot options --->回車可以看到剛才的修改結果,如下圖:

上面的高亮部分就是上面我們修改的部分,當然我們可以在這塊按Enter鍵後修改,但這樣修改沒有上面的方法方便,不過這個看你自己嘍。

(2)使核心支援對nfs boot的支援

首先應該配置選中對DM9000網絡卡驅動的支援,由於我們在移植DM9000的時候說過了,所以就省略了,要是不知道怎麼選,那就在看看吧。額外的配置如下,make menuconfig 進入介面後,選中File systems-------> ,並進入該目錄,然後在其中選中Network file systems------>選項,再進入選中下圖中高亮的部分,如下圖:


選中高亮部分後,會出現額外的兩項,選中這兩項時分別又會出現額外的兩項,都依次選中。就是在Root file system on NFS選項之前的,在NFS client support選項後的都選中,接下來再選中Root file system on NFS這個選項,如下圖:

這就配置好了,是核心支援nfs boot了。

(3)重新編譯核心

上面配置好之後,儲存配置,然後重新 make uImage 編譯核心,等編譯完之後,把編譯好的uImage拷貝到咱們的tftpboot目錄下,這就萬事俱備,只差測試了,哈哈,下面開始測試。

二.測試根檔案系統

(1)開啟開發板的電源,同時開啟你電腦上的超級終端,首先在你超級終端中,設定boot引數,設定的命令是:setenv bootargs=root=/dev/nfs nfsroot=192.168.186.30:/nfsroot/rootfs,nolock ip=192.168.186.13:192.168.186.30:192.168.0.1:255.255.255.0::eth0:off console=ttySAC0,115200
 mem=512M ,注意我在命令中紅色的nolock以及ip地址要和你實際的向匹配等,要是沒有這個nolock,可能測試的結果是打不開檔案系統,所以一定要加上。

(2)通過ping命令測試,是否開發板和電腦主機能通過網線連通,如果可以,用tftp伺服器重新下載核心,應該可以正常工作,如果不行,可以重新啟動一下nfs伺服器,service nfs restart 或者看防火牆是否關閉,我測試通過了,就看你的了。

下一篇咱們再進一步地探討根檔案系統,使之能夠燒寫到flash當中,come on!

相關推薦

LINUX移植——檔案系統製作

上一篇文章當中,說了說怎樣搭建nfs伺服器的過程,這也是製作根檔案系統前必須的準備工作,當然也可以用其他方法,但從除錯的角度來說,還是nfs最適合了。這篇文章咱們正式開始製作根檔案系統,主要內容如下:

Linux核心移植檔案系統製作詳細步驟精講

start_kernel是所有 Linux 平臺進入系統核心初始化後的入口函式,它主要完成剩餘的與硬體平臺相關的初始化工作,在進行一系列與核心相關的初始化後,呼叫第一個使用者程序-init 程序並等待使用者程序的執行,這樣整個 Linux 核心便啟動完畢。該函式所做的具體工作有:呼叫 setup_arch

linux嵌入式檔案系統製作學習筆記

根檔案製作方法1.取得busybox原始碼,編譯並安裝根檔案    1)在busybox主目錄下執行make menuconfig  選擇元件編譯        make menuconfig     2)修改busybox主目錄下的makefile,使用交叉編譯器進行編譯 

arm-linux移植手記基於busybox1.16.0的檔案系統製作

    參考《Mini2440_Linux移植開發實戰指南.pdf》中的“使用 Busybox 構建檔案系統”,還是有些問題,我自己的為主要原因。詳細的檔案系統的介紹與理解,自己搜尋檢視相關資料吧,我這裡僅是記錄操作步驟與遇到的問題。指南手冊可以在我的資源中下載。環境介紹:

Linux-2.6.32.2核心在mini2440上的移植(四)---檔案系統製作(1)

ROMFS MTD (C) 2007 Red Hat, Inc.msgmni has been set to 109 alg: No test for stdrng (krng) io scheduler noop registered io scheduler anticipatory registered

檔案製作檔案系統樹 和 Initramfs檔案系統製作

 根檔案系統樹製作 首先要明白的是“什麼是檔案系統”,檔案系統是對一個儲存裝置上的資料和元資料進行組織的機制。 這種機制有利於使用者和作業系統的互動。 根檔案系統之所以在前面加一個”根“,說明它是載入其它檔案系統的”根“,既然是根的話,那麼如果沒有這個根,其它的檔案

Linux檔案系統製作與各種掛載方式的實現

Linux根檔案系統的製作 什麼是檔案系統 計算機的檔案系統是一種儲存和組織計算機資料的方法,它使得對其訪問和查詢變得容易,檔案系統使用檔案和樹形目錄的抽象邏輯概念代替了硬碟和光碟等物理裝置使用資料塊的概念,使用者使用檔案系統來儲存資料不必關心資料實際儲存在硬碟(或者光碟)的地址為多少的資料

基於AT91SAM9X35EK的嵌入式Linux+UBI檔案系統移植成功

AT91Bootstrap 3.6.0  NAND: Done to load image U-Boot 2014.04 (Feb 15 2016 - 14:56:42) CPU: AT91SAM9X35 Crystal frequency:       12 MHz CPU clock        :  

嵌入式 Linux系統程式設計——檔案IO

嵌入式 Linux系統程式設計(一)——檔案IO一、檔案IO概念        linux檔案IO操作有兩套大類的操作方式:不帶快取的檔案IO操作,帶快取的檔案IO操作。不帶快取的屬於直接呼叫系統呼叫(

mini6410基於linux2.6.36核心通過NFS啟動檔案系統總結製作檔案系統及通過NFS掛載檔案系統

本系列文章有本人yinjiabin製作,轉載請註明出處: http://blog.csdn.net/yinjiabin/article/details/7489563根檔案系統一般包括: 1)基本的檔案系統結構,包含一些必須的目錄,比如:/dev,/proc,/bin,/

Buildroot製作檔案系統過程基於MYD-AM335X開發板

buildroot的功能很強大,可以利用它製作交叉編譯工具鏈、根檔案系統,甚至可以構建多種嵌入式平臺的bootloader、linux。下面以米爾科技的MYD-AM335X平臺為例展示如何利用buildroot製作自己所需的根檔案系統。一、到官網下載原始碼:http://b

Linux核心映象及檔案系統製作

一、系統開發平臺介紹    本次試驗是基於九鼎創展公司嵌入式開發板x210v3, 核心處理器是ARM Cortex–A8架構的S5PV210,主頻1GHz。  PC機Linux版本:Ubuntu Kylin 14.04  核心版本:3.13 二、Linux核心配置和編譯 2

tiny linux: 核心精簡的檔案系統製作

tiny_linux要求實現以下兩點: 精簡linux核心映象,要求在支援TCP/IP資料傳輸的情況下,核心映象和正常執行所需記憶體能夠做到儘可能的小。 採用busybox製作根檔案系統,利用kernel mode linux補丁,使得busybox執行

Linux檔案系統製作

1 開發環境     宿主機:Ubuntu14.04(32bit)     開發板:Mini2440     Kernel:2.6.39.4     BusyBox:1.24.2 2 建立目錄 (1)建立根目錄rootfs,這個目錄就是要移植到Mini2440開發板的目錄:

ZYNQ跑系統系列 傳統方式移植linux

更多精彩內容,請微信搜尋“FPGAer俱樂部”關注我們。           移植linux之傳統方式 在ZYNQ開發時,有些情況下,為了降低開發的複雜性,或是提升系統執行的效能,在ARM上跑一個linux系統往往是一個不錯的選擇,而且linux系統一般集成了一些常用的

ZYNQ跑系統 系列 傳統方式移植linux

移植linux之傳統方式 在ZYNQ開發時,有些情況下,為了降低開發的複雜性,或是提升系統執行的效能,在ARM上跑一個linux系統往往是一個不錯的選擇,而且linux系統一般集成了一些常用的成熟驅動,可以減少開發週期。本章將通過傳統u-boot、kern

Linux系統管理

linux redhat 服務器 系統管理 點擊下載:Linux系統管理(一)本文出自 “飛奔的魚兒” 博客,請務必保留此出處http://feiyuer.blog.51cto.com/6967044/1931977Linux系統管理(一)

Linux系統管理Linux系統安裝與修復

linux系統安裝與修復一. Linux多種安裝方式與應用軟件安裝1. Linux的硬盤安裝方式(1) 復制Linux的ISO文件到硬盤某個分區(2) 用Linux安裝啟動盤啟動/DOS啟動盤啟動計算機註: DOS啟動盤中必須要存放加載Linux系統的工具及Linux內核和initrd映像文件,主要文件包括:

Linux系統管理Linux設備和內核管理

linux設備和內核管理一. 設備管理概述1.Linux設備的分類字符設備(c):以字符為單位,傳輸速率較低,無需緩沖區。塊設備(b):以數據塊為單位組織和傳輸數據,需要建立緩沖區網絡設備(s):一種通過SOCKET接口進行主機通信的設備2.設備文件(1)功能用於用戶訪問設備進行輸入和輸出操作(2)常見的設

Linux文件系統學習之相關概念???

正是 range 不同的 struct pan 根據 inode 存在 opera “一切皆是文件”是 Unix/Linux 的基本哲學之一。不僅普通的文件,目錄、字符設備、塊設備、套接字等在 Unix/Linux 中都是以文件被對待;它們雖然類型不同,但是對其提供的卻是同