linux文件系统xilinx,EETOP 赛灵思(Xilinx) 社区

本文详细介绍了如何在Ubuntu环境下构建基于Zynq的Linux根文件系统rootfs,包括使用BusyBox制作根文件系统,编译安装Dropbear实现SSH功能,配置工具链和应用程序,以及生成和压缩ramdisk镜像文件的过程。
摘要由CSDN通过智能技术生成

基于zynq的Linux根文件系统生成

发布者:jackzhang

时间:2015-10-12 20:00:38

Linux中Root Filesystem(根文件系统)是必不可少的,常用的是BusyBox,本节就介绍一下使用BusyBox制作Linux根文件系统rootfs,主要参考xilinx wiki上Zynq Root FileSystem Creation方法:http://wiki.xilinx.com/zynq-rootfs

1.准备工作:

首先在Ubuntu中建立ARM GNU交叉编译环境,笔者使用的是Ubuntu11.04平台。

通过Git下载BusyBox:

git clone git://git.busybox.net/busybox复制代码

2.编译安装BusyBox

在Ubuntu平台中进入BusyBox,进行初始化默认配置:

cd busybox

make defconfig复制代码

自定义配置BusyBox,会弹出图形界面设置窗口,如图1所示

make menuconfig复制代码

130222093556f6893a7c3eeb97.jpg

图1

进入BusyBox Settings->Installation Options->BusyBox installationprefix设置BusyBox的安装目录,将其设置为/home/devel/_rootfs,如图2所示。

1302220935d242807f14b8e2e2.jpg

图2

完成配置后,输入以下脚本安装BusyBox:

make install复制代码

在设置的目录中会生成rootfs,其中包含了bin、sbin、usr/bin和usr/sbin 目录,其下包含了我们常用的命令,这些命令都是指向bin/busybox的软链接,如图3所示。

13022209352d7208a170cf9b16.jpg

图3

3.编译安装Dropbear

Dropbear提供支持SSH客户端/服务器功能。

从Dropbear网站上下载Dropbear,并解压:

wget http://matt.ucc.asn.au/dropbear/releases/dropbear-0.53.1.tar.gz

tar xfvz dropbear-0.53.1.tar.gz

cd dropbear-0.53.1复制代码

配置Dropbear:

./configure

--prefix=/home/devel/_rootfs --host=arm-xilinx-linux-gnueabi

--disable-zlib CC=arm-xilinx-linux-gnueabi-gcc

LDFLAGS="-Wl,--gc-sections" CFLAGS="-ffunction-sections -fdata-sections

-Os"复制代码

编译Dropbear:

make PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp" MULTI=1 strip复制代码

安装Dropbear,并且在rootfs中建立链接,如图4所示为生成的scp

sudo make install

ln -s ../../sbin/dropbear /home/devel/_rootfs/usr/bin/scp复制代码

1302220935c173e340249e2fbd.jpg

图4

4.工具链和应用程序配置

需要将Xilinx ARM工具链的库拷贝到rootfs中的lib文件夹下,由于笔者没有在Ubuntu平台上安装ISE套件,因此从Windows平台上拷贝,在Windows平台上的位置:*:\Xilinx\14.2\ISE_DS\EDK\gnu\arm\nt\arm-xilinx-linux-gnueabi\libc\lib

然后将libc/sbin和libc/usr/bin中的文件也拷贝进去。

5.其它目录生成和配置

rootfs中还需要创建其它目录,如下脚本:

mkdir dev etc etc/dropbear etc/init.d mnt opt proc root sys tmp var var/log var/www复制代码

130222093508902355da8bf806.jpg

图5

创建etc/fstab文件:sudo gedit etc/fstab,文件内容如下:

LABEL=/    /           tmpfs   defaults        0 0

none       /dev/pts    devpts  gid=5,mode=620  0 0

none       /proc       proc    defaults        0 0

none       /sys        sysfs   defaults        0 0

none       /tmp        tmpfs   defaults        0 0复制代码

创建etc/inittab文件:sudo gedit etc/inittab,文件内容如下:

::sysinit:/etc/init.d/rcS

# /bin/ash

#

# Start an askfirst shell on the serial ports

ttyPS0::respawn:-/bin/ash

# What to do when restarting the init process

::restart:/sbin/init

# What to do before rebooting

::shutdown:/bin/umount -a –r复制代码

创建etc/ passwd文件:sudo gedit etc/passwd,文件内容如下:

root:$1$qC.CEbjC$SVJyqm.IG.gkElhaeM.FD0:0:0:root:/root:/bin/sh复制代码

创建etc/init.d/rcS文件:sudo gedit etc/init.d/rcS,文件内容如下:

#!/bin/sh

echo "Starting rcS..."

echo "++ Mounting filesystem"

mount -t proc none /proc

mount -t sysfs none /sys

mount -t tmpfs none /tmp

echo "++ Setting up mdev"

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

mdev -s

mkdir -p /dev/pts

mkdir -p /dev/i2c

mount -t devpts devpts /dev/pts

echo "++ Starting telnet daemon"

telnetd -l /bin/sh

echo "++ Starting http daemon"

httpd -h /var/www

echo "++ Starting ftp daemon"

tcpsvd 0:21 ftpd ftpd -w /&

echo "++ Starting dropbear (ssh)daemon"

dropbear

echo "rcS Complete"复制代码

设置etc/init.d/rcS的权限:

chmod 755 etc/init.d/rcS

sudo chown root:root etc/init.d/rcS复制代码

到这一步,rootfs目录算是创建完成了

6.生成ramdisk镜像文件

rootfs想要被识别,需要将其制作成镜像image文件,并且压缩。如下脚本为创建image文件:

cd ~

dd if=/dev/zero of=ramdisk8M.image bs=1024 count=8192

mke2fs -F ramdisk8M.image -L "ramdisk" -b 1024 -m 0

tune2fs ramdisk8M.image -i 0

chmod 777 ramdisk8M.image复制代码

新建一个ramdisk目录,然后将ramdisk8M.image加载到该目录下:

mkdir ramdisk

mount -o loop ramdisk8M.image ramdisk/复制代码

将_rootfs/目录下的文件拷贝到ramdisk中:

cp -R /home/devel/_rootfs/* ramdisk复制代码

拷贝完成后卸载ramdisk

umount ramdisk/复制代码

最后压缩ramdisk8M.image文件:

gzip -9 ramdisk8M.image复制代码

ramdisk8M.image.gz镜像文件生成完毕,如图6所示。

13022209352373bbdd9f6c40c0.jpg

图6

eetop innovus 2022是一款先进的创新产品。eetop是一家专注于研发和推广创新技术的公司,他们致力于提供高质量的解决方案来满足市场需求。eetop innovus 2022是该公司最新推出的产品之一,它以其卓越的性能和创新的功能而脱颖而出。 eetop innovus 2022具有许多突出的特点。首先,它具有卓越的性能。该产品采用了先进的技术和优化的设计,可以快速高效地完成各种任务。无论是在计算机领域、工程设计还是其他行业,eetop innovus 2022都能够提供出色的表现,帮助用户提高工作效率并取得更好的业绩。 其次,eetop innovus 2022具备创新的功能。该产品融入了最新的技术趋势和行业需求,为用户提供了更多的选择和可能性。无论是在设计、安全、交互性还是其他方面,eetop innovus 2022都具备了很大的优势,为用户带来更好的体验和满足。 此外,eetop innovus 2022还具有可靠性和稳定性。该产品经过了严格的测试和验证,确保其在各种工作环境中都能够稳定运行。用户可以放心地使用该产品,而不必担心出现故障或不稳定的情况。 总的来说,eetop innovus 2022是一款令人期待的创新产品。它的优秀性能、创新功能和可靠性使其成为市场上备受瞩目的产品之一。无论是在工作还是娱乐中,eetop innovus 2022都能够为用户带来更多的便利和效益。我们对该产品的未来发展充满期待,并期待在不久的将来能够看到更多关于它的亮点和创新。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值