admin 管理员组

文章数量: 1184232


2024年12月24日发(作者:微机唯一能够直接识别和处理的语言是)

Linux系统结构(由里到外)

硬件->Kernel(驱动程序)->Shell(终端、接口)->外层应用程序

Linux中的目录结构

存放命令的目录:

/bin系统工具;

/sbin系统管理员应用工具;

/usr/bin和 /usr/sbin存放用户应用程序;

/usr/local/bin

/boot内核及其他系统启动所需文件

/opt安装大的应用程序

/tmp临时文件

/lost+found系统修复过程中恢复的文件

/root超级用户的主目录

/etc配置文件所在目录

启动引导程序/etc/ /etc/ 多系统引导时,可设置默认启动的系统等等

控制启动模式/etc/fstab

/etc/profile增加环境变量等(修改PATH等) 如配置JAVA/J2EE开发环境

/etc/ftp*――ftp的配置文件

/etc/httpd――web服务器的配置文件

/etc/ssh*――ssh的配置文件(安全登陆)

一、

虚拟机上网配置

1.PC机的设置

在“网络邻居”的属性里,点“本地连接”属性,点“高级”选项,Internet连接共享

全选,“家庭网络连接”选“Vmware Network Adapter Vmnet1”,此时的“Vmware Network

Adapter Vmnet1”的IP地址变成192.168.0.1。

2.虚拟机设置

安装虚拟机时,硬件设置“网络连接”为:仅主机。“开始” “系统设置” “网

络”,激活设备eth0,静态设置的IP地址:192.168.0.2;255.255.255.0;192.168.0.1,DNS:

202.206.1.31;202.206.1.32。

打开浏览器就可以上网了。(注意:必须关闭防火墙)

二、

通讯(挂载)配置

1.配置NFS

“开始”->“安全级别配置”,安全级别:无防火墙(不然无法用NFS mount它)。

“开始”->“系统设置”->“服务器设置”->“服务”,将iptables服务的勾去掉,

选中nfs。

“开始”->“系统设置”->“服务器设置”->“NFS服务器”,创建共享目录:/ARM2410/

可读/写,主机:192.168.0.*(允许这些IP的主机访问),选中“把远程根用户当作本地根用

户”。

在宿主机/目录下执行:mount 192.168.0.2:/arm2410 /mnt,mount自己可测试NFS配置好

没有。若想解挂装某个设备,需要使用umount命令。

刚开始“以太网”选的是“仅主机”,宿主机可以上网但ARM不能ping通PC机,改为“桥

接”就可以ping通了,而且可以挂接了,需要交叉网线,此时宿主机不能上网。(如果是买的

2410-s平台的话,挂载mount -t nfs -o nolock 192.168.0.2:/arm2410s /host。注意ARM

机192.168.0.115和PC机192.168.0.2要在同一网段。)

Linux、ARM下查看网关的IP:

[mnt/yaffs]netstat -r

ARM机实现上网需要修改ARM机的IP、DNS和添加静态路由:

[mnt/yaffs]ifconfig eth0 10.187.98.58

[mnt/yaffs]vi

nameserver 202.206.1.31

[mnt/yaffs]route add default gw 10.187.98.254(网关)

[mnt/yaffs]ping 202.108.22.5(百度网址)

[mnt/yaffs]ping 202.108.33.32(新浪网址)

[mnt/yaffs]vi 修改IP和网关,需重启

2.Minicom设置串口参数

建立“终端”,输入minicom,回车,按ctrl+A,再按Z进入主配置界面,按O进入配

置界面,选择“Serial port setup”进入端口设置界面:A-ttyS0(使用串口1);E-11520 8N1

(波特率);F、G都为NO。选择“Save setup as df1”保存推出。

配置完成后,用串口线连接好PC机和2410-S,启动2410-S,即可在minicom上看到启

动信息,并可以执行操作控制。

三、

超级终端设置及应用程序烧写

如果PC机找不到Giveio新硬件就手动安装一下,在“添加硬件”->“打印机端口”

->“更新驱动程序”,选择。

打开超级终端,先按住pc机“Back Space”键,然后启动2410-S,进入vivi> ,按照以下

命令重新分区:

vivi>bon part 0 128k 192k 1216k 4288k:m 64704k

注意事项:

1. 要按照实验指导书上的写,工具盘imgflashvivi 里的readme中vivi>bon part 0 128k

192k 1216k 4288k:m 64704k(64M flash1208)不对!

2. 另外值得注意的是烧写完vivi后一定要复位2410-s,重新进入vivi>来烧写kernel,

root。

3. 烧写应用程序时,ifconfig eth0 10.187.98.59 配置eth0 IP和PC机在同一网段。

4. 工具盘里的img文件中和zimage与邮件传过来新版的不一样,/etc没有

,而邮箱发过来的就有。新版的2里面有

/mnt/yaffs/lib/etc/和Qtopia应用程序。

四、

编辑程序

 交叉编译

所谓交叉编译,宿主机上的编译工具如gcc之类编译产生的可执行文件不能直接在目标

板上运行,所以要移植到目标板就必须利用交叉编译工具armgcc等来编译.其产生的原因

是宿主机与目标板的体系架构不一样(宿主机Intel X86,目标板Arm9).

# chmod 777 hello2 修改用户读写权限。

~# mount /dev/sda1 /mnt 对于目标板来说,sda1为usb host

所插设备的块文件,hda1为ide所插设备的块文件

~# /mnt/hello2 发现可以运行.这说明hello2不是错

的,这就证明了我们前面说到的交叉编译的原因.

经常会找不到armv41-unkown-linux-gcc,每次编译前要source /root/.bash_profile。Gcc编

译的执行文件只能在宿主机上运行,而armv41-unknown-linux-gcc编译的执行文件只能在目

标机上运行。可以用 file + <文件名> 来查看文件是在哪个机子下运行的。

找不到armv41-unkown-linux-gcc的原因是makefile的代码有问题,可以参考工具盘中

exp的代码,但也要做修改,把第二行删掉再编译,会生成一个hello执行文件,运行./hello。

Makefile:

TOPDIR = ../

EXEC = $(INSTALL_DIR)/hello ./hello

OBJS = hello.o

CFLAGS +=

LDFLAGS+= –static

all: $(EXEC)

$(EXEC): $(OBJS)

$(CC) $(LDFLAGS) -o $@ $(OBJS)

clean:

-rm -f $(EXEC) *.elf *.gdb *.o

例[..~ ~..] cd example

[..~ ~..] ls

[..~ ~..] make clean

[..~ ~..] make

[..~ ~..] ./hello

五.Windows与Linux系统之间的网络通信:

1、网络设置:将以太网改为“仅主机”。

2、当Windows向Linux发送数据时,Linux的IP地址是可以改变的(如192.168.0.2),但

是当虚拟机Linux向Windows发送数据时,Windows的IP地址是固定的192.168.0.1。(在网上

有服务端显示客户端IP的例题)。

3、程序在ARM机上运行:

用Kdevelop编译、make成功后就可以“运行”了(注意:第一次编译、make会出现错

误提示:automake版本低,只要再编译、make一次就会显示“成功”了。)生成的可执行的

二进制文件是在linux下运行的;而用arm-linux-gcc编译*.c文件生成的二进制文件可以在

ARM机下运行了。

如[..~ ~..]arm(输入arm后再按Tab键可以看到很多arm编译器)

[..~ ~..]arm-linux-gcc armv41-unknown-linux-gcc

arm-linux-g++ armv41-unknown-linux-g++

arm-linux- armv41-unknown-linux-

[..~ ~..]armv41-unknown-linux-gcc –o arm main.c

[..~ ~..]./arm

4、当ARM机作为客户端向服务端Windows发送数据时,PC机的IP为10.187.98.58,而不

是虚拟机下的192.168.0.1。ARM上网用一般网线,只要把ARM的IP设置为同一网段就行(如:

10.187.98.59)。

4.演示摄像头:启动后把摄像头插到2410-S 的usb 主口

(注意:在加载模块驱动后,再插入摄象头,之后再执行应用程序。)不然会出现打不开

/dev/v4l/video0 文件的错误提示。

18.FTP 演示:连接好实验箱配套的交叉网线

在FlashFXP(或台式机)的地址栏输入ftp://10.187.98.59(注意:要与台式机在同一网段)。

※ 开机:

Root

管理员密码

Startx

※ 字体:

选择ZYsong ,按住ctrl+space变换成智能拼音。

※ 挂载U盘

LINUX下:

mkdir /mnt/usb

然后就可以接上U盘了,然后在终端下输入命令并击Enter键即可:

mount /dev/sda1 /mnt/usb

在Linux下我们也要删除挂起点,方法是:

umount /dev/sda1 /mnt/usb 或 umount /dev/sda1

ARM下:

fdisk –l /dev/sdb 或是 fdisk –l /dev/hdb 查看挂载地址

mount –t vfat /dev/sdb1 /mnt/usb (usb是新建文件夹)

※ 挂接Windows文件共享

Windows网络共享的核心是SMB/CIFS,在linux下要挂接(mount)windows的磁盘共

享,就必须安装和使用samba软件包。当windows系统共享设置好以后,就可以在linux

客户端挂接(mount)了,具体操作如下:

# mkdir –p /mnt/samba 注:建立一个目录用来作挂接点(mount point)

# mount -t smbfs -o username=administrator,password=pldy123

//10.140.133.23/c$ /mnt/samba

按照下面的就可以删除不必要的文件,我删除了50多M

root@1[root]# local

local locale localedef locale-gen localepurge

root@1[root]# locale

locale localedef locale-gen localepurge

root@1[root]# localepurge

localepurge: Disk space freed in /usr/share/locale: 56070K

localepurge: Disk space freed in /usr/share/man: 1238K

Total disk space freed by localepurge: 57308K

如你想reinstall以前删除的locale,请运行下面的命令行

To reinstall all the packages which localepurge has been taking care of

before, you can use the following command:

apt-get --reinstall install $(dpkg -S LC_MESSAGES | cut -d: -f1 | tr ',

' 'n' | sort -u)


本文标签: 设置 文件 编译 运行 执行