欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
linux之rootfs (UBIFS)

大大小小事情一堆,好久不更新了,這次記錄下移植ubifs文件系統步驟。

雖然通常是先kernel后rootfs,但是kernel要不停改,rootfs卻必須得先存在,所以先搞定rootfs,rootfs采用據說(shuō)是nand flash上最先進(jìn)的ubifs。

 

http://www.busybox.net/下載busybox源代碼,目前最新的穩定版本為1.18.1,解壓至Workspaces。

 

以下切換到root用戶(hù)進(jìn)行操作(在其他用戶(hù)模式下編譯出來(lái)的rootfs登錄時(shí)不是以root登錄,好像是比較麻煩,簡(jiǎn)單起見(jiàn)先)

 

修改Makefile:

CROSS_COMPILE = /opt/arm-2010q1/bin/arm-none-linux-gnueabi-

ARCH = arm

保存退出后:

make menuconfig

1.18.1已經(jīng)把make install目錄默認改成./_install了。而且也不打算改成靜態(tài)庫,所以沒(méi)啥好改的,看一看保存退出后:

make (生成busybox)

make install (生成文件到_install目錄)

 

然后修改_install/bin/busybox權限:

chmod 4755 _install/bin/busybox

(給予busybox任何人可讀可執行,所有者可讀可寫(xiě)可執行,4讀,2寫(xiě),1執行,7=4+2+1,5=4+1,三者分別是所有者,所有者組,其他組。最前面的4表示其他用戶(hù)執行該文件時(shí),權限同所有者)

 

進(jìn)入到_install目錄創(chuàng )建linux需要的一些目錄:

mkdir -p dev etc home lib mnt proc root sys tmp usr var/lib/misc var/lock var/log var/run var/tmp
并修改權限:

chmod 1777 tmp
chmod 1777 var/tmp

(最前面1防止被其他用戶(hù)刪除)

在dev下創(chuàng )建console和null設備:
mknod -m 660 console c 5 1
mknod -m 660 null c 1 3     

(這兩個(gè)設備用來(lái)供init啟動(dòng)時(shí)調用)

 

現在來(lái)看一下busybox需要哪些動(dòng)態(tài)鏈接庫,返回到busybox目錄后輸入:

/opt/arm-2010q1/bin/arm-none-linux-gnueabi-readelf -a busybox  | grep Shared

顯示需要libm.so.6和libc.so.6

把交叉編譯器里的library拷貝到_install/lib目錄下,codesourcery的arm-2010q1,默認是armv5te,在目錄
/opt/arm-2010q1/arm-none-linux-gnueabi/libc下的lib中(對應ARMv4T在在armv4t中,對應armv7-a thumb2在thumb2中),鑒于以后的應用程序可能會(huì )用到除libm.so.6和libc.so.6外的這些庫,因此全部拷過(guò)去,在_install下執行:

cp /opt/arm-2010q1/arm-none-linux-gnueabi/libc/lib/*.so*  lib -a

 

然后在_install/etc下創(chuàng )建一些配置文件:

fstab
1 #
2 # /etc/fstab: static file system information.
3 #
4 #
5 #
6 # file system mount type options dump pass
7  
8 #for mdev
9 proc /proc proc defaults 0 0
10 sysfs /sys sysfs defaults 0 0
11
12 #make sure /dev /tmp /var are tmpfs(tmpfs use ram as media) thus can be r/w
13 tmpfs /tmp tmpfs defaults 0 0
14 tmpfs /dev tmpfs defaults 0 0
15 tmpfs /var tmpfs defaults 0 0
16
17  #usbfs /proc/bus/usb usbfs defaults 0 0

fstab中的文件系統會(huì )被mount -a掛載。

 

inittab
1 # see busybox/examples/inittab
2  
3  # Boot-time system configuration/initialization script.
4 # This is run first except when booting in single-user mode.
5  ::sysinit:/etc/init.d/rcS
6
7  #Start an "askfirst" shell on the console (whatever that may be)
8 #use respawn instead askfirst to make sure console always active
9  ::respawn:-bin/sh
10
11  # Stuff to do when restarting the init process
12  ::restart:/sbin/init
13
14 # Stuff to do before rebooting
15 ::ctrlaltdel:/sbin/reboot
16 ::shutdown:/bin/umount -a -r
17 ::shutdown:/sbin/swapoff -a
18
19

inittab會(huì )被init執行

 

init.d/rcS
1 #!/bin/sh
2
3 #add setting here for auto start program
4 PATH=/sbin:/bin:/usr/sbin:/usr/bin
5 runlevel=S
6 prevlevel=N
7 umask 022
8 export PATH runlevel prevlevel
9
10 #See docs/mdev.txt
11 #mount all fs in fstab,proc and sysfs are must for mdev
12 mount -a
13
14 #create device nodes
15 echo /sbin/mdev > /proc/sys/kernel/hotplug
16
17 #seed all device nodes
18 mdev -s
19
20 #create pts directory for remote login such as SSH and telnet
21 mkdir -p /dev/pts
22 mount -t devpts devpts /dev/pts
23
24
25
26 if [ -f /etc/hostname ]; then
27 /bin/hostname -F /etc/hostname
28 fi
29
30 if [ -e /sys/class/net/eth0 ]; then
31 ifconfig eth0 192.168.1.15
32 fi
33
34 echo "etc init.d rcS done"
35

init.d/rcS會(huì )在開(kāi)機時(shí)自動(dòng)執行。

 

更改rcS和inittab的權限為777:

chmod 777 init.d/rcS

chmod 777 inittab

 

另外還有幾個(gè)文件和目錄:

rc.d目錄,可以存放自啟動(dòng)的一些腳本

mdev.conf(內容可為空,也可參考busybox docs/mdev.txt)

profile

1 #id -un = whoami
2 export USER="id -un"
3 export LOGNAME=$USER
4 export PATH=$PATH
5
6 #a colorful prompt begin with "\e[" end with "m"
7 export PS1='\e[1;32m\u@\e[1;31m\h#\e[0m'

 

resolve.conf (是標注dns服務(wù)器的,就一句 nameserver 202.96.134.133)

hostname  (供init.d/rcS讀取,就一個(gè)hostname名稱(chēng),如mx27)

passwd,group,shadow用戶(hù)/組/密碼,可以用PC機上的替代,這里是一些說(shuō)明:

代碼
1 passwd一共由7個(gè)字段組成,6個(gè)冒號將其隔開(kāi)。它們的含義分別為:
2 1 用戶(hù)名
3 2 是否有加密口令,x表示有,不填表示無(wú),采用MD5、DES加密。
4 3 用戶(hù)ID
5 4 組ID
6 5 注釋字段
7 6 登錄目錄
8 7 所使用的shell程序
9
10 Group一共由4個(gè)字段組成,3個(gè)冒號將其隔開(kāi),它們的含義分別為:
11 1 組名
12 2 是否有加密口令,同passwd
13 3 組ID
14 4 指向各用戶(hù)名指針的數組
15
16 shadow一共由9個(gè)字段組成,8個(gè)冒號將其隔開(kāi),它們的含義分別為:
17 1 用戶(hù)名
18 2 加密后的口令,若為空,表示該用戶(hù)不需要口令即可登陸,若為*號,表示該賬號被禁用。 上面的表示的是123456加密后的口令。
19 3 從1970年1月1日至口令最近一次被修改的天數
20 4 口令在多少天內不能被用戶(hù)修改
21 5 口令在多少天后必須被修改(0為沒(méi)有修改過(guò))
22 6 口令過(guò)期多少天后用戶(hù)賬號被禁止
23 7 口令在到期多少天內給用戶(hù)發(fā)出警告
24 8 口令自1970年1月1日被禁止的天數
25 9 保留域

 

 

現在除了lib/modules/`uname -r`/kernel下的文件(`uname -r`為開(kāi)發(fā)板linux版本,可以輸入echo `uname -r`查看),這個(gè)rootfs基本完成了。在www.infradead.org的FAQ里找到mkfs的git地址(汗,不好找):

git clone git://git.infradead.org/mtd-utils.git

cd mtd-utils

git describe master  (版本號是v1.3.1-138-gf0cc488)

進(jìn)入mkfs.ubifs編譯出錯,在FAQ中看到需要3個(gè)庫,安裝之:

sudo apt-get install zlib1g-dev

sudo apt-get install liblzo2-dev

sudo apt-get install uuid-dev

make 成功產(chǎn)生mkfs.ubifs

 

接著(zhù)把_install做成ubifs文件系統:

./mkfs.ubifs -r <path>/_install -m 512 -e 15360 -c 3897 -o ubifs.img

其中-m表示頁(yè)面大小,-e表示邏輯擦除塊大小,-c表示最大的邏輯擦除塊數量,具體的可以通過(guò)barebox執行ubiattach的時(shí)候看到。

 

上電進(jìn)入barebox:

erase /dev/nand0.root

ubiattach /dev/nand0.root

ubimkvol /dev/ubi0 root 0 (注意這里的名字必須跟bootargs匹配,默認為ubi0.root)

dhcp

tftp ubifs.img /dev/ubi0.root

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
使用BusyBox制作linux根文件系統
使用mdev制作cramfs根文件系統
根文件系統制作
使用Busybox制作CRAMFS文件系統成功
(轉載)一步一步學(xué)ZedBoard & Zynq(七):制作ZedBoard上linux根文件系統(ramdisk)
Linux操作系統下如何制作Image映像文件2
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久