日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux系统建立文件系统,linux文件系统的建立

發布時間:2024/8/23 linux 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux系统建立文件系统,linux文件系统的建立 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1

根文件系統

嵌入式Linux中都需要構建根文件系統,構建根文件系統的規則在FHS(Filesystem Hierarchy

Standard)文檔中,下面是根文件系統頂層目錄。

目錄

內容

bin

存放所有用戶都可以使用的、基本的命令。

sbin

存放的是基本的系統命令,它們用于啟動系統、修復系統等。

usr

里面存放的是共享、只讀的程序和數據。

proc

這是個空目錄,常作為proc文件系統的掛載點。

dev

該目錄存放設備文件和其它特殊文件。

etc

存放系統配置文件,包括啟動文件。

lib

存放共享庫和可加載塊(即驅動程序),共享庫用于啟動系統、運行根文件系統中的可執行程序。

boot

引導加載程序使用的靜態文件

home

用戶主目錄,包括供服務賬號鎖使用的主目錄,如FTP

mnt

用于臨時掛接某個文件系統的掛接點,通常是空目錄。也可以在里面創建空的子目錄。

opt

給主機額外安裝軟件所擺放的目錄。

root

root用戶的主目錄

tmp

存放臨時文件,通常是空目錄。

var

存放可變的數據。

2、構建根文件按系統

2.1、建立根文件系統目錄

進入到/opt/st

yarm目錄,新建建立根文件系統目錄的腳本文件create_rootfs_bash,使用命令chmod +x

create_rootfs_bash改變文件的可執行權限,./create_rootfs_bash運行腳本,就完成了根文件系統目錄的創建。

#!/bin/sh

echo "------Create

rootfs directons start...--------"

mkdir

rootfs

cd

rootfs

echo

"--------Create root,dev....----------"

mkdir root dev etc

boot tmp var sys proc lib mnt home

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 600

dev/console c 5 1

mknod -m 600

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---------"

改變了tmp目錄的使用權,讓它開啟sticky位,為tmp目錄的使用權開啟此位,可確保tmp目錄底下建立的文件,只有建立它的用戶有權刪除。盡管嵌入式系統多半是單用戶,不過有些嵌入式應用不一定用root的權限來執行,因此需要遵照根文件系統權限位的基本規定來設計。

2.2、建立動態鏈接庫

動態鏈接庫直接用友善之臂的,先解壓友善之臂的根文件包,拷貝lib的內容到新建的根文件目錄lib內。

cd

/mnt/hgfs/share

tar

–zxvf root_qtopia.tgz –C /home

cp –rfd

/hmoe/root_qtopia/lib/* /fs/rootfs/lib/*

2.3

交叉編譯Bosybox

Bosybox是一個遵循GPL v2協議的開源項目,它在編寫過程總對文件大小進行優化,并考慮了系統資源有限(比如內存等)的情況,使用Busybox可以自動生成根文件系統所需的bin、sbin、usr目錄和linuxrc文件。

1、解壓busybox

cd

/mnt/hgfs/share

tar

–zxvf busybox-1.13.3.tar.tgz –C /home

2、進入源碼,修改Makefile文件:

cd

/home/busybox-1.13.3

修改:

CROSS_COMPILE

?=arm-linux-

//第164行

ARCH

?=arm

//第189行

3、配置busybox

輸入make men

onfig進行配置

(1)、Busybox

Settings--->

General Configuration--->

[*] Show verbose applet usage messages

[*] Store applet usage messages in compressed form

[*] Support –install [-s] to install applet links at

runtime

[*] Enable locale support(system needs locale for this to

work)

[*] Support for –long-options

[*] Use the devpts filesystem for unix98 PTYs

[*] Support writing pidfiles

[*] Runtime SUID/SGID configuration via

/etc/busybox.config

[*] Suppress warning message if

/etc/busybox.conf is not readable

Build

Options--->

[*] Build BusyBox as a static binary(no shared libs)

[*] Build with Large File Support(for accessing

files>2GB)

Installation

Options->

[]Don’t use /usr

Applets links (as soft-links) --->

(./_install) BusyBox installation prefix

Busybox Library

Tuning --->

(6)Minimum password legth

(2)MD5:Trade Bytes for Speed

[*]Fsater /proc scanning code(+100bytes)

[*]Command line editing

(1024)Maximum length of input

[*] vi-style line

editing commands

(15) History size

[*] History

saving

[*] Tab

completion

[*]Fancy shell prompts

(4) Copy b?r size ,in

kilobytes

[*]Use ioctl names

rather than hex vals in error messages

[*]Support

infiniband HW

(2)、Linux Module

Utilities--->

(/lib/modules)Default directory containing modules

(modules.dep)Default name of modules.dep

[*]

insmod

[*]

rmmod

[*]

lsmod

[*]

modprobe

-----options common to multiple modutils

[ ]

support version 2.2/2.4 Linux kernels

[*]Support tainted module checking with new

kernels

[*]Support for module .aliases file

[*]

support for modules.symbols file

(3)、在busybox中配置對dev下設備類型的支持

dev的創建有三種方法:

手動創建:在制作根文件系統的時候,就在dev目錄下創建好要使用的設備文件,系統掛接根文件系統后,就可以使用dev目錄下的設備文件了。

使用devfs文件系統:這種方法已經過時,具有不確定的設備映射、沒有足夠的主/次設備號、devfs消耗大量的內存。

ev:它是個用戶程序,能根據系統中硬件設備的狀態動態的更新設備文件,包括設備文件的創建、刪除等。它的操作相對復雜,但靈活性很高

mdev是busybox自帶的一個簡化版的 ev,適合于嵌入式的應用埸合。其具有使用簡單的特點。它的作用,就是在系統啟動和熱插拔或動態加載驅動程序時,自動產生驅動程序所需的節點文件。在以busybox為基礎構建嵌入式linux的根文件系統時,使用它是最優的選擇。下面的選項將增加對mdev的支持。

Linux System

Utilities

--->

[*]Support

/etc/mdev.conf

[*]Support command execution at device addition/removal

4、 編譯busybox

編譯busybox到指定目錄:

cd

/home/busybox-1.13.3

make

CONFIG_PREFIX=/fs/rootfs install

在rootfs目錄下會生成目錄bin、sbin、usr和文件linuxrc的內容。

2.4

建立etc目錄下的配置文件

1、etc/mdev.conf文件,內容為空。

2、拷貝主機etc目錄下的passwd、group、shadow文件到rootfs/etc目錄下。

3、etc/sysconfig目錄下新建文件HOSTNAME,內容為”MrHung”。

4、etc/inittab文件:

#etc/inittab

::sysinit:/etc/init.d/rcS

::askfirst:-/bin/sh

::ctrlaltdel:/sbin/reboot

::shutdown:/bin/umount -a –r

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

echo

/sbin/mdev>/proc/sys/kernel/hotplug

mdev -s

echo

"***********************************************"

echo

"****************St ying ARM*********************"

echo "Kernel

version:linux-2.6.32.2"

echo "St

ent:Huang"

echo

"Date:2011.07.9"

echo

"***********************************************"

/bin/hostname -F

/etc/sysconfig/HOSTNAME

使用以下命令改變rcS的執行權限:

Chmod

+x 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='[\u@\h

\W]#'

PATH=$PATH

HOSTNAME='/bin/hostname'

export USER

LOGNAME PS1 PATH

2.5

制作根文件系統映像文件

使用以下命令安裝好yaffs文件系統制作工具:

tar

–zxvf mkyaffs2image.tgz –C /

在/目錄下,使用命令mkyaffs2image-128M

rootfs rootfs.img生成根文件系統映像文件。

總結

以上是生活随笔為你收集整理的linux系统建立文件系统,linux文件系统的建立的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。