4 使用BusyBox製作根檔案系統的操作步驟

2021-08-19 09:32:20 字數 3233 閱讀 8829

參考部落格

p.s:出現錯誤

解決思路方法:此檔案和主功能無關,可以避開。

(1)先找到sync.c檔案:在此目錄下find -name "sync.c",知道其在./coreutils/sync.c

(2)cd coreutils,在kbuild檔案中,查詢sync.o,可知由巨集config_sync來控制是否編譯

(1)make install,執行busybox頂層目錄的乙個目標install。

(2)安裝目錄預設在busybox/_install,裡面有bin/  sbin/  linuxrc三個(目錄)檔案。

(3)make install的解釋

主要是拷貝一些檔案到etc/目錄下,並進行一些修改

1、將  busybox/examples/bootfloopy/etc/*  拷貝到  /rootfs/etc/  目錄下,

然後修改其中的inittab檔案;

(1)開機免登陸,直接進入shell

[cpp] 

view plain

copy

#first:run the system script file

::sysinit:/etc/init.d/rcs     

::askfirst:-/bin/sh           

::ctrlaltdel:-/sbin/reboot    

#umount all filesystem

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

#restart init process

::restart:/sbin/init  

或者[cpp] 

view plain

copy

::sysinit:/etc/init.d/rcs  

#::respawn:-/bin/sh

#::respawn:-/bin/login

console::askfirst:-/bin/sh  //這個和上面一樣,只是id明確給出而已

#tty2::askfirst:-/bin/sh

::ctrlaltdel:/bin/umount -a -r  

(2)開機需要登陸

[cpp] 

view plain

copy

::sysinit:/etc/init.d/rcs  

#::respawn:-/bin/sh

::respawn:-/bin/login  

#console::askfirst:-/bin/sh

#tty2::askfirst:-/bin/sh

::ctrlaltdel:/bin/umount -a -r  

2、使用者名稱、密碼設定:

(1)只儲存與root相關項,修改passwd為root:x:0:0:root:/root:/bin/sh。

(2)只儲存與root相關項,修改group為root:x:0:root。

(3)只儲存與root相關項,shadow其他不需要更改(或者清除密碼),登陸密碼和拷貝源的密碼一致。

3、修改profile檔案;

[cpp] 

view plain

copy

# ash profile

# vim: syntax=sh

# no core files by default

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  

4、修改fstab檔案;

新增以下內容:注意這裡的掛載點需要預先建立(如果在第一步建立空目錄是沒有建立的話)

[cpp] 

view plain

copy

#proc        /proc       proc    defaults    0   0  

sysfs       /sys        sysfs   defaults    0   0  

tmpfs       /var        tmpfs   defaults    0   0  

tmpfs       /tmp        tmpfs   defaults    0   0  

tmpfs       /dev        tmpfs   defaults    0   0  

5、修改etc/init.d/rc.s檔案;

[cpp] 

view plain

copy

#!/bin/sh

path=/sbin:/bin:/usr/sbin:/usr/bin  

runlevel=s  

prevlevel=n  

umask 022  

export path runlevel prevlevel  

mount -a  

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

mdev -s  

/bin/hostname -f /etc/sysconfig/hostname  

ifconfig eth0 192.168.1.10  

將動態鏈結庫拷貝到/root/rootfs/lib/目錄下,動態鏈結庫在  /usr/local/arm/arm-2009q3/arm-none-linux-gnueabi/libc/lib/  目錄下。

busybox製作根檔案系統

以前的檔案系統都是同事做好的,今天心血來潮決決定探索一下,沒想到出了問題。makefile 405 mixed implicit and normal rules deprecated syntax makefile 1242 mixed implicit and normal rules depr...

BusyBox製作根檔案系統

make install 將編譯好的根檔案放在 install目錄中5 建立一些其他的目錄 把一些庫檔案,拿過來 mkdir dev etc mnt proc var tmp sys root cp toolchain gcc 4.6.4 arm arm1176jzfssf linux gnueab...

用busybox製作根檔案系統

1 獲取原始碼解壓 tar jvxf busybox 1.13.3.tar.bz2 進入解壓後的busybox原始碼目錄 cdbusybox 1.13.3 2 配置busybox 步驟跟編譯linux核心時很像 makemenuconfig 出現乙個圖形介面,選擇busybox settings,這...