ARM linux busybox ramdisk制作脚本
2015-02-13 16:41
411 查看
#bash/sh
echo "Start make rootfs !"
BUSYBOX_PATH=/home/fanyl/work/mv_pro_5.0/busybox-1.23.0
ROOTFS_PATH=/home/fanyl/work/mv_pro_5.0/mkOSrtfs/rootfs
cur_dir=$(cd "$(dirname "$0")"; pwd)
echo $cur_dir
mkdir mkOSrtfs
cd mkOSrtfs
if [ ! -d "$ROOTFS_PATH" ]
then
mkdir rootfs
cd rootfs
mkdir dev etc lib proc tmp usr var
chmod 777 tmp
mkdir usr/lib
mkdir var/lib var/lock var/log var/run var/tmp
chmod 777 var/tmp
cp -dpR $BUSYBOX_PATH/_install/* .
cd dev
sudo mknod console c 5 1
sudo mknod null c 1 3
sudo mknod tty c 5 0
sudo mknod tty0 c 4 0
sudo mknod tty1 c 4 1
sudo mknod tty2 c 4 2
sudo mknod tty3 c 4 3
sudo mknod tty4 c 4 4
sudo mknod tty5 c 4 5
sudo mknod tty6 c 4 6
cd ../
cp -R $BUSYBOX_PATH/examples/bootfloppy/etc/* etc/
OBJ_LIB_PATH=/home/fanyl/work/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le/target
cd ${OBJ_LIB_PATH}/lib
echo $OBJ_LIB_PATH
#如果你对ramdisk的大小没有太多的限制的话,可以采用下面的方法将so库全部拷过来,如果要求很高使用:arm_v5t_le-readelf -d busybox | grep NEEDED
# 0x00000001 (NEEDED) Shared library: [libm.so.6]
# 0x00000001 (NEEDED) Shared library: [libc.so.6]
#获取指定的so库
for file in ` ls $1 `
do
cp *.so.* $ROOTFS_PATH/lib
#cp -d *.so.* $ROOTFS_PATH/lib
done
cp -d ld*.so* $ROOTFS_PATH/lib
fi
cd $ROOTFS_PATH
cd ../
mkdir ramdisk
sudo dd if=/dev/zero of=ramdisk.img bs=1k count=4096
/sbin/mke2fs -F -v -m0 ramdisk.img
sudo mount -o loop ramdisk.img ramdisk
cp -av rootfs/* ramdisk
sudo umount ramdisk
#gzip -9 ramdisk.img
echo "End make rootfs!"
echo "Start make rootfs !"
BUSYBOX_PATH=/home/fanyl/work/mv_pro_5.0/busybox-1.23.0
ROOTFS_PATH=/home/fanyl/work/mv_pro_5.0/mkOSrtfs/rootfs
cur_dir=$(cd "$(dirname "$0")"; pwd)
echo $cur_dir
mkdir mkOSrtfs
cd mkOSrtfs
if [ ! -d "$ROOTFS_PATH" ]
then
mkdir rootfs
cd rootfs
mkdir dev etc lib proc tmp usr var
chmod 777 tmp
mkdir usr/lib
mkdir var/lib var/lock var/log var/run var/tmp
chmod 777 var/tmp
cp -dpR $BUSYBOX_PATH/_install/* .
cd dev
sudo mknod console c 5 1
sudo mknod null c 1 3
sudo mknod tty c 5 0
sudo mknod tty0 c 4 0
sudo mknod tty1 c 4 1
sudo mknod tty2 c 4 2
sudo mknod tty3 c 4 3
sudo mknod tty4 c 4 4
sudo mknod tty5 c 4 5
sudo mknod tty6 c 4 6
cd ../
cp -R $BUSYBOX_PATH/examples/bootfloppy/etc/* etc/
OBJ_LIB_PATH=/home/fanyl/work/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le/target
cd ${OBJ_LIB_PATH}/lib
echo $OBJ_LIB_PATH
#如果你对ramdisk的大小没有太多的限制的话,可以采用下面的方法将so库全部拷过来,如果要求很高使用:arm_v5t_le-readelf -d busybox | grep NEEDED
# 0x00000001 (NEEDED) Shared library: [libm.so.6]
# 0x00000001 (NEEDED) Shared library: [libc.so.6]
#获取指定的so库
for file in ` ls $1 `
do
cp *.so.* $ROOTFS_PATH/lib
#cp -d *.so.* $ROOTFS_PATH/lib
done
cp -d ld*.so* $ROOTFS_PATH/lib
fi
cd $ROOTFS_PATH
cd ../
mkdir ramdisk
sudo dd if=/dev/zero of=ramdisk.img bs=1k count=4096
/sbin/mke2fs -F -v -m0 ramdisk.img
sudo mount -o loop ramdisk.img ramdisk
cp -av rootfs/* ramdisk
sudo umount ramdisk
#gzip -9 ramdisk.img
echo "End make rootfs!"
相关文章推荐
- linux用busybox制作ramdisk的脚本共享
- ARM-Linux中(BusyBox制作的文件系统)telnet服务器的配置和开启
- arm-linux移植手记(四)基于busybox1.16.0的根文件系统制作
- linux用busybox制作ramdisk的方法
- linux用busybox制作ramdisk的方法
- arm-linux移植手记(四)基于busybox1.16.0的根文件系统制作
- 基于busybox-1.23.2(stable)版本制作arm-linux使用根文件系统
- 开发版交叉编译环境的工具链制作---arm-linux
- 一步步制作 Arm-Linux交叉编译环境
- Linux系统下Ramdisk的制作过程
- 用busybox制作嵌入式Linux的文件系统
- 用busybox制作嵌入式Linux的文件系统
- 制作arm-linux soft float cross toolchain
- 自己制作arm-linux交叉编译环境(一)-scratch篇
- 定制自己的Linux时,Ramdisk、Initrd及根系统的制作
- 制作嵌入式linux文件系统(ramdisk,cramfs,squashfs)
- 用busybox制作嵌入式Linux的文件系统
- 一步一步制作ARM-Linux交叉编译环境
- linux-2.6.24.4内核移植到s3c2440----使用busybox-1.9.2制作根文件系统
- 用Busybox制作嵌入式Linux的文件系统