国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

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

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

開(kāi)通VIP
下接 android linux 基礎(chǔ)知識(shí)總結(jié)[下]2
2.6.1 /etc/inittab
initab 被 init 使用
2.6.1.1 老平臺(tái) inittab文件內(nèi)容
2.6.1.1 gpephone 官方的inittab 文件(與redhat,federo差不多)
2.6.1.1 ubuntu中沒(méi)有inittab文件
=================
2.6.1.1 老平臺(tái) inittab文件內(nèi)容
-----------------------------------------
::sysinit:/etc/init.d/rcS
::respawn:-/bin/sh
::restart:/sbin/init
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umount -a -r
::shutdown:/sbin/swapoff -a
-----------------------------------------
2.6.1.2 gpephone 官方的inittab 文件(與redhat,federo差不多
-----------------------------------------
# /etc/inittab: init(8) configuration.
# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $
# The default runlevel.
id:5:initdefault:
# Boot-time system configuration/initialization script.
# This is run first except when booting in emergency (-b) mode.
si::sysinit:/etc/init.d/rcS
# What to do in single-user mode.
~~:S:wait:/sbin/sulogin
# /etc/init.d executes the S and K scripts upon change
# of runlevel.
#
# Runlevel 0 is halt.
# Runlevel 1 is single-user.
# Runlevels 2-5 are multi-user.
# Runlevel 6 is reboot.
l0:0:wait:/etc/init.d/rc 0
l1:1:wait:/etc/init.d/rc 1
l2:2:wait:/etc/init.d/rc 2
l3:3:wait:/etc/init.d/rc 3
l4:4:wait:/etc/init.d/rc 4
l5:5:wait:/etc/init.d/rc 5
l6:6:wait:/etc/init.d/rc 6
# Normally not reached, but fallthrough in case of emergency.
z6:6:respawn:/sbin/sulogin
1:2345:respawn:/sbin/getty 38400 tty1
-------------------------------------------
2.6.1.3 ubuntu中沒(méi)有inittab文件
在unbutu系統(tǒng)中我們沒(méi)看到此文件,是因?yàn)閡buntu用的是 upstart ,lfs中使用的是 sysvinit ,嵌入式系統(tǒng)中
一般使用的是 busybox 中的 init ,android 系統(tǒng)使用的是 system/core/init 
init:
main()
init_main()
read_inittab();
gdm運(yùn)行后
/etc/rc5.d/S30gdm -> ../init.d/gdm
/etc/init.d/gdm:19:DAEMON=/usr/sbin/gdm
/etc/init.d/gdm:24: SSD_ARG="--startas $DAEMON"
/etc/init.d/gdm:27: SSD_ARG="--exec $DAEMON"
啟動(dòng)gdm:
log_begin_msg "Starting GNOME Display Manager..."
start-stop-daemon --start --quiet --oknodo --pidfile $PIDFILE --name gdm $SSD_ARG -- $CONFIG_FILE >/dev/null
================
2.6.2 /etc/init.d/rcS
-------------------
#!/bin/sh
掛在 /etc/fstab 中的文件系統(tǒng)
/bin/mount -a
. /etc/default/rcS
#環(huán)境變量
. /etc/profile
#屏幕叫準(zhǔn)備
. /etc/X11/run-calibrate
#啟動(dòng)X
. /etc/X11/Xserver
. /etc/scripts/testd-bus.sh
#啟動(dòng)dbus消息總線
#啟動(dòng)gpephone
-------------------
ubuntu 系統(tǒng)
---------------
exec /etc/init.d/rc S
---------------
會(huì)依此執(zhí)行 /etc/rcS.d/ 下以
S01mountkernfs.sh 
S02hostname.sh
S10udev 
S11mountdevsubfs.sh
S20checkroot.sh
S22mtab.sh
S30checkfs.sh
S35mountall.sh
S40networking
S43portmap
S55bootmisc.sh
./rc3.d/S30gdm
./rc2.d/S30gdm
./rc4.d/S30gdm
./rc5.d/S30gdm
/etc/rcS.d/S35mountall.sh -> ../init.d/mountall.sh
mount -a -t nonfs,nfs4,smbfs,cifs,ncp,ncpfs,coda,ocfs2,gfs,gfs2 -O no_netdev
mount命令的一些解析:
mount -a [-t|-O] ... : mount all stuff from /etc/fstab
mount -t type dev dir : ordinary mount command
================
2.6.3 /etc/fstab 文件
Util-linux 軟件包包含許多工具。其中比較重要的是加載、卸載、格式化、分區(qū)和管理硬盤(pán)驅(qū)動(dòng)器,打開(kāi) tty 端口和得到內(nèi)核消息
arch 報(bào)告機(jī)器的體系結(jié)構(gòu)
blockdev 在命令行中調(diào)用塊設(shè)備的ioctl
cal 顯示一個(gè)簡(jiǎn)單的日歷。
cfdisk 處理指定設(shè)備的分區(qū)表
column 把輸出格式化為幾列
ctrlaltdel 設(shè)置CTRL+ALT+DEL組合鍵的功能為硬重啟或軟重啟
dmesg 顯示內(nèi)核的啟動(dòng)信息
fdisk 磁盤(pán)分區(qū)管理程序
fsck.cramfs 對(duì)Cramfs文件系統(tǒng)的一致性進(jìn)行檢查
getopt 在給出的命令行進(jìn)行選項(xiàng)和參數(shù)解析
hexdump 用用戶(hù)指定的方式(包括ASCII, 十進(jìn)制, 十六進(jìn)制, 八進(jìn)制)顯示一個(gè)文件或者標(biāo)準(zhǔn)輸入的數(shù)據(jù)
hwclock 查詢(xún)和設(shè)置硬件時(shí)鐘(也被稱(chēng)為RTC或BIOS時(shí)鐘)。
ipcrm 刪除給定的進(jìn)程間通信(IPC)資源
mkfs 在一個(gè)設(shè)備(通常是一個(gè)硬盤(pán)分區(qū))設(shè)備上建立文件系統(tǒng)
mkfs.cramfs 創(chuàng)建cramfs文件系統(tǒng)
mkswap 初始化指定設(shè)備或文件,以用做交換分區(qū)
more 分屏顯示文件,但沒(méi)有l(wèi)ess好用
mount 把一個(gè)文件系統(tǒng)從一個(gè)設(shè)備掛載到一個(gè)目錄
ramsize 顯示或者改變 RAM disk 的大小
raw 將一個(gè)原始的Linux字符設(shè)備綁定到一個(gè)塊設(shè)備
rdev 查詢(xún)和設(shè)置內(nèi)核的根設(shè)備和其他信息
readprofile 顯示內(nèi)核側(cè)寫(xiě)文件/proc/profile的信息
rename 對(duì)文件進(jìn)行重命名
renice 修改正在運(yùn)行進(jìn)程的優(yōu)先級(jí)
sfdisk 磁盤(pán)分區(qū)表管理工具
umount 卸載一個(gè)被掛載的文件系統(tǒng)
mount掛載與/etc/fstab
mount 源目錄 目的目錄
mount -a 自動(dòng)掛載/etc/fstab中的文件系統(tǒng) 
根目錄 / 是必須掛載的﹐而且一定要先于其它 mount point 被掛載進(jìn)來(lái)。 其它 mount point 必須為已建立的目錄﹐可任意指定﹐
但一定要遵守必須的系統(tǒng)目錄架構(gòu)原則 所有 mount point 在同一時(shí)間之內(nèi)﹐只能掛載一次。 所有 partition 在同一時(shí)間之內(nèi)﹐
只能掛載一次。 如若進(jìn)行卸載﹐您必須先將工作目錄移到 mount point(及其子目錄) 之外。 
/etc/fstab 
第一列:label 
第二列:掛載點(diǎn)
第三列:分區(qū)的文件系統(tǒng)
第四列:文件系統(tǒng)掛載選項(xiàng),看附件啦
第五列:是否被dump作用。0代表不要做dump 備份,1代表要每天進(jìn)行dump的動(dòng)作。 2 也代表其它不定日期的dump備份動(dòng)作,通常這個(gè)數(shù)值不是0就是1啦!
第六列:是否以fsck檢查分區(qū)(開(kāi)機(jī)時(shí)候檢查分區(qū))0為不檢查,1為開(kāi)機(jī)的時(shí)候檢查,2為在稍后的時(shí)間檢查
/dev/sda8 on / type ext3 (rw,relatime,errors=remount-ro)
/proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
/dev/sda7 on /boot type ext3 (rw,relatime)
/dev/sda11 on /home type ext3 (rw,relatime)
/dev/sdb5 on /opt type ext3 (rw,relatime)
/dev/sda9 on /usr/local type ext3 (rw,relatime)
/dev/sda1 on /windows/c type vfat (rw,utf8,umask=007,gid=1000)
/dev/sda5 on /windows/d type vfat (rw,utf8,umask=007,gid=1000)
/dev/sda6 on /windows/e type vfat (rw,utf8,umask=007,gid=1000)
可以在/etc/fstab 中進(jìn)行指定
proc /proc proc defaults 0 0
none /tmp ramfs defaults 0 0
sysfs /sys sysfs defaults 0 0
none /dev/pts devpts defaults 0 0
./util-linux-2.12r/mount/mount.c
main()
result = do_mount_all (types, options, test_opts);
mount --help 可以知道 mount -a 是mount所有/etc/fstab 
mount -a [-t|-O] ... : mount all stuff from /etc/fstab
======================
2.7 制作文件系統(tǒng)
2.7.1 原始方式
2.7.2 通過(guò)scratchbox等工具
2.7.3 通過(guò) android 源碼集成開(kāi)發(fā)環(huán)境
2.7.1 原始方式
創(chuàng)建基本文件系統(tǒng)標(biāo)準(zhǔn)目錄(根據(jù)不同的linux系統(tǒng),ubuntu跟android目錄結(jié)構(gòu)就完全不同)
lfs中的標(biāo)準(zhǔn)目錄:
創(chuàng)建修改必要的配置文件
/scratchbox/source2/source/busybox/busybox-1.1.2/examples/bootfloppy/etc/
vim ${CLFS_ROOTFS_DIR}/etc/profile
vim ${CLFS_ROOTFS_DIR}/etc/inittab
vim ${CLFS_ROOTFS_DIR}/etc/fstab
vim ${CLFS_ROOTFS_DIR}/etc/init.d/rcS
創(chuàng)建賬號(hào)以及密碼文件
sudo vim ${CLFS_ROOTFS_DIR}/passwd
拷貝必須的動(dòng)態(tài)庫(kù)文件
cd ${CLFS_ROOTFS_DIR}/lib
cp -d $COMPILER_LIB/ld* ./
cp $COMPILER_LIB/libc-2.3.5.so ./
cp -d $COMPILER_LIB/libc.so.6 ./
cp $COMPILER_LIB/libm-* ./
cp -d $COMPILER_LIB/libm.s* ./
cp $COMPILER_LIB/libcrypt-* ./
cp -d $COMPILER_LIB/libcrypt.s* ./
拷貝可選的動(dòng)態(tài)庫(kù)文件
如果需要域名解析:
1)增加/etc/resolv.conf
[root@lqm /etc]#cat resolv.conf
nameserver 192.168.x.x //加入域名解析器
2)增加相應(yīng)動(dòng)態(tài)庫(kù)的支持
增加如下:
libnss_files
libnss_dns
libresolv.so
find find . -name "libnss*" $COMPILER_LIB/
./libnss_files.so.2
./libnss_files.so
./libnss_dns-2.3.2.so
./libnss_dns.so
./libnss_files-2.3.2.so
./libnss_dns.so.2
find . -name "libresolv*" /scratchbox/compilers/arm-linux-gcc-3.4.4-glibc-2.3.5/arm-unknown-linux-gnu/lib/
./libresolv.so
./libresolv.so.2
./libresolv-2.3.2.so
2.7.2 通過(guò)scratchbox等工具
===================
2.7.3 通過(guò) android 源碼集成開(kāi)發(fā)環(huán)境
環(huán)境搭建問(wèn)題:
1.為什么拷貝 cupcake 編譯結(jié)果 out/target/product/littleton/root/ 到內(nèi)核頂層目錄?
2.cupcake-jianping/make_image15.sh中的choosecombo是什么作用?
3.make_image15.sh 與 make_env15.sh只差一句make -j2?
4.補(bǔ)充shell腳本知識(shí)。
=====================
2.7.4 配置android網(wǎng)絡(luò)文件系統(tǒng)
下面是曾經(jīng)用過(guò)的幾種開(kāi)發(fā)板的命令行參數(shù):
S3C2410 啟動(dòng)參數(shù):
noinitrd root=/dev/nfs nfsroot=192.168.2.56:/nfsroot/rootfs 
ip=192.168.2.188:192.168.2.56:192.168.2.56:255.255.255.0::eth0:on console=ttySAC0
S3C2440 啟動(dòng)參數(shù):
setenv bootargs console=ttySAC0 root=/dev/nfs nfsroot=192.168.2.56:/nfsroot/rootfs 
ip=192.168.2.175:192.168.2.56:192.168.2.201:255.255.255.0::eth0:on mem=64M init=/init 
marvell 310 啟動(dòng)參數(shù):
boot root=/dev/nfs nfsroot=192.168.2.56:/nfsroot/rootfs,rsize=1024,wsize=1024 
ip=192.168.2.176:192.168.2.201:192.168.2.201:255.255.255.0::eth0:-On 
console=ttyS2,115200 mem=64M init=/init
當(dāng)前android內(nèi)核的.config文件中的命令行參數(shù):
CONFIG_CMDLINE="root=/dev/nfs nfsroot=192.168.1.100:/nfsroot/rootfs,rsize=1024,wsize=1024 
ip=192.168.1.101:192.168.1.100:192.168.1.100:255.255.255.0::usb0:on 
console=ttyS1,115200 mem=128M init=/init android uart_dma=1"
`root=' 參數(shù)
此參數(shù)告訴內(nèi)核啟動(dòng)時(shí)以那個(gè)設(shè)備作為根文件系統(tǒng)使用。我的pc根文件系統(tǒng):
/dev/sda8 9614116 6522156 2603588 72% /
ubuntu 的/boot/grub/menu.lst參數(shù):
kernel /vmlinuz-2.6.27-4-generic root=UUID=2ffa7dc6-2dc5-4b66-8661-1226c086951a 
ro locale=zh_CN quiet splash 
initrd /initrd.img-2.6.27-4-generic
其中 root可以設(shè)置為:root=/dev/sda8
/dev/nfs, 這并非真的是個(gè)設(shè)備, 而是一個(gè)告訴核心經(jīng)由網(wǎng)絡(luò)取得根文件系統(tǒng)
lfs的/boot/grub/menu.lst參數(shù):
title LFS 6.4
root (hd1,1)
kernel /boot/lfskernel-2.6.27.4 root=/dev/sdb1
`nfsroot=' 參數(shù)
這個(gè)參數(shù)告訴內(nèi)核到哪臺(tái)pc的哪個(gè)目錄讀取根文件系統(tǒng)。此參數(shù)的格式如下:
nfsroot=[:][,]
--pc機(jī)的ip地址,如果此字段沒(méi)給值,那么將使用由 nfsaddrs 變量(見(jiàn)下面)所決定的值。
-- pc服務(wù)端上要作為根掛入的目錄域名(/nfsroot/rootfs)
-- 標(biāo)準(zhǔn)的網(wǎng)絡(luò)文件系統(tǒng)選項(xiàng)。所有選項(xiàng)都以逗號(hào)分開(kāi)。如果沒(méi)有給定此選項(xiàng)字段則使用下列的缺省值:
port = as given by server portmap daemon
rsize = 1024
wsize = 1024
timeo = 7
retrans = 3
acregmin = 3
acregmax = 60
acdirmin = 30
acdirmax = 60
flags = hard, nointr, noposix, cto, ac
`init=' 參數(shù)
內(nèi)核啟動(dòng)時(shí)缺省執(zhí)行 `init' 程序,內(nèi)核將會(huì)到/sbin/, /bin/ 等目錄下查找默認(rèn)的init,如果沒(méi)有找到那么就報(bào)告出錯(cuò)。
而最后它會(huì)去試 /bin/sh (可能在 /etc/rc )。如果說(shuō),例如,如果你的 init 程序壞掉了,只要使用 init=/bin/sh
這個(gè)啟動(dòng)參數(shù)就能讓你在啟動(dòng)時(shí)直接跳到解譯環(huán)境(shell),使你能夠換掉壞掉的程序。
`ip=' 參數(shù)
nfsaddrs=::::::
ip=192.168.1.101:192.168.1.100:192.168.1.100:255.255.255.0::usb0:on
ip=192.168.2.175:192.168.2.56:192.168.2.201:255.255.255.0::eth0:on
-- 板子的ip 使用何種協(xié)議端視配置核心時(shí)打開(kāi)的選項(xiàng)以及 參數(shù)而定。如果設(shè)定此參數(shù),就不會(huì)使用反向地址解析協(xié)議或啟動(dòng)協(xié)議。
-- 網(wǎng)絡(luò)文件系統(tǒng)服務(wù)端之互聯(lián)網(wǎng)地址。
-- 網(wǎng)關(guān)(gateway),
-- 本地網(wǎng)絡(luò)界面的網(wǎng)絡(luò)掩碼。如果為空白,則網(wǎng)絡(luò)掩碼由客戶(hù)端的互聯(lián)網(wǎng)地址導(dǎo)出,除非由啟動(dòng)協(xié)議接收到值。
-- 客戶(hù)端的域名。如果空白,則使用客戶(hù)端互聯(lián)網(wǎng)地址之 ASCII-標(biāo)記法,或由啟動(dòng)協(xié)議接收的值。
-- 要使用的網(wǎng)絡(luò)設(shè)備域名。
-- 用以作為自動(dòng)配置的方法。
參考文檔:
ramfs, rootfs, initrd and initramfs
http://blog.chinaunix.net/u2/89923/showart_1890405.html
嵌入式系統(tǒng)文件系統(tǒng)比較
http://blog.sina.com.cn/s/blog_53ad41a50100eptc.html
LINUX系統(tǒng)性能調(diào)諧
http://www.host01.com/article/server/00 ... 3755_2.htm
怎樣限制或者修改/dev/shm的大小
http://www.linuxfly.cn/html/65/t-665.html
====================================================================
====================================================================
3. 制作交叉工具鏈
3.1 什么是工具鏈
3.2 獲取交叉工具鏈的幾種途徑
3.3 android工具鏈與gnu工具鏈的比較
每一個(gè)軟件,在編譯的過(guò)程中,都要經(jīng)過(guò)一系列的處理,才能從源代碼變成可執(zhí)行的目標(biāo)代碼。這一系列處理包括:預(yù)編譯,高級(jí)語(yǔ)言編譯,
匯編,連接及重定位。這一套流程里面用到的每個(gè)工具和相關(guān)的庫(kù)組成的集合,就稱(chēng)為工具鏈(tool chain)。以GNU的開(kāi)發(fā)工具GCC為例,
它就包括了預(yù)編譯器cpp,c編譯器gcc,匯編器as,和連接器ld等。在GNU自己對(duì)工具鏈定義中,還加進(jìn)了一套額外的用于處理二進(jìn)制包的
工具包binutils,整個(gè)工具鏈應(yīng)該是GCC+binutils+Glibc, binutils其實(shí)與Glibc關(guān)系不是很大,它可以被獨(dú)立安裝的,所以GNU工具
鏈也可以狹義地被理解為GCC+Glibc。
要構(gòu)建出一個(gè)交叉工具鏈,需要解決三個(gè)問(wèn)題。一是這個(gè)工具鏈必須是可以運(yùn)行在原工作站平臺(tái)上的。二是我們需要更換一個(gè)與目標(biāo)平臺(tái)對(duì)應(yīng)的
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
移植Busybox與構(gòu)建根文件系統(tǒng)
關(guān)于Ubuntu 12.04修改默認(rèn)運(yùn)行級(jí)別,啟動(dòng)字符界面的個(gè)人理解
Ubuntu系統(tǒng)目錄結(jié)構(gòu)
常用linux命令學(xué)習(xí)筆記
Gerrit設(shè)置開(kāi)機(jī)啟動(dòng)
android下如何把觸摸屏的驅(qū)動(dòng)動(dòng)態(tài)加載
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服