此篇编译根文件系统

下载busybox和dropbear,

[#73#13:04:52 FPGADeveloper@ubuntu ~/Zybo_Demo/XilinxFS]$wget --no-check-certificate https://git.busybox.net/busybox/snapshot/busybox-1_23_1.tar.gz
--2017-08-14 13:04:56-- https://git.busybox.net/busybox/snapshot/busybox-1_23_1.tar.gz
Resolving git.busybox.net (git.busybox.net)... 140.211.167.122
Connecting to git.busybox.net (git.busybox.net)|140.211.167.122|:443... connected.
WARNING: no certificate subject alternative name matches
requested host name `git.busybox.net'.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/x-gzip]
Saving to: `busybox-1_23_1.tar.gz' [ <=> ] 2,800,283 230K/s in 13s 2017-08-14 13:05:14 (211 KB/s) - `busybox-1_23_1.tar.gz' saved [2800283]

  

[#74#13:05:14 FPGADeveloper@ubuntu ~/Zybo_Demo/XilinxFS]$wget http://matt.ucc.asn.au/dropbear/releases/dropbear-0.53.1.tar.gz
--2017-08-14 13:06:25-- http://matt.ucc.asn.au/dropbear/releases/dropbear-0.53.1.tar.gz
Resolving matt.ucc.asn.au (matt.ucc.asn.au)... 130.95.13.18, 2405:3c00:5200:100::18
Connecting to matt.ucc.asn.au (matt.ucc.asn.au)|130.95.13.18|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1772583 (1.7M) [application/x-gzip]
Saving to: `dropbear-0.53.1.tar.gz' 100%[===================================================================>] 1,772,583 156K/s in 12s 2017-08-14 13:06:39 (143 KB/s) - `dropbear-0.53.1.tar.gz' saved [1772583/1772583]

  

在busybox目录下,默认配置并初始化

make ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi- defconfig

可视化配置

make ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi- menuconfig

安装根文件系统到指定目录

make ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi- install

在dropbear目录下配置dropbear

/home/fpgadeveloper/Zybo_Demo/XilinxFS/dropbear-0.53.1

./configure --prefix=/home/fpgadeveloper/Zybo_Demo/XilinxFS/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并创建符号链接

sudo make install

建立软连接,进入/home/fpgadeveloper/Zybo_Demo/XilinxFS/RootFS/usr/bin

[#23#23:28:47 FPGADeveloper@ubuntu ~/Zybo_Demo/XilinxFS/RootFS/usr/bin]$ln -s ../../sbin/dropbear ./scp

  

将交叉编译库拷贝到下述目录

sudo cp ~/SDK2015/lin/arm-xilinx-linux-gnueabi/libc/lib/* lib -r

sudo cp ~/SDK2015/lin/arm-xilinx-linux-gnueabi/libc/sbin/* sbin -r

sudo cp ~/SDK2015/lin/arm-xilinx-linux-gnueabi/libc/usr/bin/* usr/bin/ -r

[#123#23:37:50 FPGADeveloper@ubuntu ~/Zybo_Demo/XilinxFS/RootFS]$mkdir lib
[#124#23:38:30 FPGADeveloper@ubuntu ~/Zybo_Demo/XilinxFS/RootFS]$sudo cp ~/SDK2015/lin/arm-xilinx-linux-gnueabi/libc/lib/* lib -r
[#125#23:38:33 FPGADeveloper@ubuntu ~/Zybo_Demo/XilinxFS/RootFS]$sudo cp ~/SDK2015/lin/arm-xilinx-linux-gnueabi/libc/sbin/* sbin -r
[#126#23:38:35 FPGADeveloper@ubuntu ~/Zybo_Demo/XilinxFS/RootFS]$sudo cp ~/SDK2015/lin/arm-xilinx-linux-gnueabi/libc/usr/bin/* usr/bin/ -r

  

在usr目录下创建lib目录

[#125#23:38:33 FPGADeveloper@ubuntu ~/Zybo_Demo/XilinxFS/RootFS]$cd usr/
[#126#23:42:37 FPGADeveloper@ubuntu ~/Zybo_Demo/XilinxFS/RootFS/usr]$ls
bin sbin
[#127#23:42:39 FPGADeveloper@ubuntu ~/Zybo_Demo/XilinxFS/RootFS/usr]$mkdir lib
[#128#23:42:43 FPGADeveloper@ubuntu ~/Zybo_Demo/XilinxFS/RootFS/usr]$ls
bin lib sbin

  

sudo cp ~/ SDK2015 /lin/arm-xilinx-linux-gnueabi/libc/usr/lib/* usr/lib/ -r

进入到usr/lib路径下,删除

sudo rm -rf locale

sudo rm -rf audit

sudo rm -rf bin

sudo rm -rf gconv

sudo rm *.a

sudo rm *.o

[#132#23:43:42 FPGADeveloper@ubuntu ~/Zybo_Demo/XilinxFS/RootFS]$sudo cp ~/SDK2015/lin/arm-xilinx-linux-gnueabi/libc/usr/lib/* usr/lib/ -r
[#133#23:45:12 FPGADeveloper@ubuntu ~/Zybo_Demo/XilinxFS/RootFS]$cd usr/lib/
[#134#23:46:52 FPGADeveloper@ubuntu ~/Zybo_Demo/XilinxFS/RootFS/usr/lib]$sudo rm -rf locale
[#135#23:47:00 FPGADeveloper@ubuntu ~/Zybo_Demo/XilinxFS/RootFS/usr/lib]$sudo rm -rf audit
[#136#23:47:00 FPGADeveloper@ubuntu ~/Zybo_Demo/XilinxFS/RootFS/usr/lib]$sudo rm -rf bin
[#137#23:47:00 FPGADeveloper@ubuntu ~/Zybo_Demo/XilinxFS/RootFS/usr/lib]$sudo rm -rf gconv
[#138#23:47:00 FPGADeveloper@ubuntu ~/Zybo_Demo/XilinxFS/RootFS/usr/lib]$sudo rm *.a
[#139#23:47:00 FPGADeveloper@ubuntu ~/Zybo_Demo/XilinxFS/RootFS/usr/lib]$sudo rm *.o
[#140#23:47:00 FPGADeveloper@ubuntu ~/Zybo_Demo/XilinxFS/RootFS/usr/lib]$

  

在文件根目录下运行

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

其中文件都用Xilinx提供的ramdisk里面的文件,并拷贝到相关文件夹中

创建"etc/fstab"文件,内容如下

touch etc/fstab

touch etc/fstab
echo "LABEL=/ / tmpfs defaults 0 0 " >> etc/fstab
echo "none /dev/pts devpts gid=5,mode=620 0 0 " >> etc/fstab
echo "none /proc proc defaults 0 0 " >> etc/fstab
echo "none /sys sysfs defaults 0 0 " >> etc/fstab
echo "none /tmp tmpfs defaults 0 0 " >> etc/fstab

  

创建"etc/inittab"文件,内容如下

touch etc/inittab
echo "::sysinit:/etc/init.d/rcS " >> etc/inittab
echo "# /bin/ash " >> etc/inittab
echo "# " >> etc/inittab
echo "# Start an askfirst shell on the serial ports" >> etc/inittab
echo "ttyPS0::respawn:-/bin/ash " >> etc/inittab
echo "# What to do when restarting the init process" >> etc/inittab
echo "::restart:/sbin/init " >> etc/inittab
echo "# What to do before rebooting " >> etc/inittab
echo "::shutdown:/bin/umount -a -r " >> etc/inittab

  

创建"etc/passwd"文件,内容如下

touch etc/passwd
echo "root:$1$qC.CEbjC$SVJyqm.IG.gkElhaeM.FD0:0:0:root:/root:/bin/sh" >> etc/passwd

  

创建文件"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"

  

修改权限

sudo chmod 755 etc/init.d/rcS

sudo chown root:root etc/init.d/rcS

制作文件系统

dd if=/dev/zero of=ramdisknew.image bs= count=
mke2fs -F ramdisknew.image -L "ramdisk" -b -m
tune2fs ramdisknew.image -i
chmod a+rwx ramdisknew.image
sudo mount -o loop ramdisknew.image tmp_mnt_new/
sudo cp -R /home/fpgadeveloper/Zybo_Demo/XilinxFS/RootFS/* tmp_mnt_new/
cd tmp_mnt_new
cd bin/
sudo cp -rf /home/fpgadeveloper/Zybo_Demo/UART_Tools/lrzsz-0.12.20/src/lrz .
sudo cp -rf /home/fpgadeveloper/Zybo_Demo/UART_Tools/lrzsz-0.12.20/src/lsz .
cd ..
cd ..
sudo umount tmp_mnt_new
gzip ramdisknew.image
mkimage -A arm -T ramdisk -C gzip -d ramdisknew.image.gz uramdisk.image.gz

拷贝uboot dtb *uramdisk.image.gz uImage等文件,在SDK环境下合并

可通过qspi flash 或者SD卡启动进行系统加载

[原创]基于Zynq Linux环境搭建(四)的更多相关文章

  1. [原创]基于Zynq Linux环境搭建(二)

    在此篇,我们编译UBOOT 解压: [#17#17:26:56 FPGADeveloper@ubuntu ~/Zybo_Demo]$tar zxvf *.tar.gz 在解压过程中出现下述问题 tar ...

  2. [原创]基于Zynq Linux环境搭建(一)

    安装VMWare版本12 Ubuntu版本 12.04.5 64bit 系统安装完成后,登陆系统,在sotfware中心安装konsole.gvim.software source等基本软件 在sof ...

  3. [原创]基于Zynq Linux环境搭建资源

    链接: https://pan.baidu.com/s/1JwNfLY50eoMr2_UO3lAfZw 密码: j8ex 链接: https://pan.baidu.com/s/1JwNfLY50eo ...

  4. [原创]基于Zynq Linux环境搭建(三)

    此篇编译Kernel 解压: [#17#17:26:56 FPGADeveloper@ubuntu ~/Zybo_Demo]$tar zxvf *.tar.gz 进入到文件kernel文件夹中,cle ...

  5. Linux环境搭建-在虚拟机中安装Centos7.0

    最近在空闲时间学习Linux环境中各种服务的安装与配置,都属于入门级别的,这里把所有的学习过程记录下来,和大家一起分享. 我的电脑系统是win7,所以我需要在win7上安装一个虚拟机-VMware,然 ...

  6. JavaEE开发基于Eclipse的环境搭建以及Maven Web App的创建

    本篇博客就完整的来聊一下如何在Eclipse中创建的Maven Project.本篇博客是JavaEE开发的开篇,也是基础.本篇博客的内容干货还是比较多的,而且比较实用,并且都是采用目前最新版本的工具 ...

  7. JavaEE开发之基于Eclipse的环境搭建以及Maven Web App的创建

    本篇博客就完整的来聊一下如何在Eclipse中创建的Maven Project.本篇博客是JavaEE开发的开篇,也是基础.本篇博客的内容干货还是比较多的,而且比较实用,并且都是采用目前最新版本的工具 ...

  8. Linux环境搭建及基础操作

    一.Linux环境搭建 1.安装虚拟机软件(VMWare,Parallel) 虚拟机的作用:将本来不是适合当前操作系统的分区虚拟化成适合当前操作系统的分区格式 2.新建虚拟机: 类似买了一台新的电脑, ...

  9. 【转】Linux环境搭建FTP服务器与Python实现FTP客户端的交互介绍

    Linux环境搭建FTP服务器与Python实现FTP客户端的交互介绍 FTP 是File Transfer Protocol(文件传输协议)的英文简称,它基于传输层协议TCP建立,用于Interne ...

随机推荐

  1. Shell命令-文件及目录操作之chattr、lsattr

    文件及目录操作 - chattr.lsattr 1. chattr:改变文件属性 chattr命令的功能说明 chattr命令用于改变文件属性.这项指令可改变存放在ext2文件系统上的文件或目录属性, ...

  2. 通过CONN_MAX_AGE优化Django的数据库连接

    上周对我们用Django+Django-rest-framework提供的一套接口进行了压力测试.压测的过程中,收到DBA通知——数据库连接数过多,希望我们优化下程序.具体症状就是,如果设置mysql ...

  3. 皮尔逊相关系数与余弦相似度(Pearson Correlation Coefficient & Cosine Similarity)

    之前<皮尔逊相关系数(Pearson Correlation Coefficient, Pearson's r)>一文介绍了皮尔逊相关系数.那么,皮尔逊相关系数(Pearson Corre ...

  4. phpStudy The requested URL /web/index.php was not found on this server

    1.原因 phpStudy的httpd-conf 与 vhosts-ini 的目录设置错了 2.解决 分别打开httpd-conf 与 vhosts-ini 2个文件,搜索WWW,把里面的路径改成你的 ...

  5. 如何修改hosts文件

     如何修改hosts文件 1.进入路径 C:\Windows\System32\drivers\etc 2.拷贝hosts文件到其他地方3.修改拷贝的hosts文件,右键用记事本打开4.直接修改或添加 ...

  6. FreeNAS:创建 CIFS 匿名共享

    第一部分:数据集权限设定 浏览器访问 FreeNAS 系统的 WebGUI 管理界面,点选 “Storage” 存储图标打开存储选项卡,在卷列表中点选用于匿名共享的数据集,如有需要,也可以自行创建新的 ...

  7. JS学习笔记Day9

    一.BOM (一)概念:是 Browser object model 的缩写,简称浏览器对象模型. BOM 提供了独立于内容而与浏览器窗口进行交互的对象 由于 BOM 主要用于管理窗口与窗口之间的通讯 ...

  8. 网页三剑客之JS

    1.javascrapt介绍 js概述 JavaScript是运行在浏览器端的脚步语言,JavaScript主要解决的是前端与用户交互的问题,包括使用交互与数据交互. JavaScript是浏览器解释 ...

  9. 老男孩Python全栈学习 S9 日常作业 004

    1.写代码,有如下列表,按照要求实现每一个功能 li = ["alex", "WuSir", "ritian", "barry&q ...

  10. Windows 环境下的 protoc 安装(转)

    如果是为了编译hadoop2.8.0源码,必须使用2.5.0版本的protobuf,安装方法同下 1. 下载需要的安装包:https://github.com/google/protobuf/rele ...