嵌入式linux怎么学

嵌入式linux怎么学,第1张

1、先学习linux系统的基本历史和安装过程

2、学习linux系统的目录结构和一些基本shell命令

3、学习linux下编辑工具:VIM编辑器

4、学习linux的用户管理(添加、删除、修改用户等)

5、学习linux的进程控制(主要关于系统进程的一些命令)

6、linux系统下软件包的安装(主要三种:源码包、rpm包、二进制包等)

7、linux下的网络管理

8、shell脚本编程

以上是个人的一个学习过程,是从零开始学的一个经验。

当然了,这样自学很慢,而且容易误入误区(我自己就被一个问题困了2个月),所以建议如果条件允许,可以参加一些嵌入式培训班。当然公司名就不说了,可能会被说成广告,想了解更多,可以私信我哦。

1、去http://java.sun.com/j2se/1.4.2/download.html 下载一个Linux Platform的JDK,建议下载RPM自解压格式的(RPM in self-extracting file,j2sdk-1_4_2_06-linux-i586- rpm.bin)。

2. 上载到Linux服务器上,在shell下执行命令:

[root@LinuxServer rpm]#

chmod 755 j2sdk-1_4_2_06-linux-i586-rpm.bin

[root@LinuxServer rpm]#

./j2sdk-1_4_2_06-linux-i586-rpm.bin

这时会有一段Sun的协议,敲几次空格键,当询问是否同意的时候,敲yes就可以了。

Sun Microsystems, Inc.

Binary Code License Agreement

for the

JAVATM 2 SOFTWARE DEVELOPMENT KIT

(J2SDK), STANDARD

EDITION, VERSION 1.4.2_X

...

Do you agree to the above

license terms? [yes or no]yes

Unpacking...

Checksumming...

0

0

Extracting...

UnZipSFX 5.40 of 28 November 1998,

by Info-ZIP (Zip-Bugs@lists.wku.edu).

inflating: j2sdk-1_4_2_06-linux-i586.rpm

Done.

注: 如果直接执行unzip命令来解压也是可以的,总之得到一个rpm软件包。

3、程序会自动生成一个j2sdk-1_4_2_06-linux-i586.rpm文件,这是主程序包,下面来安装:

[root@LinuxServer rpm]#rpm -ivh

j2sdk-1_4_2_06-linux-i586.rpm

Preparing... ######################

##################### [100%]

1:j2sdk ########################

################### [100%]

4、设置环境变量

通常都喜欢用export命令直接在shell下设置:

[root@LinuxServer rpm]#

export JAVA_HOME=/usr/java/j2sdk1.4.2_06

[root@LinuxServer rpm]#

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:

$JAVA_HOME/lib/

tools.jar

[root@LinuxServer rpm]#

export PATH=$PATH:$JAVA_HOME/bin

当然这样设置环境变量是可以生效的,但是只对当前shell生效。如果从另外一个shell登陆,将不能使用刚才设置的变量。所以最好的方法还是修改.bashr c文件。

[root@LinuxServer rpm]#vi .bashrc

set JAVA_HOME=/usr/java/j2sdk1.4.2_06

export JAVA_HOME

set PATH=$PATH:$JAVA_HOME/bin

export PATH

set CLASSPATH=.:$JAVA_HOME/lib/dt.jar:

$JAVA_HOME/lib/tools.jar

export CLASSPATH

当然也可以通过更改/etc/profile来实现,不过不推荐这么做,

因为这样的设置将对所以用户的shell都生效,对系统安全会产生影响。

就是在这个文件的最后加上:

export JAVA_HOME=/usr/java/j2sdk1.4.2_06

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar

:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

下面来验证一下变量设置是否生效(####注意:在验证前先logout一下,再重新登陆):

[root@LinuxServer rpm]#

echo $JAVA_HOME

/usr/java/j2sdk1.4.2_06/

[root@LinuxServer rpm]#

echo $CLASSPATH

/usr/java/j2sdk1.4.2_06/lib/dt.jar:

/usr/java/j2sdk1.4.2_06/lib/tools.jar

[root@LinuxServer rpm]#

echo $PATH

/usr/java/j2sdk1.4.2_06/bin/:

/usr/kerberos/sbin:/usr/kerberos/bin:

/usr/local/sbi

n:

/usr/local/bin:/sbin:/bin:/usr/sbin:

/usr/bin:/usr/X11R6/bin:/root/bin

[root@LinuxServer rpm]# JAVA-version

JAVA version "1.4.2_06"

JAVA(TM) 2 Runtime Environment,

Standard Edition (build 1.4.2_06-b03)

JAVA HotSpot(TM) Client

VM (build 1.4.2_06-b03, mixed mode)

5、环境设置OK,看看JDK是否能正常工作,我们来写一个测试文件test.java:

[root@LinuxServer rpm]#vi test.java

class test

{

public static void main(String[] args)

{

System.out.println("Hello World!")

}

}

保存退出,下面来编译、执行:

[root@LinuxServer text]# javac test.java

[root@LinuxServer text]# JAVA test

Hello World!

好了,工作正常。

6、如果要使某个用户具有运行Java命令的权限,只要修改其bash初始化文件即可。比如要给用户longware以运行Java命令的权限:

[root@LinuxServer root]#

vi /home/longware/.bashrc

set JAVA_HOME=/usr/java/j2sdk1.4.2_06

export JAVA_HOME

set PATH=$PATH:$JAVA_HOME/bin

export PATH

set CLASSPATH=.:$JAVA_HOME/lib/dt.jar:

$JAVA_HOME/lib/tools.jar

export CLASSPATH

7、至此,Linux上JDK的安装完毕。下面安装eclipse-SDK-3.0-linux-gtk.zip,去www.eclipse.org下载一个eclipse3.0.,将eclipse-SDK-3.0-linux-gtk.zip解压到/opt中。

8、编写一个脚本用于启动eclipse

#!/bin/bash

#

# 执行 eclipse 3

#

export JAVA_HOME=/usr/java

/j2sdk1.4.2_06

export CLASSPATH=/usr/java

/j2sdk1.4.2_06/lib

/opt/eclipse/eclipse -vm /usr/java

/j2sdk1.4.2_06/bin/java -data /home/chenzhe/wo

rkspace &

# -vm 参数用以指定使用哪一个 jvm 来执行Eclipse,

# -date参数用以指定Eclipse的数据目录。

在此指定其存在用户根目录(/home/chenzhe/)下的workspace目录中,将脚本保存到/usr

/local/bin中,叫eclipse,并给eclipse分配755权限

9、在桌面上创建一个启动器,随便选一个图标,路径设置到/opt/eclipse/eclipse,/op

t/eclipse/icon.xpm是eclipse自身带的图标.

10、双击图标,或者在终端输入eclipse, 完成!

tftp命令用在本机和tftp服务器之间使用TFTP协议传输文件。

TFTP是用来下载远程文件的最简单网络协议,它其于UDP协议而实现。嵌入式linux的tftp开发环境包括两个方面:一是linux服务器端的tftp-server支持,二是嵌入式目标系统的tftp-client支持。因为u-boot本身内置支持tftp-client,所以嵌入式目标系统端就不用配置了。下面就详细介绍一下linux服务器端tftp-server的配置。

语法

tftp(选项)(参数)选项

-c:指定与tftp服务器连接成功后,立即要执行的指令;

-m:指定文件传输模式。可以是ASCII或者Binary;

-v:显示指令详细执行过程;

-V:显示指令版本信息。 参数

主机:指定tftp要联机的tftp服务器的ip地址或主机名。

实例

1、安装tftp服务器

需要安装xinetd、tftp和tftp-server 3个软件

如果能上网,通过yum安装:

yum 

 xinetd

yum install tftp

yum install tftp-server

如果不能上网,可以直接安装提供的rpm包:

rpm -ivh xinetd-2.3.14-18.fc9.i386.rpm

rpm -ivh tftp-0.48-3.fc9.i386.rpm

rpm -ivh tftp-server-0.48-3.fc9.i386.rpm

2、配置tftp服务器

修改/etc/xinetd.d/tftp文件,将其中的disable=yes改为disable=no。主要是设置TFTP服务器的根目录,开启服务。修改后的文件如下:

 tftp

{

       socket_type           =dgram

       protocol              =udp       

                  =yes

       user                  =root

       server                =/usr/sbin/in.tftpd

       server_args           =-s  /home/mike/tftpboot -c

       disable               =no

       per_source            =11

       cps                   =100 2

       flags                 =IPv4

}

说明:修改项server_args= -s <path>-c,其中<path>处可以改为你的tftp-server的根目录,参数-s指定chroot,-c指定了可以创建文件。

3、启动tftp服务器并关闭防火墙

/etc/

.d/

 stop        //关闭防火墙

 /sbin/service xinetd start

service xinetd restart

/etc/init.d/xinetd start

看到启动[OK]就可以了

4、查看tftp服务是否开启

 -a | 

 tftp

显示结果为udp 0 0 *:tftp *:*表明服务已经开启,就表明tftp配置成功了。

5、tftp使用

复制一个文件到tftp服务器目录,然后在主机启动tftp软件,进行简单测试。

tftp 192.168.1.2

tftp>get <download 

tftp>put <upload file>

tftp>q

6、tftp命令用法如下

tftp your-ip-address

进入TFTP *** 作:

connect:连接到远程tftp服务器 mode:文件传输模式 put:上传文件 get:下载文件 quit:退出 verbose:显示详细的处理信息 tarce:显示包路径 status:显示当前状态信息 binary:二进制传输模式 ascii:ascii 传送模式 rexmt:设置包传输的超时时间 timeout:设置重传的超时时间 help:帮助信息 ? :帮助信息

7、如果老是出现“AVC Denial, click icon to view”的错误,并不能传输文件,需要作如下修改

修改/etc/sysconfig/selinux,将SELINUX设定为disable,使用命令setenforce 0让selinux配置文件生效。

8、Busybox中tftp命令的用法

命令格式为:

tftp [option] ... 

 [port]

如果要下载或上传文件的话是一定要用这些option的。

-g 表示

载文件 (get)

-p 表示上传文件 (put)

-l 表示本地文件名 (local file)

-r 表示远程主机的文件名 (remote file)

例如,要从远程主机192.168.1.2上下载 embedexpert,则应输入以下命令

tftp -g -r embedexpert 192.168.1.2


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8982632.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-23
下一篇 2023-04-23

发表评论

登录后才能评论

评论列表(0条)

保存