1. linux中的網路配置怎麼設置
設置網路地址:
cat/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=statics
HWADDR=00:0C:29:13:D1:6F
ONBOOT=yes
TYPE=Ethernet
IPADDR=192.168.0.212
NETMASK=255.255.255.0
BOOTPROTO=statics :表示使用靜態IP地址
ONBOOT=yes:表示開機時,啟動這個網卡。
取動態IP地址地址
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp
設置好IP地址,現在還不能生效哦,要重新啟動網卡才可以。
Ifconfig <網路介面名稱> network <子網掩碼>
例:# ifconfig eth0 192.168.1.222 netmask 255.255.255.0
註:手工配置linux網路只限於臨時使用,配置不保存。
擴展:# ifconfig eth0:1 10.0.0.1 netmask 255.0.0.0 一塊網卡配置多個子ip地址。
# ifconfig eth0 hw ether MAC地址 修改網卡的mac地址,
#/etc/rc.d/init.d/networkstart啟動network
#/etc/rc.d/init.d/networkstop停止network
#/etc/rc.d/init.d/networkrestart重啟network
主機名稱配置文件,修改主機名
/etc/sysconfig/network
例:# vi /etc/sysconfig/network 使用vi編輯器打開主機名配置文件。
#vi/etc/sysconfig/network
NETWORKING=yes 網路是否可用。
HOSTNAME=xxxx xxxx為新設置的主機名。
本地主機名稱解析文件
/etc/hosts
Hosts 和 DNS具有類似的主機名稱解析功能
域名伺服器配置文件
/etc/resolv.conf
最多可以設置3行,前面的生效 有些看似很復雜的操作,可能幾個命令就解決了,建議多學習些Linux命令
2. linux系統資源是怎樣初始化
嵌入式linux技術 嵌入式Linux是按照嵌入式操作系統的要求而設計的一種小型操作系統,它由一個Kernel(內核)及一些根據需要進行定製的系統模塊組成。Kernel一般只有幾百kB左右,即使加上其它必須的模塊和應用程序,所需的存儲空間也很小。它具有多任務、多進程的系統特徵,有些還具有實時性。一個小型的嵌入式Linux系統只需要引導程序、Linux微內核、初始化進程3個基本元素。運行嵌入式Linux的CPU可以是x86、Alpha、Sparc、MIPS、PPC等。與這些晶元搭配的主板都很小,通常只有一張PCI卡大小,有的甚至更小。嵌入式Linux所需的存儲器不是軟磁碟、硬碟、Zip盤、CD-ROM、DVD這些眾所周知的常規存儲器,它主要使用Rom、CompactFlash、M-Systems的DiskOnChip、Sony的MemoryStick、IBM的MicroDrive等體積極小(與主板上的BIOS大小相近),且存儲容量不太大的存儲器。它的內存可以使用普通的內存,也可以使用專用的RAM。 與其它嵌入式操作系統相比,Linux的源代碼是開放的,不存在黑箱技術。Linux作為一種可裁剪的軟體平台系統,很可能發展成為未來嵌入式設備產品的絕佳資源。Linux與生俱來的優秀網路血統更為今後的發展鋪平了一條寬廣平坦的大路。因此,在保持Linux內核系統更小、更穩定、更具價格競爭力等優勢的同時,對系統內核進行實時性優化,更加使之能夠適應對工業控制領域高實時性的要求。這也正是嵌入式linux操作系統在嵌入式工控系統中的發展所在。同時也使Linux成為嵌入式操作系統中的新貴。
3. Linux系統初始化設備的過程主要有哪些
1.自檢:依賴於CPU,ROM中的程序
2.載入BIOS,Boot Sequence確定啟動順序
3.MBR:
硬碟0磁軌0扇區的MBR文件,共512位元組
446:BootLoader
64:分區表,每16位元組一個分區
2:5A(一個特殊標記)
4.kernel文件vmlinuz+initrd:只能放在基本磁碟分區,BootLoader會把vmlinuz當做根來使用,即/vmlinuz
將vmlinuz載入到內存中使用。vmlinuz分為兩段,前半部分未壓縮段,是為了解壓第二段。
至此BootLoader任務完成,退場。
操作系統安裝時會執行一個命令,安裝程序完成後自動運行腳本,收集操作系統運行需要的腳本,將所需要的模塊打包成initrd,幫助內核完成初始化
initrd: ram disk,內核將之作為根來使用,將硬碟模擬成磁碟
5.initrd將所需文件復制到/下,內核完成初始化後進行根切換
6.啟動/sbin/init,由內核空間進入用戶空間
/lib/moles
/sbin/init:
/etc/inittab
id:3:initdefault:
/etc/rc.d/rc.sysinit腳本
4. 關於LINUX最基本的一些命令
Linux常用命令大全
系統信息
arch 顯示機器的處理器架構(1)
uname -m 顯示機器的處理器架構(2)
uname -r 顯示正在使用的內核版本
dmidecode -q 顯示硬體系統部件 - (SMBIOS / DMI)
hdparm -i /dev/hda 羅列一個磁碟的架構特性
hdparm -tT /dev/sda 在磁碟上執行測試性讀取操作
cat /proc/cpuinfo 顯示CPU info的信息
cat /proc/interrupts 顯示中斷
cat /proc/meminfo 校驗內存使用
cat /proc/swaps 顯示哪些swap被使用
cat /proc/version 顯示內核的版本
cat /proc/net/dev 顯示網路適配器及統計
cat /proc/mounts 顯示已載入的文件系統
lspci -tv 羅列 PCI 設備
lsusb -tv 顯示 USB 設備
date 顯示系統日期
cal 2007 顯示2007年的日歷表
date 041217002007.00 設置日期和時間 - 月日時分年.秒
clock -w 將時間修改保存到 BIOS
關機 (系統的關機、重啟以及登出 )
shutdown -h now 關閉系統(1)
init 0 關閉系統(2)
telinit 0 關閉系統(3)
shutdown -h hours:minutes & 按預定時間關閉系統
shutdown -c 取消按預定時間關閉系統
shutdown -r now 重啟(1)
reboot 重啟(2)
logout 注銷
文件和目錄
cd /home 進入 '/ home' 目錄'
cd .. 返回上一級目錄
cd ../.. 返回上兩級目錄
cd 進入個人的主目錄
cd ~user1 進入個人的主目錄
cd - 返回上次所在的目錄
pwd 顯示工作路徑
ls 查看目錄中的文件
ls -F 查看目錄中的文件
ls -l 顯示文件和目錄的詳細資料
ls -a 顯示隱藏文件
ls *[0-9]* 顯示包含數字的文件名和目錄名
tree 顯示文件和目錄由根目錄開始的樹形結構(1)
lstree 顯示文件和目錄由根目錄開始的樹形結構(2)
mkdir dir1 創建一個叫做 'dir1' 的目錄'
mkdir dir1 dir2 同時創建兩個目錄
mkdir -p /tmp/dir1/dir2 創建一個目錄樹
rm -f file1 刪除一個叫做 'file1' 的文件'
rmdir dir1 刪除一個叫做 'dir1' 的目錄'
rm -rf dir1 刪除一個叫做 'dir1' 的目錄並同時刪除其內容
rm -rf dir1 dir2 同時刪除兩個目錄及它們的內容
mv dir1 new_dir 重命名/移動 一個目錄
cp file1 file2 復制一個文件
cp dir/* . 復制一個目錄下的所有文件到當前工作目錄
cp -a /tmp/dir1 . 復制一個目錄到當前工作目錄
cp -a dir1 dir2 復制一個目錄
ln -s file1 lnk1 創建一個指向文件或目錄的軟鏈接
ln file1 lnk1 創建一個指向文件或目錄的物理鏈接
5. linux系統如何恢復初始設置
方法如下:
1、用戶選擇「恢復出廠設置」。
3、給內核發restart 命令,系統重啟,bootloader並進入recover模式(/sbin/recovery)。
4、get_args() 將 "boot-recovery"和"--wipe_data"寫入BCB。
5、erase_root() 格式化(擦除)DATA分區。
6、erase_root() 格式化(擦除)CACHE分區。
7、finish_recovery() 擦除BCB。
8、重啟系統。
6. 嵌入式Linux系統的如何進行初始化
LINUX系統的初始化可以分為兩部分:內核部分和init程序部分。內核主要完成系統的硬體檢測和初始化,init程序則主要完成系統的各項配置。
主要流程是:CPU自身初始化-->載入BIOS-->BIOS載入內核引導程序(也就是ubuntu我們常說的GRUB)-->內核引導程序載入內核映像(這里的內核代碼是壓縮過的)-->內核映像獲得CPU控制權並開始工作-->內核映像自己解壓縮,開始運行init/main.c中的start_kernel()函數,這時候內核就啟動了,系統初始化,系統的父進程init進程執行起來了,這時候整個系統初始化完畢,接下來只是調用一些UI界面的進程執行。
這是我的一點淺陋簡介,希望對你有所幫助,謝謝!
7. linux是如何初始化網路的
以下幾種辦法在大部分發行版本中可用:
sudo service networking restart
/etc/init.d/networking restart
sudo service network restart
/etc/init.d/network restart
如果想要配置網卡(設置IP,MAC地址,網關,DNS等等)
配置文件在sudo vi /etc/network-scripts/ifcfg-eth0
如果沒有的話,那就在sudo vi /etc/network/interfaces
也可以臨時修改:sudo ifconfig eth0 IP地址 netmask 255.255.255.0
8. linux 系統初始化要初始化哪些
如果你用grub來引導linux和windows,當windows出毛病重新安裝後,會破壞MBR中的grub,這時需要恢復grub。
1.把linux安裝光碟的第一張放到光碟機,然後重新啟動機器,在BOIS中把系統用光碟機來引導。
2.等安裝界面出來後,按F4鍵,也就是linux rescue模式。
3.一系列鍵盤以及幾項簡單的配製,過後就「繼續」了這個過程,這里不說了,比較簡單。
4.然後會出現這樣的提示符:
sh#
5.我們就可以操作GRUB了。輸入grub:
sh#grub
會出現這樣的提示符:
9. Linux網路設備驅動完成數據包發送的流程
從網路設備驅動程序的結構分析可知,Linux網路子系統在發送數據包時,會調用驅動程序提供的hard_start_transmit()函數,該函數用於啟動數據包的發送。在設備初始化的時候,這個函數指針需被初始化以指向設備的xxx_tx ()函數。網路設備驅動完成數據包發送的流程如下:1)網路設備驅動程序從上層協議傳遞過來的sk_buff參數獲得數據包的有效數據和長度,將有效數據放入臨時緩沖區。2)對於乙太網,如果有效數據的長度小於乙太網沖突檢測所要求數據幀的最小長度ETH ZLEN,則給臨時緩沖區的末尾填充0。3)設置硬體的寄存器,驅使網路設備進行數據發送操作。特別要強調對netif_ stop_queue()的調用,當發送隊列為滿或因其他原因來不及發送當前上層傳下來的數據包時,則調用此函數阻止上層繼續向網路設備驅動傳遞數據包。當忙於發送的數據包被發送完成後,在以TX結束的中斷處理中,應該調用netif_wake_queue ()喚醒被阻塞的上層,以啟動它繼續向網路設備驅動傳送數據包。當數據傳輸超時時,意味著當前的發送操作失敗或硬體已陷入未知狀態,此時,數據包發送超時處理函數xxx _tx _timeout ()將被調用。這個函數也需要調用由Linux內核提供的netif_wake _queue()函數以重新啟動設備發送隊列。
10. linux文件系統怎樣初始化步驟
System V init啟動過程
概括地講,Linux/Unix系統一般有兩種不同的初始化啟動方式.
1) BSD system init
2) System V init
大多數發行套件的Linux使用了與System V init相仿的init也就是Sys V init,它比傳統的BSD system init更容易且更加靈活。
System V init的主要思想是定義了不同的"運行級別(runlevel)"。通過配置文件/etc/inittab定義了系統引導時的運行級別, 進入或者切換到一個運行級別時做什麼。每個運行級別對應於一個子目錄/etc/rc.d/rcX.d。
每個rcX.d目錄中都是一些以S或K開頭的文件鏈接。這些鏈接指向的腳本都 可以接收start和stop參數,S開頭的鏈接會傳入start參數,一般是開啟一項服務,K會傳入stop參數,一般是停止某服務。
以下是一個大致的System V init過程:
(1)init 過程執行的第一個腳本是 /etc/rc.d/rc.sysinit,它主要做在各個運行級別中進行初始化工作,包括: 啟動交換分區;檢查磁碟;設置主機名;檢查並掛載文件系統;載入並初始化硬體模塊.
(2)執行預設的運行級別模式。 這一步的內容主要在/etc/inittab中體現, inittab文件會告訴init進程要進入什麼運行級別,以及在哪裡可以找到該運行級別的配置文件.
(3)執行/etc/rc.d/rc.local腳本文件。 這也是init過程中執行的最後一個腳本文件,所以用戶可以在這個文件中添加一些需要在登錄之前執行的命令.
(4)執行/bin/login程序
注意:
System V init只是一種模式,每個系統初始化都有差異,但大體上不會相差太多。如busybox執行的第一個啟動腳本就是/etc/init.d/rcS,而且不可以改變,與上面講的不同。
LFS文件系統初始化示例
inittab文件
由下內容可以看出,最先執行的是/etc/rc.d/init.d/rc文件,給這個文件傳入的參數是一個數字,rc會由傳入的數字合成rcX.d目錄的路徑,然後執行其中的所有腳本鏈接。當然這只是一部分功能。
# Begin /etc/inittab
id:3:initdefault:
<em><strong>si::sysinit:/etc/rc.d/init.d/rc sysinit</strong></em> #可以設定初始化腳本
l0:0:wait:/etc/rc.d/init.d/rc 0
l1:S1:wait:/etc/rc.d/init.d/rc 1
l2:2:wait:/etc/rc.d/init.d/rc 2
...
ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
su:S016:once:/sbin/sulogin
1:2345:respawn:/sbin/agetty tty1 9600
2:2345:respawn:/sbin/agetty tty2 9600
...
# End /etc/inittab
etc目錄結構
只是一部分,有刪減。
.
├── fstab
├── <em>inittab</em>
├── inputrc
├── profile
├── rc.d
│ ├── init.d
│ │ ├── checkfs
│ │ ├── cleanfs
...
│ │ ├── moles
│ │ ├── mountfs
│ │ ├── mountkernfs
│ │ ├── network
│ │ ├── rc #when boot, run.
│ │ ├── reboot
...
│ ├── rc0.d
│ │ ├── K80network -> ../init.d/network
│ │ ├── K90sysklogd -> ../init.d/sysklogd
│ │ ├── S60sendsignals -> ../init.d/sendsignals
│ │ ├── S70mountfs -> ../init.d/mountfs
│ │ ├── S80swap -> ../init.d/swap
│ │ ├── S90localnet -> ../init.d/localnet
│ │ └── S99halt -> ../init.d/halt
│ ├── rc1.d
│ │ ├── K80network -> ../init.d/network
│ │ └── K90sysklogd -> ../init.d/sysklogd
│ ├── rc2.d
│ │ ├── K80network -> ../init.d/network
│ │ └── K90sysklogd -> ../init.d/sysklogd
│ ├── rc3.d
│ │ ├── S10sysklogd -> ../init.d/sysklogd
│ │ └── S20network -> ../init.d/network
│ ├── rc4.d
│ │ ├── S10sysklogd -> ../init.d/sysklogd
│ │ └── S20network -> ../init.d/network
│ ├── rc5.d
│ │ ├── S10sysklogd -> ../init.d/sysklogd
│ │ └── S20network -> ../init.d/network
│ ├── rc6.d
│ │ ├── K80network -> ../init.d/network
│ │ ├── K90sysklogd -> ../init.d/sysklogd
│ │ ├── S60sendsignals -> ../init.d/sendsignals
│ │ ├── S70mountfs -> ../init.d/mountfs
│ │ ├── S80swap -> ../init.d/swap
│ │ ├── S90localnet -> ../init.d/localnet
│ │ └── S99reboot -> ../init.d/reboot
│ └── rcsysinit.d
│ ├── S00mountkernfs -> ../init.d/mountkernfs
│ ├── S02consolelog -> ../init.d/consolelog
│ ├── S05moles -> ../init.d/moles
...
├── udev
│ ├── rules.d
│ │ └── 55-lfs.rules
│ └── udev.conf
└── vimrc
network腳本
#!/bin/sh
. /etc/sysconfig/rc
. ${rc_functions}
. /etc/sysconfig/network
case "${1}" in
start)
# Start all network interfaces
for file in ${network_devices}/ifconfig.*
do
interface=${file##*/ifconfig.}
# skip if $file is * (because nothing was found)
if [ "${interface}" = "*" ]
then
continue
fi
IN_BOOT=1 ${network_devices}/ifup ${interface}
done
;;
stop)
# Reverse list
FILES=""
for file in ${network_devices}/ifconfig.*
do
FILES="${file} ${FILES}"
done
# Stop all network interfaces
for file in ${FILES}
do
interface=${file##*/ifconfig.}
# skip if $file is * (because nothing was found)
if [ "${interface}" = "*" ]
then
continue
fi
IN_BOOT=1 ${network_devices}/ifdown ${interface}
done
;;
restart)
${0} stop
sleep 1
${0} start
;;
*)
echo "Usage: ${0} {start|stop|restart}"
exit 1
;;
esac
# End /etc/rc.d/init.d/network