您当前所在位置:首页liunx详解 ARM Linux启动过程分析(转载)

详解 ARM Linux启动过程分析(转载)

更新:2023-11-20 09:28:23编辑:tooool归类:liunx人气:485

  详解 ARM Linux启动过程分析

详解 ARM Linux启动过程分析(转载)

  要做ARM linux的开发就必须搭建开发环境,那么需要什么样的开发环境才能比较方便我们的开发和调试呢?我这里搭好了开发环境,把这些环境是那些,及怎么去搭建一一为大家做了过程步骤。

  我搭的开发环境主机是windows系统,虚拟机是linux(fedora 9版本的)我要完成的开发环境是主机(windows)和虚拟机的linux通过samba服务器共享linux的/opt/filesystem(filesystem是已经做好的文件系统,他安装在linux文件系统的/opt目录下面,他可以被开发板的linux内核通过网络挂载。)这样windows可以访问filesystem、虚拟机的linux和开发板的linux也可以访问,这样开发就方便多了,可以在windows下对代码用Source Insight进行编辑,在虚拟机的linux用arm-linux-gcc编译,然后直接就可以在开发板的控制台下运行你的代码了。

  好。下面我们先来安装fedora 9。

  安装fedora 9:

  一、打开虚拟机软件

  二、建立新虚拟机

  三、点击下一步、再点击下一步

  四、选择linux单选项

  五、写虚拟机linux的名字和安装的路径

  六、选择第一项“use bridged networking“选项

  七、给虚拟机分配硬盘大小 我这里选择8G

  八、点击完成.这样就新建了个虚拟机,双击memory 可以调整虚拟机的内存大小,根 据你电脑的配置给他分配一个合理的内存大小。内存分配太小了就无法今晚图形界面安装或者根本不能安装。

  九、双击CD-ROM 选择use iso image(如果你是把fedora9的iso映像copy到了电脑上)然后选择browse选择fedora 9存放的路径

  十、点击start this virtual maching 也就是打开电源开始安装linux

  十一、进去后等会出现如下图

  十二、:

  十三、

  按下tab键选中“skip”按回车,等下进入另一个界面

  点击next然后进入语言选择,我们选择english 如果选其他,有可能安装后使用很卡。

  在点击next,进入选择键盘的类型,我这里选择u.s.english,在点击next

  出现下图

  选择yes,进入网络设置,可以输入网关,DNS等,或者以后再设置也行。点击NEXT

  进入时区选择,我们选择上海的。点击NEXT,进入设置根账户的密码设置。我们输入123456

  点击next出现如下对话框

  选择yes,进入硬盘配置方式选择,我们选择create custom layout 点击next进入磁盘分区设置。选中free,点击new,出现如下图。

  点击Mount Point选择挂载点为 “/”选择File system type 为etx3 在size栏中输入5000,给他分配5000M的空间,点击OK,在次点击new分配另一个分区。选择File system type 为swap(这个是交换分区,是系统运行是用来存放临时文件的,选择这个就不用选择Mount Point了) 在size栏中输入1024,给他分配1G的大小。点击OK,如果还有空间的话可以在分配其他分区。现在我们点击next,出现如下图:

  点击write changes to disk 在点击next。出现如下图:

  我们把office and productivity选择取消掉,因为我们开发没必要要这种office软件,可提高系统运行效率。要选择software decelopent 并在下面选择Customize now,进行自己定制安装软件。点击next,这里我选择development tools和fedora packager和KDE software development和FTP server和network server 和server configuration tools。然后点击next

  开始进行安装。安装完之后重新启动虚拟机的linux,可以一直下一步,可以不配置用户,以后可以用root用户登录。出现警告就点yes 最后进入系统,输入root和密码即可。

  好了虚拟机linux我们已经装好了。默认情况下已经安装好了ssh服务和samba服务和nfs服务有时TFTP没安装。这时我们就要从网上下载安装了。

  二、安装TFTP 服务器。

  进入linux系统。设置网络保证能上网后打开终端输入 yum install xinetd tftp tftp-server

  回车。就会从网上下载并安装了。如果出现提示错误找不到网络地址,说明网络不通,这时可通过ping 通外网。

  三、现在开发环境需要的服务器。Tftp 、nfs、samba和ssh(远程登录用的)都安装好了。现在开始配置服务器。

  配置网络

  一、先配置网络。让他能够和主机相互ping通其实上面安装TFTP的时候也要这么做才能上网的。那怎么配置网络呢?

  二、首先选择桥接方式。

  三、禁止两个虚拟网卡。

  四、配置windows的ip和linux的ip在同一个网段到但IP地址不能相同,也就是最后的那个数不同,网关和DNS和子网掩码都相同。这样应该就能ping通了。主要linux在配置好后在激活网卡时要先点击不激活(那个红色的)再点击激活。在重新启动linux

  配置TFTP服务器(用来把内核uImage映像下载到开发板的内存执行)

  打开终端,vi /etc/xinetd.d/tftp回车打开tftp配置文件。在里面输入如下内容:

  /home/work/tftpboot就是tftp服务器的下载目录。可随你更改。输入完后保存退出。

  在使用前最好修改/home/work/tftpboot的权限,在终端输入chmod 777 /home/work/tftpboot回车。重新启动TFTP服务器。、service xinetd restart

  配置NFS服务器(用来挂载虚拟机linux上面的网络网络文件系统)

  在终端输入vi /etc/exports,输入如下内容:

  /opt/filesystem * (subtree_check, rw, no_root_squash,async)保存退出

  重启nfs service nfs restart 主意:修改目录后除了重启NFS还要在/etc目录下执行exports –rv

  配置samba服务器(用来windows和linux共享文件)

  配置samba让windows和linux共享文件

  在配置samba前先设置好主机和虚拟机的IP:虚拟机IP,和主机的IP设置在同一个网段(也就是192.168.xx.**)xx的地方要一样,但是**的地方不能一样,还有子掩码和主机的一样(如:255.255.255.0)》》》》虚拟机的DNS和网关及主机的的DNS和网关都是相同的,并和主机在同一网段(如:192.168.0.2)》》》》关闭虚拟机的防火墙(/etc/rc.d/init.d/iptables stop)》》》》关闭主机的防火墙(控制面板的windows防火墙,选择关闭)》》》》

  虚拟机选择桥接,虚拟网卡1和8,可以关闭,这时主机和虚拟机应该可以相互PING通了。接着就可以进行下面的配置了。

  修改虚拟机DNF的方法:在终端输入vi /etc/resolv.conf 在文件里写入DNF就可以了然后保存(按ESC 输入:输入wq 回车就行了)。

  配置IP:在终端输入 redhat-config-network,在里面设置保存就行了。然后重新启动网络:在终端输入service network restart

  查看IP是否设置好了:在终端输入ifconfig

  查看DNS cat /etc/resolv.conf

  好了,下面就开始配置samba服务器吧:

  第一步: 更改smb.conf

  [root@localhost ~]# cd /etc/samba /*进入samba服务器配置文件所在的目录*/

  [root@localhost samba]# mv smb.conf smb.confback /*备份samba服务器的配置文件*/

  [root@localhost samba]#touch smb.conf /*重新建立samba服务器的配置文件*/

  [root@localhost samba]#vi smb.conf/*用VI编辑器编辑smb.conf*/

  在smb.conf/中写入如下内容

  [global]

  workgroup = Linuxsamba

  netbios name = Linuxsambaname

  server string = Linux Samba Server

  security = share

  [linuxsamba]

  path = /opt/linuxsamba

  writeable = yes

  browseable = yes

  guest ok = yes

  注解:

  [global]这段是全局配置,是必段写的。其中有如下的几行;

  workgroup 就是Windows中显示的工作组;在这里我设置的是LinuxSir

  netbios name 就是在Windows中显示出来的计算机名;

  server string 就是Samba服务器说明,可以自己来定义;这个不是什么重要的;

  security 这是验证和登录方式,这里我们用了share ;验证方式有好多种,这是其中一种;另外一种常用的是user的验证方式;如果用share呢,就是不用设置用户和密码了;

  [linuxsir] 这个在Windows中显示出来是共享的目录;

  path = 可以设置要共享的目录放在哪里;

  writeable 是否可写,这里我设置为可写;

  browseable 是否可以浏览,可以;

  guest ok 匿名用户以guest身份是登录;

  第二步:建立相应目录并授权;

  [root@localhost ~]# mkdir -p /opt/linuxsamba

  [root@localhost ~]# id nobody

  uid=99(nobody) gid=99(nobody) groups=99(nobody)

  [root@localhost ~]# chown -R nobody:nobody /opt/linuxsir

  注释:关于授权nobody,我们先用id命令查看了nobody用户的信息,发现他的用户组也是nobody,我们要以这个为准。有些系统nobody用户组并非是nobody ;

  第三步:重新启动smbd和nmbd服务器;

  [root@localhost ~]# service smb restart

  第四步:查看smbd进程,确认Samba 服务器是否运行起来了;

  [root@localhost ~]# pgrep smbd

  13564

  13568

  第五步:访问Samba 服务器的共享;

  在Linux 中您可以用下面的命令来访问;

  [root@localhost ~]# smbclient -L //Linuxsambaname

  Password: 注:直接按回车

  在Windows中,您可以用下面的办法来访问;

  //Linuxsambaname/

  或者在windows里面 \\ IP 的形式就可以访问了。

  我们在开发ARM的时候需要修改代码和在linux下编译,比如移植U-BOOT,我们可以把u-boot解压在共享目录linuxsamba下面,在windows下用source insight编辑修改代码,保存后再到linux下编译uboot。

  好的现在所有的服务器都配置好了,如果没出上面意外就可以正常使用了。假设我设置linux和windows的共享目录是linux文件系统下面的/opt目录里的filesystem目录这个filesystem其实就是做好了的文件系统。他可以被开发板的linux用挂载网络文件系统的方式去挂载他,把他当做开发板自己的文件系统使用。这样linux可以操作filesystem里的所有内容,windows也能操作filesystem了的所有内容,开发板挂载他之后也能操作filesystem里的所有内容。并且是三者是同步的。这样在windows下用Source Insigh等工具编辑好代码后,进入虚拟机的liunx进行编译然后转到开发板控制台下进行运行。这里为了方便还有一个远程登录的软件Putty用他通过ssh协议登录虚拟机的linux进行操作虚拟机。用他的串口功能进行开发板的linux控制

  主意:

  1、使用前要把所有服务都启动了。Tftp nfs samba sshd

  使用一下命令:

  先启动网络:

  Service network start

  再启动服务器:

  Service nfs start

  Service smb start

  Service sshd start

  Service xinetd start

  2、如果你的电脑的没有接上网线或网络断开了,是ping不通的。

  3、如果发现windows无法对samba服务器的共享目录进行写操作,那么要设置共享目录的权限为777,还是不行的话,就把selinux关掉。方法是在终端输入 vi /etc/selinux/condig回车。把中间那个变量SELINUX= xxx xxx改为disabled 然后重新启动linux系统。

  4、假如把一个虚拟机上的linux从一台电脑拷贝到另一台电脑去运行,fedora9会出现网卡无法启动的情况,要把/etc/udev/rules.d/70-persistent-net.rules这个文件删除掉。最好把他重命名为其他名字(方便以后恢复),这样他就不受这个文件影响了,还有在终端下输入ifconfig 回车,看看那个网卡的物理地址(上一台电脑的)和你现在电脑的网卡的物理地址是不是一样,不一样就改过来。

  技术咨询:周老师qq:1924786560,更多详情请登录信盈达官方网站:

我告诉你msdn版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

详解过程启动转载分析
微软Windows XP系统服役13年正式退休详细介绍彻底关闭win10弹窗广告让桌面保持干净的方法

游客 回复需填写必要信息