《嵌入式 Linux应用程序开发标准教程(第2版)》——2.4 实验内容

    xiaoxiao2023-09-10  161

    本节书摘来自异步社区《嵌入式 Linux应用程序开发标准教程(第2版)》一书中的第2章,第2.4节,作者 华清远见嵌入式培训中心,更多章节内容可以访问云栖社区“异步社区”公众号查看。

    2.4 实验内容

    嵌入式 Linux应用程序开发标准教程(第2版)

    2.4.1 在Linux下解压常见软件

    1.实验目的

    在Linux下安装一个完整的软件(嵌入式Linux的必备工具——交叉编译工具),掌握Linux常见命令,学会设置环境变量,同时搭建起嵌入式Linux的交叉编译环境(关于交叉编译的具体概念在本书后面会详细讲解),为今后的实验打下良好的基础。2.实验内容

    在Linux中解压cross-3.3.2.tar.bz2,并添加到系统环境变量中去。3.实验步骤

    (1)将光盘中的cross-3.3.2.tar.bz2复制到Windows下的任意盘中。

    (2)重启机器转到Linux下,并用普通用户身份登录。

    (3)打开“终端”,并切换到超级用户模式下。

    命令为:su - root

    (4)查看cross-3.3.2.tar.bz2所在的Windows下对应分区的格式,并记下其文件设备名称,如“/dev/hda1”等。

    命令为:fdisk -l

    (5)使用mkdir命令在“/mnt”新建子目录作为挂载点。

    命令为:mkdir /mnt/win

    (6)挂载Windows相应分区。

    若是vfat格式,则命令为:mount –t vfat /dev/hda* /mnt/win。

    注意 由于ntfs格式在Linux的早期版本中是不安全的,只能读,不能写,因此最好把文件放到fat32格式的文件系统中。

    (7)进入挂载目录,查看是否确实挂载上。

    命令为:cd /mnt/win;ls

    (8)在/usr/local下建一个名为arm的目录。

    命令为:mkdir /usr/local/arm

    (9)将cross-3.3.2.tar.bz2复制到刚刚创建的目录中。

    命令为:cp /mnt/win/cross-3.3.2.tar.bz2 /usr/local/arm

    注意 若cross-3.3.2.tar.bz2在当前目录中,则可将命令简写为:cp ./cross-3.3.2.tar.bz2 /usr/local/arm。

    (10)将当前工作目录转到“/usr/local/arm”下。

    命令为:cd /usr/local/arm

    想一想 为什么要将此目录创建在“/usr/local”下?

    (11)解压缩该软件包。

    命令为:tar jxvf cross-3.3.2.tar.bz2

    (12)将此目录下的/bin目录添加到环境变量中去。

    命令为:export PATH=/usr/local/arm/3.3.2/bin :$PATH

    注意 用此方法添加的环境变量在掉电后会丢失,因此,可以在“/etc/bashrc”的最后一行添加以上命令。

    (13)查看该路径是否已添加到环境变量中。

    命令为:echo $PATH4.实验结果

    成功搭建了嵌入式Linux的交叉编译环境,熟悉Linux下常用命令,如su、mkdir、mount、cp、tar等,并学会添加环境变量,同时对Linux的目录结构有了更进一步的理解。

    2.4.2 定制Linux系统服务

    1.实验目的

    通过定制Linux系统服务,进一步理解Linux的守护进程,能够更加熟练运用Linux操作基本命令,同时也加深对init进程的了解和掌握。2.实验内容

    查看Linux系统服务,并定制其系统服务。3.实验步骤

    (1)查看系统的默认运行级别。

    命令为:cat /etc/inittab(假设当前运行级别为N)

    (2)进入相应级别的服务脚本目录,查看哪些服务是系统启动的独立运行的服务,并做下记录。

    命令为:cd /etc/rc.d/rcN.d

    (3)利用命令查看系统开机自启动服务,与上次查看结果进行比较,找出其中的区别,并思考其中的原因。

    命令为:chkconfig –list

    (4)记录chkconfig –list命令中由xinet管理的服务,并将其中启动的服务做下记录。

    (5)进入xinet配置管理的相应目录,查看是否与chkconfig –list所得的结果相吻合,并查看相应脚本文件。

    命令为:cd /etc/xinetd.d

    (6)将sshd服务停止。

    命令为:service sshd stop

    (7)将sshd服务设置为开机不启动。

    命令为:chkconfig –level N sshd stop

    (8)查看该设置是否生效。

    命令为:chkconfig –list

    (9)查看系统中所有服务及其端口号列表。

    命令为:cat /etc/services

    (10)将sshd服务端口号改为4022。

    命令为:vi /etc/services

    (11)重启sshd服务,验证所改的端口号是否生效。

    命令为:service sshd start

    (12)重启Linux系统,验证所改的服务开机启动是否生效。4.实验结果分析

    本实验通过验证Linux系统服务的启动状态,进一步明确Linux系统服务启动的流程,更深入地理解了Linux系统操作。

    本实验还通过定制Linux系统服务sshd的开机启动状态和端口号,熟悉了Linux的系统定制步骤。

    相关资源:华清远见(很棒)--嵌入式Linux应用程序开发详解
    最新回复(0)