rootfs根文件系统创建脚本

2023-11-01 64浏览
百检网是一家专业的第三方检测平台,汇聚众多拥有权威资质的第三方检测机构为你提供一站式的检测服务,做检测就上百检网。百检网让检测从此检测,一份报告全国通用,专业值得信赖。

echo "Create initrd.img"

dd if=/dev/zero of=/tmp/initrd.img bs=1k count=32768

#dd if=/dev/zero of=/tmp/initrd.img bs=1k count=131072

/sbin/mke2fs -F -v -c -i 2048 -m 0 /tmp/initrd.img

/sbin/tune2fs -c 0 /tmp/initrd.img

######################################################

RootfsPath=/AT91SAM9X25/rootfs

ObjPath=/AT91SAM9X25/rootfs/initrd

PkgsPath=/AT91SAM9X25/pkgs

KnlPath=/AT91SAM9X25/kernel

mkdir $ObjPath

mount -o loop /tmp/initrd.img $ObjPath

######################################################

echo "mkdir"

cd $ObjPath

mkdir bin dev etc lib mnt proc sbin tmp usr var jnsec_conf jnsec

mkdir lib/security lib/iptables lib/modules lib/modules/2.6.39

mkdir usr/bin usr/sbin usr/lib usr/local

mkdir usr/prg usr/modules usr/config usr/rsakey usr/reserved usr/userapp usr/hsmprg usr/userconfig

mkdir etc/init.d etc/pam.d etc/xinetd.d etc/boa

mkdir var/lib var/lock var/lock/subsys var/log var/run var/tmp var/www

mkdir var/log/boa

mkdir usr/local/lib usr/local/modules

#mkdir tftpboot-136

#mkdir nfsroot-73

chmod 777 tmp

chmod 777 var/tmp

######################################################

cd $KnlPath/linux-at91-linux-2.6.39-at91

make modules_install INSTALL_MOD_PATH=$ObjPath

######################################################

######################################################

echo "Create /bin & /sbin & /usr"

cd $PkgsPath/busybox/

#make ARCH=arm CROSS_COMPILE=/AT91SAM9X25/arm-2010q1/bin/arm-none-linux-gnueabi-

make install

cd $ObjPath/usr/sbin

cp $PkgsPath/mtd/AT91SAM9X25/arm-2010q1/bin/arm-none-linux-gnueabi/flashcp $ObjPath/usr/sbin/

cp $PkgsPath/mtd/AT91SAM9X25/arm-2010q1/bin/arm-none-linux-gnueabi/flash_lock $ObjPath/usr/sbin/

cp $PkgsPath/mtd/AT91SAM9X25/arm-2010q1/bin/arm-none-linux-gnueabi/flash_otp_info $ObjPath/usr/sbin/

cp $PkgsPath/mtd/AT91SAM9X25/arm-2010q1/bin/arm-none-linux-gnueabi/flash_unlock $ObjPath/usr/sbin/

cp $PkgsPath/mtd/AT91SAM9X25/arm-2010q1/bin/arm-none-linux-gnueabi/flash_erase $ObjPath/usr/sbin/

#cp $PkgsPath/mtd/AT91SAM9X25/arm-2010q1/bin/arm-none-linux-gnueabi/flash_eraseall $ObjPath/usr/sbin/

#cp $PkgsPath/mtd/AT91SAM9X25/arm-2010q1/bin/arm-none-linux-gnueabi/nandwrite $ObjPath/usr/sbin/

#ln -s flash_erase erase

#ln -s flash_eraseall eraseall

#ln -s flashcp fcp

#ln -s flash_lock lock

#ln -s flash_unlock unlock

cp $PkgsPath/xinetd/xinetd/xinetd $ObjPath/usr/sbin/xinetd

cp $PkgsPath/rzsz/rz $ObjPath/usr/sbin/rz

cp $PkgsPath/rzsz/sz $ObjPath/usr/sbin/sz

#cp $PkgsPath/ethtool/ethtool $ObjPath/bin

#cp $PkgsPath/iptables/iptables $ObjPath/usr/sbin/

#cp $PkgsPath/iptables/iptables-save $ObjPath/usr/sbin/

#cp $PkgsPath/iptables/iptables-restore $ObjPath/usr/sbin/

#cp $PkgsPath/iptables/iptables-xml $ObjPath/usr/sbin/

#cp $PkgsPath/iptables/ip6tables $ObjPath/usr/sbin/

/AT91SAM9X25/arm-2010q1/bin/arm-none-linux-gnueabi-strip $ObjPath/usr/bin/*

/AT91SAM9X25/arm-2010q1/bin/arm-none-linux-gnueabi-strip $ObjPath/usr/sbin/*

######################################################

echo "Create /dev"

cd $ObjPath/dev/

mknod $ObjPath/dev/initrd b 1 250

mknod $ObjPath/dev/root b 253 0

chmod 660 $ObjPath/dev/initrd

mknod -m 600 $ObjPath/dev/fb0 c 29 0

ln -s fb0 fb

mknod -m 640 $ObjPath/dev/kmem c 1 2

mknod -m 600 $ObjPath/dev/psaux c 10 1

mknod -m 666 $ObjPath/dev/ptyp0 c 2 0

mknod -m 666 $ObjPath/dev/ptyp1 c 2 1

mknod -m 666 $ObjPath/dev/ptyp2 c 2 2

mknod -m 666 $ObjPath/dev/ptyp3 c 2 3

mknod -m 666 $ObjPath/dev/ptyp4 c 2 4

mknod -m 666 $ObjPath/dev/ptyp5 c 2 5

mknod -m 666 $ObjPath/dev/ptyp6 c 2 6

mknod -m 666 $ObjPath/dev/ptyp7 c 2 7

mknod -m 666 $ObjPath/dev/ttyp0 c 3 0

mknod -m 666 $ObjPath/dev/ttyp1 c 3 1

mknod -m 666 $ObjPath/dev/ttyp2 c 3 2

mknod -m 666 $ObjPath/dev/ttyp3 c 3 3

mknod -m 666 $ObjPath/dev/ttyp4 c 3 4

mknod -m 666 $ObjPath/dev/ttyp5 c 3 5

mknod -m 666 $ObjPath/dev/ttyp6 c 3 6

mknod -m 666 $ObjPath/dev/ttyp7 c 3 7

cp -dpR /dev/console $ObjPath/dev/console

cp -dpR /dev/fd $ObjPath/dev/fd

cp -dpR /dev/stdin $ObjPath/dev/stdin

cp -dpR /dev/stdout $ObjPath/dev/stdout

cp -dpR /dev/stderr $ObjPath/dev/stderr

cp -dpR /dev/full $ObjPath/dev/full

cp -dpR /dev/core $ObjPath/dev/core

cp -dpR /dev/mem $ObjPath/dev/mem

cp -dpR /dev/null $ObjPath/dev/null

cp -dpR /dev/ptmx $ObjPath/dev/

cp -dpR /dev/pts $ObjPath/dev/

cp -dpR /dev/initctl $ObjPath/dev/

cp -dpR /dev/ram $ObjPath/dev/

cp -dpR /dev/ramdisk $ObjPath/dev/

cp -dpR /dev/ram[0-1] $ObjPath/dev/

cp -dpR /dev/tty $ObjPath/dev/tty

cp -dpR /dev/ttyS[0-3] $ObjPath/dev/

cp -dpR /dev/tty[0-3] $ObjPath/dev/

cp -dpR /dev/zero $ObjPath/dev/zero

cp -dpR /dev/random $ObjPath/dev/random

cp -dpR /dev/urandom $ObjPath/dev/urandom

mknod -m 644 $ObjPath/dev/rtc c 10 135

mknod -m 644 $ObjPath/dev/mtd0 c 90 0

mknod -m 644 $ObjPath/dev/mtd1 c 90 2

mknod -m 644 $ObjPath/dev/mtd2 c 90 4

mknod -m 644 $ObjPath/dev/mtd3 c 90 6

mknod -m 644 $ObjPath/dev/mtd4 c 90 8

mknod -m 644 $ObjPath/dev/mtd5 c 90 10

mknod -m 644 $ObjPath/dev/mtdblock0 b 31 0

mknod -m 644 $ObjPath/dev/mtdblock1 b 31 1

mknod -m 644 $ObjPath/dev/mtdblock2 b 31 2

mknod -m 644 $ObjPath/dev/mtdblock3 b 31 3

mknod -m 644 $ObjPath/dev/mtdblock4 b 31 4

mknod -m 644 $ObjPath/dev/mtdblock5 b 31 5

#ln -s mtd0 Boot

#ln -s mtd1 U-Boot

#ln -s mtd2 Reserved

#ln -s mtd3 UImage

#ln -s mtd4 Ramdisk

#ln -s mtd5 Modules

#ln -s mtdblock0 Boot_b

#ln -s mtdblock1 U-Boot_b

#ln -s mtdblock2 Reserved_b

#ln -s mtdblock3 uImage_b

#ln -s mtdblock4 RamDisk_b

#ln -s mtdblock5 Modules_b

#mknod -m 666 $ObjPath/dev/usb c 228 0

#mknod -m 666 $ObjPath/dev/ECC c 220 0

#mknod -m 666 $ObjPath/dev/keylib c 223 0

#mknod -m 666 $ObjPath/dev/gpio c 224 0

#mknod -m 666 $ObjPath/dev/ssx30f c 227 0

######################################################

echo "Create /etc"

######################################################

cp /etc/mime.types $ObjPath/etc/

cat > $ObjPath/etc/group <root:x:0:root

bin:x:1:root,bin,daemon

daemon:x:2:root,bin,daemon

sys:x:3:root,bin

tty:x:5:

lp:x:7:daemon

mem:x:8:

kmem:x:9:

ftp:x:50:

nobody:x:99:

nogroup:x:99:

users:x:100:

EOF

######################################################

百检网秉承“客户至上,服务为先,精诚合作,以人为本”的经营理念,始终站在用户的角度解决问题,为客户提供“一站购物式”的新奇检测体验,打开网站,像挑选商品一样简单,方便。打破行业信息壁垒,建构消费和检测机构之间高效的沟通平台