成功移植OpenSSH到ARM Linux开发板

合集下载

ubuntu下linux 开发环境的搭建以及arm平台的移植

ubuntu下linux 开发环境的搭建以及arm平台的移植

Linux开发环境的搭建1.arm交叉编译链的安装2.NFS服务器的安装3.tftp服务器的安装4.触摸屏驱动库的安装编译5.编译安装qt-everywhere-opensource-src-4.8.1需要的文件及库:1.arm-2009q1-203-arm-none-linux-gnueabi2.fs.tar.gz3.tslib-1.44.qt-everywhere-opensource-src-4.8.11.arm交叉编译链的安装见附录6:arm-2009q1-203-arm-none-linux-gnueabi安装测试交叉编译器是否安装成功,执行如下命令:HOST $ arm-none-linux-gnueabi-gcc -v如果显示编译器的版本信息说明安装成功。

2.NFS服务器的安装见附录7:安装完成后,在/home/wws/目录下执行如下指令:sudo gedit nfs.shnfs.sh的内容如下:HOST $ sudo /etc/init.d/portmap restartHOST $ sudo /etc/init.d/nfs-kernel-server restart保存后执行source nfs.sh以后只要在主目录下执行上述source命令就可以重启nfs服务器测试 NFS 服务器是否安装成功,执行如下命令:HOST $ showmount -e若显示 /home/wws/wws_nfs*则说明安装成功。

3.tftp服务器的安装具体安装过程见附录8:安装完成后,执行:sudo gedit tftp.sh其内容如下:HOST $ sudo /etc/init.d/xinetd restartHOST $ sudo /etc/init.d/tftpd-hpa restart保存在主目录下,当开发板找不到链接,出现T T T T.......等时,无需重启系统,只需执行source tftp.sh重启tftp服务器即可,或者直接执行上述两条指令来重启服务器。

lrzsz串口工具移植到ARM Linux教程

lrzsz串口工具移植到ARM Linux教程

lrzsz串口工具移植到ARM Linux教程lrzsz是一个Unix通信包,提供XMODEM、YMODEM和ZMODEM文件传输协议。

lrzsz 以前是Omen科技的主打软件,现在已经免费,并且遵循GNU开源协议。

lrzsz适合这样一种开发环境,一块板子,除了串口,没有任何外部出入输出设备,没有sd卡,没有网线,这个时候如果想跟这块板子传输交互文件,就需要用到串口传输了。

根据modem所采用的文件传输协议:xmodem、ymodem、zmodem 将其分类∙xmodem:简单通用,传输信息单位是“包=128B”,传输速度慢,适合电话线路质量差的情况下用。

∙ymodem:由XMODEM演变来,效率可靠性高“包=128*8B”,一次传输可发送或接受几个文件。

∙zmodem:与上两种不同,已连续的数据流发送数据,效率更高。

在ubuntu主机中可以直接使用rz或者sz命令与secureCRT交互文件,如果想在开发板中,上传下载文件的话,需要移植完整版的lrzsz到开发板,使用其完整功能。

移植步骤:1 下载源码包首先下载最新版的lrzsz,地址:https://ohse.de/uwe/software/lrzsz.html。

下面以 0.12.20 版本为例,下载源码包为:lrzsz-0.12.20.tar.gz。

2 复制并解压源码包3 配置4 编译安装make完成之后,会在当前目录 src/ 下生成 lrz 和 lsz 两个文件。

5 复制到目标板并执行通过网络、U盘、SD卡等方式,将生成的 lrz 和 lsz 复制到目标板的/usr/sbin 目录,并在目标版上添加可执行权限:6 配置串口在使用之前,需要设置串口:7 测试在目标版上,执行 lrz 命令将文件从PC机传送到目标版上,执行 lsz 命令将文件从目标版传到PC机上:参考地址:∙/embed/html/201406/2557.html∙/seven_7_one/blog/static/162606412201011131116 45638/。

linux移植到arm学习感悟

linux移植到arm学习感悟

linux移植到arm学习感悟linux移植到arm是我们必修的一门课,这次实训的主要内容就是把linux移植到arm处理器上。

在操作系统方面可能很多人不是很熟悉,现在我简单介绍一下,如果想深入了解linux,请参看其他资料。

以下是我在学习中的心得体会:一、目标要明确大家都知道,进行任何项目开发前,首先要有个明确的目标。

做linux移植到arm时我们首先要根据自己设计好的流程图和软件架构,利用现有的Linux 基础知识来完成任务,比如定制一个java框架、设计一个安全框架、利用一些工具调试出一个完整的功能,并且移植到arm处理器上运行。

三、移植分工合作老师说过当你遇到问题时,你身边的同学就是你最好的帮手。

当别人遇到问题向你求助时,请不要拒绝,要虚心地帮他们解决,千万不要表现出不耐烦的情绪。

特别是别人有什么不懂的地方时,请不要吝啬,要耐心细致地指导他们,让他们感受到被重视,从而更加积极地去完成任务。

例如:如果遇到内核的安装问题时,有的同学第一反应就是求助别人,但有的同学可能会先自己研究一下,并独立地找到解决方法,再告诉别人,这样做既培养了他们的动手能力,又提高了他们独立思考的能力。

四、考试考试结束后,我认为最关键的就是查缺补漏,为第二天的考试打好基础。

所以对于一些没有掌握好的知识点,老师说过一定要多复习。

对于复习阶段中涉及的概念、公式、命令等内容,平时都要勤加练习,做到“熟能生巧”。

我想这一点在移植到arm处理器中也是很重要的。

五、心态调整不管做什么事,都需要端正自己的态度。

虽然我们学的是linux,但只要你真正热爱这门技术,用心钻研,任何事都能学好。

同时,也要保持一种良好的心态,要相信任何事都是能够做好的,只要付出努力。

当然,学习是一个长期的过程,可能会遇到各种困难,但不管怎样都要坚持不懈地努力,做一个执着的人。

六、最后感悟这次linux移植到arm处理器实训收获挺大,我觉得学到了以前在课堂上学不到的东西,提高了自己独立解决问题的能力。

arm平台下linux嵌入式系统的移植

arm平台下linux嵌入式系统的移植

40软件开发与应用Software Development And Application电子技术与软件工程Electronic Technology & Software Engineering嵌入式系统的构成上主要包括两个部分,即计算机的硬件部分和软件部分。

ARM 系列属于计算机硬件;Linux 系统属于计算机软件类。

嵌入式系统所以计算机技术成果,是建立在满足用户个性化需求的基础上的。

在硬件和软件方面,具有加减特性,无论是部件的增加或者减少,都会保证系统的正常运行,而且系统的性能可靠。

系统在运行中具有良好的灵活度,功耗比较低,而且成本得到有效控制,且具有长时间的待机时间。

嵌入式系统中,ARM 作为架构硬件平台存在。

系统的各项操作80%以上都可以在这个平台上完成[1]。

Linux 系统所发挥的作用也是如此。

ARM 将位数不断扩展,功能也会不断增强,使得智能化的软件系统的建构更为方便。

嵌入式系统的CPU 与普通的计算机系统不同,ARM 的编址上,内存与I/O 设备是同时进行的,指令系统得到优化,指令的灵活度比较高,也提高了系统的运行效率。

ARM 将存储器使用寄存器代替,系统的运行速度得到提升。

在编址的时候,将大端格式与小端格式结合,灵活的组织形式使得操作更加方便。

ARM 和Linux 都是嵌入式系统具有代表性的产品,要在ARM 平台下实现Linux 嵌入式系统移植,就要针对相关的问题深入研究。

1 Linux系统的性能Linux 系统作为一个操作系统,其是公开源代码的操作系统软件,开放的源代码,只要登上Linux 官方网站,每个版本都可以下载后安装使用。

这项功能与嵌入式系统的要求相符合,也就是说代码的使用的过程中是可以灵活定制的,以满足个性化需求,当然,在普通的计算机上可以运行,在任何的智能终端设备上也可以运行。

根据有关统计数据显示,当前Linux 软件已经在超过一半的智能设计软件上应用,内核使用模块化的配置,在使用中可以灵活组合。

openssh 用法

openssh 用法

openssh 用法Openssh 是一种用于安全远程连接的工具,可以在不安全的网络上建立加密的连接。

它允许用户通过网络远程登录、传输文件和执行命令。

本文将为你介绍openssh 的基本用法及其常见应用场景。

第一步:安装Openssh要使用openssh,首先需要在你的计算机上安装它。

通常情况下,大多数Linux 发行版都会默认安装openssh,而Windows 和macOS 用户则需要手动安装。

对于Windows 用户,可以从官方网站下载适用于Windows 的openssh 客户端。

而对于macOS 用户,则可以通过Homebrew 或MacPorts 安装openssh。

第二步:连接到远程主机一旦openssh 安装完成,你就可以使用它来连接到远程主机。

在命令行中输入以下命令来连接到远程主机:bashssh username@remote_host其中,username 是远程主机上的用户名,remote_host 是远程主机的IP 地址或域名。

当你第一次连接到一个远程主机时,openssh 会要求你确认主机的密钥指纹。

确认无误后,openssh 将在本地创建一个密钥对,并将公钥传输至远程主机,以建立加密连接。

第三步:文件传输Openssh 还可以用来在本地计算机和远程主机之间传输文件。

你可以使用scp 命令将文件从本地计算机传输至远程主机,或者从远程主机传输至本地计算机。

例如,要将本地文件foo.txt 传输至远程主机上的/home/username 目录下,你可以使用以下命令:bashscp foo.txt username@remote_host:/home/username类似地,如果想从远程主机传输文件至本地计算机,你可以使用以下命令:bashscp username@remote_host:/home/username/foo.txt .第四步:执行远程命令Openssh 还可以用来在远程主机上执行命令。

Linux系统下OpenSSH的安装及基本配置文件详解

Linux系统下OpenSSH的安装及基本配置文件详解

Linux系统下OpenSSH的安装及基本配置⽂件详解远程安装调试SSH特别注意,OpenSSH卸载后,可能导致凡使⽤SSH协议连接服务器的⼯具都⽆法登陆,⽐如WINSCP、PUTTY等,如果你正使⽤远程桌⾯,最好先开启TELNET并确保开机启动(或其它可替代的远程管理⼯具也可以),客户端可以正常连接后才可动⼿更新SSH,否则⼀旦SSH启动失败,就只能找机房了。

⼀、卸载原来SSH默认SSH会安装为服务,且开机启动,所以要先把服务停⽌(本⽂环境RedHat5.4):复制代码代码如下:service sshd stop这时,建议备份⼀下/etc/init.d/sshd这个启动⽂件,因为下⽂编译安装OpenSSH后,没这个启动⽂件,尽管实际修改使⽤也不是太⽅便,除⾮你下⽂的安装⽬录跟原来的⼀样的。

复制代码代码如下:mv /etc/init.d/sshd /etc/init.d/sshd.old卸载软件包:复制代码代码如下:rmp -qa|grep openssh*把输出列表中的SSH软件包都卸载掉。

卸载⽅法请参考:⼆、下载并安装新的OPENSSH复制代码代码如下:cd /tmpwget http://ftp.jaist.ac.jp/pub/OpenBSD/OpenSSH/portable/openssh-5.9p1.tar.gztar xzvf openssh-5.9p1.tar.gzcd openssh-5.9p1./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-pam --with-ssl-dir=/usr/local/openssl --with-md5-passwords --mandir=/usr/share/man --with-zlib=/usr/local/zlib2make && make install这⾥需要注意,上⾯的./configure配置,天缘的默认路径如下:复制代码代码如下:openssl -> /usr/local/opensslzlib -> /usr/local/zlib2确认这些路径跟你的系统对应。

Linux在ARM上的移植.ppt

Linux在ARM上的移植.ppt
Linux在ARM上的移植涉及目录和文件 /根目录:Makefile文件 /arch/arm目录:Makefile、config.in文
件 /arch/arm/boot目录:Makefile文件 /arch/arm/boot/compressed目录:
Makefile、head-xxx.S文件
移植前:CROSS_COMPILE = 移植后:CROSS_COMPILE = arm-linux-
指定使用arm-linux-gcc交叉编译器
2020/4/6
第12页
(C)版权所有 广州致远电子有限公司
二Linux、操作系L统inux内核移植
/arch/arm目录--Makefile文件
指定内核起始运行地址,和硬件相关。
通常仅需要作板级移植,有必要时进行处 理器级移植。
参考现有的移植。
2020/4/6
第3页
(C)版权所有 广州致远电子有限公司
二Linux、操作系L统inux内核代码
Linux内核由进程管理、内存管理、文件系 统、网络接口、进程间通信、设备驱动等 模块组成。
Linux内核代码包含这些目录: arch Documentation include kernel scripts drivers init lib mm fs ipc net
2020/4/6
第5页
(C)版权所有 广州致远电子有限公司
二Linux、操作系L统inux内核代码
/init目录包含内核初始化代码 /lib目录包含一些库文件 /mm目录存放内存管理代码 /fs目录存放所有文件系统代码 /ipc目录存放进程间通信代码 /net目录存放网络相关代码
2020/4/6
移植大致分3个层次:体系结构、处理器和 板级移植。

编译openss

编译openss

3. 交叉编译 建立目录结构 /EmbSSH compressed 用于存放源码包 Install 软件安装目录 Source 源码包解压目录 将openssh-4.6p1.tar.gz、openssl-0.9.8e.tar.gz、zlib-1.2.3.tar.tar四个文件放到compressed目录下

(1)交叉编译 zlib cd /EmbSSH/compressed/ tar xvf zlib-1.2.3.tar.tar -C ../source cd ../source/zlib-1.2.3 ./configure --prefix=/EmbSSH/install/zlib-1.2.3 --shared 修改Makefile中的如下信息 CC=arm-linux-gcc AR=arm-linux-ar rc CPP =arm-linux-gcc -E LDSHARED=arm-linux-gcc 执行 make sudo make install

(2)交叉编译openssl cd /EmbSSH/compressed/ tar zxvf openssl-0.9.8e.tar.gz -C ../source cd ../source/openssl-0.9.8e ./Configure --prefix=/EmbSSH/install/openssl-0.9.8e os/compiler:arm-linux-gcc make make install

(3)交叉编译openssh cd /EmbSSH/compressed tar zxvf openssh-4.6p1.tar.gz C ../source cd ../source/openssh-4.6p1 ./configure --host=arm-linux --with-libs --with-zlib=/EmbSSH/install/zlib-1.2.3 --with-ssl-dir=/EmbSSH/install/openssl-0.9.8e --disable-etc-default-login CC=arm-linux-gcc AR=arm-linux-ar

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

成功移植OpenSSH到ARM Linux开发板
概述
如果是用到一些没有SSH的开发板,对于部分的应用开发来说,会受到影响,比如使用ARM DS-5进行RSE远程管理操作时,就会出现错误。

下面就具体如何进行OPENSSH移植进行详细介绍。

步骤
1.下载源码包如下,下载 openssh、openssl 和 zlib 三个包。

openssh
•本地下载:openssh-6.6p1.tar.gz(1.22 MB, 下载次数: 2470)
•官网下载:/portable.html
openssl
•本地下载:openssl-1.0.1h.tar.gz(4.27 MB, 下载次数: 2647)
•官方下载:/source
zlib
•本地下载:zlib-1.2.8.tar.gz(557.71 KB, 下载次数: 3499)
•官方下载:/
2.部署工作目录创建用户主目录下创建工作目录:
1 2$ mkdir/home/gary/work $ cd/home/gary/work
在 work 目录下面创建安装目录:
1 2$ mkdirinstall$ mkdirinstall/zlib $ mkdirinstall/openssl
3.解压并编译
把以上下载的3个安装包复制到 work 目录下,并解压,解压命令:
1 2$ tarzxvf zlib-1.2.8.tar.gz
$ tarzxvf openssl-1.0.1h.tar.gz$ tarzxvf
openssh-6.6p1.tar .gz
a )交叉编译 zlib
1 2 3 $ cdzlib-1.2.8 $ ./configure--prefix=/home/gary/work/install/zlib
$ viMakefile
将 Makefile 中的交叉编译工具改成当前开发板使用的交叉编译工具:
1 2
3 4 5 6 CC=/usr/local/arm-2010q1/bin/arm-none-linux-
gnueabi-gcc AR=/usr/local/arm-2010q1/bin/arm-none-linux-gnueabi-ar CPP=/usr/local/arm-2010q1/bin/arm-none-linux-gnueabi-gcc LDSHARED=/usr/local/arm-2010q1/bin/arm-none-linux-gnueabi-gcc $ make
$ makeinstall
b )交叉编译openssl
1 2 3 4
$ cd../openssl-1.0.1h $ ./Configure--prefix=/home/gary/work/install/openssl os/compiler:/usr/local/ar m-2010q1/bin/arm-none-linux-gnueabi-gcc $ make $ makeinstall
c )交叉编译openssh
1 2 3 $ cd ../openssh-6.6p1 $ ./configure--host=arm-none-linux-gnueabi --with-libs --with-zlib=/home/gary/work/install/zlib--with-
ssl-dir=/home/gary/work/install/openssl--disable-etc-default-login CC=/usr/local/arm-2010q1/bin/arm-none-linux-gnueabi-gccAR=/usr/local/arm-2010q1/bin/arm-none-linux-
gnueabi-ar
$ make
注意:openssh 不需要make install
4.操作目标板
a )确保目标板上有以下目录,若没有,则新建:
1 2 /usr/local/bin
/usr/local/etc
3 4 5/usr/libexec /var/run
/var/empty
b)从PC机上将以下文件拷贝到目标板Linux系统中
PC机 /home/gary/work/openssh-6.6p1/ 目录下的
•scp sftp ssh sshd ssh-add ssh-agent ssh-keygen ssh-keyscan 共8个文件拷贝到目标板 /usr/local/bin
•moduli ssh_config sshd_config 共3个文件拷贝到目标板 /usr/local/etc •sftp-server ssh-keysign 共2个文件拷贝到目标板 /usr/libexec
c)生成Key文件
在PC机 /work/ssh/source/openssh-6.6p1/ 目录下运行:
1 2 3 4$ ssh-keygen -t rsa -f ssh_host_rsa_key -N ""
$ ssh-keygen -t dsa -f ssh_host_dsa_key -N "" $ ssh-keygen -t ecdsa -f ssh_host_ecdsa_key -
N ""
$ ssh-keygen -t dsa -f ssh_host_ed25519_key
-N ""
将生成的 ssh_host_*_key 这4个文件copy到目标板的 /usr/local/etc/ 目录下。

其中 ssh_host_ed25519_key 是SSH第二版协议用到的key,放到开发板之后,要修改权限为 600,否则会提示以下错误:
1 2 3 4 5Permissions 0644
for'/usr/local/etc/ssh_host_ed25519_key'are too open. It is required that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key:
/usr/local/etc/ssh_host_ed25519_key
Could not load host key:
/usr/local/etc/ssh_host_ed25519_key
修改权限的命令为:
1# chmod 600
/usr/local/etc/ssh_host_ed25519_key
d)修改目标板passwd文件。

在 /etc/passwd 文件最后添加下面这一行:
1sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
5.测试
如果开发板的 root 用户还没有密码,键入以下命令然输入两次密码来修改,否其他设备无法连:
1# passwd root
在目标板上运行:
1# /usr/local/bin/sshd
可以用 ps 命令查看sshd是否在工作
如果运行的过程中有提示缺少动态连接库,可以在主机上搜索相应文件,拷贝到目标板/lib/目录下面,注意创建软连接!
OK!不出意外的话可以成功,
主机上:
1$***************.1.250(开发板的ip)
然后输入开发板的root密码就就可以了,如下图连接成功:
相关帖子
SSH 移植到 ARM Linux 开发板上错误总结:http://www.myir-
/bbs/thread-6167-1-1.html。

相关文档
最新文档