手边的开发板是S5PV210,下面进行对三星官方uboot的移植工作。
1、移植前准备工作
1.1、SSH环境搭建
我为什么想要搭建openssh的环境?是因为我想要在Windows环境下看代码并且改代码,所以需要此文件用来同步我Windows下和Linux下的代码,用这样的工具可以很方便的完成我的需求,提高我的效率。
1.1.1、安装ssh-server
在命令行执行sudo apt-get install openssh-server命令即可安装,安装成功如下图所示。
1.1.2、用SSH连接Linux虚拟机
连接时出现以下错误信息,推断是Ubuntu的防火墙使Windows下的这个软件找不到其主机的ip地址。接着在Windows的cmd命令行下去ping我的Ubuntu虚拟机的ip地址,发现无法ping通。
下面是我使用sudo ufw disable命令来禁用Ubuntu的防火墙,命令和现象如下。
在Windows可以ping通Ubuntu的情况下,出现server responded "algorithm negotiation failed”的错误。如下图。
经过检查之后,发现我的虚拟机的ssh服务没有开启,下面进行SSH服务器的开启。
(1)首先检查ssh-server是否安装成功。在root模式下输入apt-get install openssh-server openssh-client,可以看出已经安装成功。
(2)输入命令vi /etc/ssh/ssh_config打开客户端配置文件进行修改,修改后的内容如下图所示。使用22端口,Protocol 2规则,并且打开密钥认证。
(3)复制Ciphers…那两行话,然后退出文件,输入命令vi /etc/ssh/sshd_config修改服务器端的配置文件,再将复制的内容粘贴到文件中即可。
(4)退出之后在命令行输入service sshd restart来重启我们的SSH服务器。
开启了之后,发现仍出现同样的错误提示,查阅了相关资料找到了一种方法,在配置文件sshd_config中添加如下代码,保存退出后使用/etc/init.d/ssh restart命令对SSH进行重启即可。
Ciphers aes128-cbc,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr,3des-cbc,arcfour128,arcfour256,arcfour,blowfish-cbc,cast128-cbc
MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160,hmac-sha1-96,hmac-md5-96
KexAlgorithms diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group1-sha1,curve25519-sha256@libssh.org
此方法借鉴了其他博主的方法,原文链接是:https://blog.csdn.net/houchaoqun_xmu/article/details/70038253,在此感谢此博主!
下图是用Windows下的SHH成功连接Linux虚拟机的图样。
1.1.3、用SecureCRT连接虚拟机
首先出现了下图所示的错误提示,即SecureCRT连接Linux虚拟机超时,同样推断是Ubuntu的防火墙导致Windows无法连接Ubuntu。
但是禁用了防火墙之后连接出现下图所示的错误。
同样进行了1.1.2中的开启SSH服务的(1)到(4)的操作之后输入我的口令,出现口令验证失败的提示,如下图所示。