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

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

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

開(kāi)通VIP
linux-2.6中的udev問(wèn)題
2007-08-11
計劃的任務(wù)
發(fā)現的問(wèn)題
完成的任務(wù)
1.  不能啟動(dòng)linuxrc。
Ø         問(wèn)題現象:
²        啟動(dòng)后提示:
Warning: unable to open an initial console.
Failed to execute /linuxrc.  Attempting defaults...
Ø         解決過(guò)程:
²        加載的根文件系統是在2.4內核下可以正常使用的cramfs文件系統。后來(lái)根據提示,發(fā)現根目錄下并沒(méi)有linuxrc文件。懷疑2.6和2.4的根文件系統不能通用,于是決定自己重新做一個(gè)。
²        下載了busybox-1.3.2,修改makefile的arch和cross-compiler參數,make menuconfig。其中遇到的一個(gè)問(wèn)題是,當我選擇靜態(tài)編譯時(shí),好像提示編譯器庫不支持,具體忘了,用的gcc版本為gcc-4.1.1。
²        新制作的文件系統根目錄下有一個(gè)linuxrc文件,是一個(gè)指向busybox文件的鏈接文件。添加了網(wǎng)上說(shuō)的一些目錄,etc下的文件從原來(lái)的文件系統下拷過(guò)來(lái)的。制作成cramfs后,就可以出現shell了。
2.  /dev目錄下沒(méi)有設備文件。
Ø         問(wèn)題現象:
²        加載rootfs(cramfs)后,/dev目錄下只有在上位機上創(chuàng )建的console和null。
Ø         解決過(guò)程:
²        因為用的內核2.6.22已經(jīng)取消了devfs的支持,使用的是udev。從網(wǎng)絡(luò )得知,busybox自帶了mdev,是一個(gè)精簡(jiǎn)的udev。只要在linuxrc中添加:
mdev –s
echo /sbin/mdev > /proc/sys/kernel/hotplug
就可以了,但是我的是一個(gè)二進(jìn)制的文件,沒(méi)法添加腳本。搜索,發(fā)現可以用一個(gè)腳本文件覆蓋原來(lái)的linuxrc。于是都照網(wǎng)上的一個(gè)腳本寫(xiě)了一個(gè),內容如下:
#!/bin/sh
echo "mount /etc as ramfs"
/bin/mount -n -t ramfs ramfs /etc
/bin/cp -a /mnt/etc/* /etc
echo "recreate the /etc/mtab entries"
# recreate the /etc/mtab entries
/bin/mount -f -t cramfs o remount,ro /dev/mtdblock3 /
#mount some file system
echo "mount /dev/shm as tmpfs"
/bin/mount n t tmpfs tmpfs /dev/shm
#掛載/proc為proc文件系統
echo "mount /proc as proc"
/bin/mount -n -t proc none /proc
#掛載/sys為sysfs文件系統
echo "mount /sys as sysfs"
/bin/mount -n -t sysfs none /sys
#add mdev support
mdev –s
echo /sbin/mdev > /proc/sys/kernel/hotplug
exec /sbin/init
結果有出現了:
Warning: unable to open an initial console.
Failed to execute /linuxrc.  Attempting defaults...
錯誤。
²        為什么自己生成的可以,而添加的就不可以呢,自己生成的到底干了些什么事情呢?后來(lái)發(fā)現,自己添加的linuxrc沒(méi)有可以執行屬性,chmod 777后,終于可以執行了,但是又出現了新的錯誤,說(shuō)找不到/etc/init.d/rcS。但是我確認過(guò)這個(gè)文件是在的,為什么會(huì )找不到呢。于是打算看看busybox的源代碼,看看自帶的linuxrc到底干了些什么事情。
²        看了很久,就是找不到linuxrc相關(guān)的代碼,好像入口就是指向init_main的。而該入口是/sbin/init的入口啊。難道linuxrc什么都沒(méi)有做。跟蹤了一下,結果證實(shí)了我的想法,自帶的linuxrc相當于只執行了一句:
exec /sbin/init
于是我把linuxrc其它的語(yǔ)句都刪除,只保留了一句,執行結果和自帶的文件結果一模一樣。
看來(lái),應該是前面那些腳本的問(wèn)題了,進(jìn)入啟動(dòng)的shell,竟然發(fā)現/etc下面是空的,再看了下腳本,才恍然大悟,原來(lái)是語(yǔ)句:
/bin/mount -n -t ramfs ramfs /etc
干的好事,因為下面的那句拷貝語(yǔ)句沒(méi)有執行成功,所以/etc下面就空了,而我的/mnt下面是空的,所以什么都沒(méi)有拷到。
²        修改后,重新加載發(fā)現我的dev下面還是什么都沒(méi)有,運行了mdev –s后沒(méi)有效果。后來(lái)覺(jué)悟,我的/dev目錄是只讀的,如果程序要創(chuàng )建東西也創(chuàng )建不了啊。于是運行:
/bin/mount –t tmpfs tmpfs /dev
現在可以寫(xiě)了,可是mdev –s還是沒(méi)有反應,why?仔細查看了啟動(dòng)腳步,發(fā)現還有一個(gè)錯誤,就是mount sysfs on /sys failed,進(jìn)而發(fā)現我的根目錄下并沒(méi)有sys文件夾,添加,重新燒寫(xiě),終于在/dev下發(fā)現了一大堆東西,高興啊。
²        這過(guò)程中還碰到的一個(gè)小問(wèn)題是,我在上位機上的/etc下面發(fā)現一個(gè)mtab的鏈接,指向的是self/mtab,沒(méi)有任何內容,又自認為該文件在啟動(dòng)時(shí)是自動(dòng)創(chuàng )建的,就把它刪了,發(fā)現啟動(dòng)就出錯了。啟動(dòng)時(shí)只是重新寫(xiě),而不能創(chuàng )建它,所以不能刪了它的。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
移植yaffs到linux
詳解linux內存磁盤(pán)初始化技術(shù)
嵌入式linuxbusybox文件系統的移植和rzsz命令的添加
使用busybox-1.9.2制作根文件系統
Linux內核移植和yaffs2根文件系統制作V1.2(6)
mini6410根文件系統的制作
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

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