linux非root用户添加rzsz,嵌入式linuxbusybox文件系统的移植和rzsz命令的添加

-----------------创建rootfs文件夹-------------------mkdir my_rootfs

cd my_rootfs

mkdir bin dev etc home lib mnt proc sbin sys tmp root usr var mnt/etc usr/bin usr/lib usr/sbin

touch linuxrc使用mknod来自己建所需要的device,举例:# mknod -m 600 dev/console c 5 1

# mknod -m 666 dev/null c 1 3

BusyBox-1.9.2版本------------------修改编译配置选项--------------------开始移植

1.下载busybox1.9.2,并解压缩。

下载busybox源代码:http://busybox.net/downloads/busybox-1.9.2.tar.bz2

交叉编译工具:arm-linux-gcc-3.4.1

解压源码:tar -jxvf busybox-1.9.2.tar.bz2

2.修改Makefile中的174行的arch和编译工具链头。

ARCH                 ?= arm

CROSS_COMPILE       ?= /usr/local/arm/3.4.1/bin/arm-linux-

3.       make menuconfig.修改编译配置选项。

Busybox Setting----->

build option-->

[ ] Build BusyBox as a static binary (no shared libs)

[*] Build shared libbusybox

[*]   Produce a binary for each applet, linked against libbusybox

[*]   Produce additional busybox binary linked against libbusybox

[ ] Build with Large File Support (for accessing files > 2 GB)

installation option-->

[*] Don't use /usr

Applets links (as soft-links) --->

(./_install) BusyBox installation prefix

Busybox Library Tuning --->

MD5: Trade Bytes for Speed

[*] Faster /proc scanning code (+100 bytes)

[*] Support for /etc/networks

[*] Support for /etc/networks

[*]   Additional editing keys

[*]   vi-style line editing commands

[*]   History saving

[*]   Tab completion

[*]   Username completion

[*]   Fancy shell prompts

Linux Module Utilities --->

[*] Support version 2.6.x Linux kernels

[*] insmod

[*]   Enable load map (-m) option

[*]     Symbols in load map

[*] rmmod

[*] lsmod

[*]   lsmod pretty output for 2.6.x Linux kernels

[*] modprobe

[ ]   Multiple options parsing

[ ]   Fancy alias parsing

---   Options common to multiple modutils

[ ] Support tainted module checking with new kernels

[ ] Support version 2.2.x to 2.4.x Linux kernels

[*] Support version 2.6.x Linux kernels

shell -à

[*]alias support

其他的用默认值

-----------------------编译busybox-----------------------

makemake install在busybox/_install目录下会生成我们需要的文件。修改_install/bin/busybox的属性。为4755

chmod 4755 ./_install/bin/busybox必须要修改属性,否则在busybox中很多命令会受限将编译好的busybox拷贝到my_roofs下面。

【_install】cp -Rfv * /my_roofs-----------------------/lib文件--------------------------------/lib的库其实就是进行busybox编译的库,即交叉编译器的库,我们这里使用的是3.4.1(位置/usr/local/arm/3.4.1)。# cd  /usr/local/arm/3.4.1/arm-linux/lib

# for file in libc libcrypt libdl libm libpthread libresolv libutil

> do

> cp $file-*.so  /my_rootfs/lib (复制到你做的文件系统的/lib目录下)

> cp -d $file.so.[*0-9]  /my_rootfs/lib (同上)

> done

# cp -d ld*.so*  /my_rootfs/lib   (同上)

-----------------系统配置文件的建立-----------------------========/etc目录============

(1)profile文件#Set search library path

export LD_LIBRARY_PATH=/lib:/usr/lib:$LD_LIBRARY_PATH

#Set user path

PATH="/bin:/sbin:/usr/bin:/usr/sbin:"$PATH

alias ll='ls -l'

#Set PS1

USER="`id -un`"

LOGNAME=$USER

PS1='[/u@/h /W]/$ '

PATH=$PATH

export USER LOGNAME PS1 PATH

(2)fstab文件proc  /proc proc  defaults  0 0

none  /tmp  ramfs defaults  0 0

mdev  /dev  ramfs defaults  0 0

sysfs /sys  sysfs defaults  0 0

(3)inittab文件::sysinit:-/etc/init.d/rcS

::respawn:-/bin/sh

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

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

::shutdown:/sbin/swapoff -a

(4)创建/etc/init.d文件夹和rcS,在rcS中添加#! /bin/sh

echo "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"

echo "^     Welcome to YAFFS root filesystem!   ^"

echo "^                    soso                  ^"

echo "^^^^^^^^^^^^^^^^09-3-18^^^^^^^^^^^^^^^^^^^^"

/bin/hostname -F /etc/host

# mount all filesystem defined in "fstab"

ln -s /dev/vc/0 /dev/tty1

echo "# mount all..........."

/bin/mount -a

echo "# Starting mdev........."

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

mdev -s

/sbin/ifconfig lo 127.0.0.1

/sbin/ifconfig eth0 192.168.0.55

/sbin/route add default gw 192.168.0.1

(5)创建host文件soso

(6)创建mdev.conf文件(空文件)

(7)复制主机/etc/下面的文件passwd, group, shadow文件到/etc# cp /etc/group .

# cp /etc/passwd .

# cp /etc/shadow .

修改passwd中用户使用的shell名称。FC6上默认的为bash,而vivi只支持ash。root:x:0:0:root:/root:/bin/bash ----> root:x:0:0:root:/root:/bin/ash

(8)修改各文件和文件夹的权限# chmod 755 /my_roofs/etc/init.d/rcS

# chmod 755 /my_roofs/etc/host

-------------yaffs文件系统映像的制作---------使用mkyaffsimg程序可以把一个目录做成一个yaffs映像文件,然后使用usb下载到板子上。进入文件系统目录层,使用以下命令。#./mkyaffsimg my_roofs rootfs.img(改名filesystem.yaffs)这样就会在该目录下生成roofs.img映像文件,下载到开发板运行即可。

--------------cramfs文件系统映像的制作(cramfs压缩率比较高)------------在FTP中下载cramfs-1.1.tar.gz,解压到自己设定的目录下,如:tar xzvf cramfs-1.1.tar.gz –C /home/进入生成有mkcramfs文件的目录下(一定要进入此目录,否则会提示找不到该命令)输入命令:#./mkcramfs / rootfs rootfs.cramfs在当前目录下即生成rootfs.cramfs映像文件。到此Linux操作系统移植完毕。

下载源码

移植新下载的linux源码中是没有超级终端的命令的,需要自己添加。添加完了,就开发板就可以PC通过串口传输文件了。

步骤:

2、解压tar zxvf  rzsz-3.48.tar.gz

3、安装cd src

vi Makefile

修改CC=arm-linux-gcc

保存退出

make posix。

注意:这个软件安装与常规的GNU软件不同—没有configure(配置)及make install (安装过程)。

我的是S3C2410的交叉编译器,不同的平台只是交叉编译器不一样而已。

输入命令make posix后,如果编译成功,在输入 ls命令,你将发现,多了很多文件

COPYING   gz         minirb.c    rc      rz.c    sz       undos.doc  zmodem.h

crc.c     mailer.rz  minirb.doc  README  rz.doc  sz.c     zcommand   zmr.c

crc.doc   Makefile   rb          rx      sb      sz.doc   zcommandi  zupl.t

crctab.c  Makefile~  rbsb.c      rz      sx      undos.c  zm.c

将rb,rx,rc,rz,sb,sx,sz,zcommand

zcommandi拷贝到你制作的根文件系统的bin目录下,然后在将交叉编译器下的ld-2.5.so      libc-2.5.so

libcrypt.so.1  libgcc_s.so.1  libm.so.6 ld-linux.so.3  libcrypt-2.5.so

libc.so.6

libm-2.5.so等库(可能版本不同,相应的数字,但只要是这几个文件即可)拷贝到根文件系统的lib目录下,然后再重新制作该根文件系统,下载到

开发板,重新启动,可以试一下rz和sz

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值