《嵌入式 Linux应用程序开发标准教程(第2版)》——1.2 Linux安装

简介:

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

1.2 Linux安装

嵌入式 Linux应用程序开发标准教程(第2版)
有了一个初步的了解后,读者是否想亲自试一下?其实安装Linux是一件很容易的事情,不过在开始安装之前,还需要了解一下在Linux安装过程中可能遇到的一些基本知识以及它与Windows的区别。

1.2.1 基础概念

1.文件系统、分区和挂载
文件系统是指操作系统中与管理文件有关的软件和数据。Linux的文件系统和Windows中的文件系统有很大的区别,Windows文件系统是以驱动器的盘符为基础的,而且每一个目录与相应的分区对应,例如“E:workplace”是指此文件在E盘这个分区下。而Linux恰好相反,文件系统是一棵文件树,且它的所有文件和外部设备(如硬盘、光驱等)都是以文件的形式挂在这个文件树上,例如“/usr/local”。对于Windows而言,就是指所有分区都是在一些目录下。总之,在Windows下,目录结构属于分区;Linux下,分区属于目录结构。其关系如图1.1和图1.2所示。

c4443ebd62e37064cfc6bd79a31b62c17937b76d

因此,在Linux中把每一个分区和某一个目录对应,以后再对这个目录的操作就是对这个分区的操作,这样就实现了硬件管理手段和软件目录管理手段的统一。这个把分区和目录对应的过程叫做挂载(Mount),而这个挂载在文件树中的位置就是挂载点。这种对应关系可以由用户随时中断和改变。

boll想一想

Linux文件系统的挂载特性给用户能带来怎样的好处呢?
2.主分区、扩展分区和逻辑分区
硬盘分区是针对一个硬盘进行操作的,它可以分为:主分区、扩展分区、逻辑分区。其中主分区就是包含操作系统启动所必需的文件和数据的硬盘分区,要在硬盘上安装操作系统,则该硬盘必须要有一个主分区,而且其主分区的数量可以是1~3个;扩展分区也就是除主分区外的分区,但它不能直接使用,必须再将它划分为若干个逻辑分区才可使用,其数量可以有0或1个;而逻辑分区则在数量上没有什么限制。它们的关系如图1.3所示。

一般而言,对于先装了Windows的用户,Windows的C盘是装在主分区上的,可以把Linux安装在另一个主分区或者扩展分区上。为了安装方便安全起见,一般采用把Linux装在多余的逻辑分区上,如图1.4所示。

e0863a671c45ab4cc90fc28b35106cd5bd80819d

通常,在Windows下的盘符和Linux设备文件的对应关系如下:

C盘——/dev/hda1(主分区)

D盘——/dev/hda5(逻辑分区)

E盘——/dev/hda6(逻辑分区)
3.SWAP交换分区
在硬件条件有限的情况下,为了运行大型的程序,Linux在硬盘上划出一个区域来当作临时的内存,而Windows操作系统把这个区域叫做虚拟内存,Linux把它叫做交换分区swap。在安装Linux建立交换分区时,一般将其设为内存大小的2倍,当然也可以设为更大。

4.分区格式
不同的操作系统选择了不同的格式,同一种操作系统也可能支持多种格式。微软公司的Windows就选择了FAT32、NTFS两种格式,但是Windows不支持Linux上常见的分区格式。Linux是一个开放的操作系统,它最初使用EXT2格式,后来使用EXT3格式,但是它同时支持非常多的分区格式,包括很多大型机上UNIX使用的XFS格式,也包括微软公司的FAT以及NTFS格式。

5.GRUB
GRUB是一种引导装入器(类似在嵌入式中非常重要的bootloader),它负责装入内核并引导Linux系统,位于硬盘的起始部分。由于GRUB多方面的优越性,如今的Linux一般都默认采用GRUB来引导Linux操作系统。但事实上它还可以引导Windows等多种操作系统。

在安装了Windows和Linux双系统后,系统是以Linux的GRUB作为引导装入器来选择启动Windows或Linux的,因此,若此时直接在Windows下把Linux的分区删除,会导致系统因没有引导装入器而无法启动Windows,这点要格外小心。
6.root权限
Linux也是一个多用户的系统(在这一点上类似Windows XP),不同的用户和用户组会有不同的权限,其中把具有超级权限的用户称为root用户。root的默认主目录在“/root”下,而其他普通用户的目录则在“/home”下。root的权限极高,它甚至可以修改Linux的内核,因此建议初学者要慎用root权限,不然一个小小的参数设置错误很有可能导致系统的严重问题。

1.2.2 硬件需求

Linux对硬件的需求非常低。如果要是只想在字符方式下运行,那么一台386的计算机已经可以用来安装Linux了;如果想运行X-Windows,那也只需要一台16MB内存、600MB硬盘的486计算机即可。这听起来比那些需要256MB内存、2.0GHz的操作系统要好得多,事实上也正是如此。

现在软件和硬件行业的趋势是让用户购买更快的计算机,不断扩充内存和硬盘,而Linux却不受这个趋势的影响。随着Linux的发展,由于在其上运行的软件越来越多,因此它所需要的配置越来越高,但是用户可以有选择地安装软件,从而节省资源。既可以运行在Pentium 4处理器上,也可以运行在400MHz的Pentium II上,甚至如果用户需要,也可以在只有文本界面的更低配置的机器上运行。由此可见,Linux非常适合需求各异的嵌入式硬件平台。而且Linux可以很好地支持标准配件。如果用户的计算机是采用标准配件,那么运行Linux应该没有任何问题。

1.2.3 安装准备

在开始安装之前,首先需要了解一下硬件配置,包括以下几个问题。

(1)有几个硬盘,每个硬盘的大小,如果有两个以上的硬盘哪个是主盘。

(2)内存有多大。

(3)显卡的厂家和型号,有多大的显存。

(4)显示器的厂家和型号。

(5)鼠标的类型。

如果用户的计算机需要联网,那么还需要注意以下问题。

(1)计算机的IP地址、子网掩码、网关、DNS的地址、主机名。

(2)有的时候还需要知道网卡的型号和厂商。

如果不确定系统对硬件的兼容性,或者想了解Linux是否支持一些比较新或不常见的硬件。

其次,用户可以选择从网络安装(如果带宽够大,笔者推荐从商家手中购买Linux的安装盘,一般会获得相应的产品手册、售后服务和众多附赠的商业软件),也可以从他人那里复制,这是合法的,因为Linux是免费的。如果用户需要获得最新的,或需要一个不易于购买到的版本,那么用户可以下载一个需要的Linux版本。

最后,应在安装前确认磁盘上是否有足够的空间,一般的发行版本全部安装需要3GB左右,最小安装可以到数十兆字节,当然还需要给未来的使用留下足够的空间。如果用户拥有的是一个已经分区的空闲空间,那么可以选择在安装前在Windows下删除相应分区,也可以选择在安装时删除。

相关文章
|
10天前
|
消息中间件 Java Kafka
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
本文介绍了Kafka集群的搭建过程,涵盖从虚拟机安装到集群测试的详细步骤。首先规划了集群架构,包括三台Kafka Broker节点,并说明了分布式环境下的服务进程配置。接着,通过VMware导入模板机并克隆出三台虚拟机(kafka-broker1、kafka-broker2、kafka-broker3),分别设置IP地址和主机名。随后,依次安装JDK、ZooKeeper和Kafka,并配置相应的环境变量与启动脚本,确保各组件能正常运行。最后,通过编写启停脚本简化集群的操作流程,并对集群进行测试,验证其功能完整性。整个过程强调了自动化脚本的应用,提高了部署效率。
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
|
2天前
|
Ubuntu Linux 开发者
Ubuntu20.04搭建嵌入式linux网络加载内核、设备树和根文件系统
使用上述U-Boot命令配置并启动嵌入式设备。如果配置正确,设备将通过TFTP加载内核和设备树,并通过NFS挂载根文件系统。
30 15
|
14天前
|
Linux Python
Linux 安装python3.7.6
本教程介绍在Linux系统上安装Python 3.7.6的步骤。首先使用`yum`安装依赖环境,包括zlib、openssl等开发库。接着通过`wget`下载Python 3.7.6源码包并解压。创建目标文件夹`/usr/local/python3`后,进入解压目录执行配置、编译和安装命令。最后设置软链接,使`python3`和`pip3`命令生效。
|
16天前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
103 20
|
10天前
|
NoSQL 关系型数据库 MySQL
Linux安装jdk、mysql、redis
Linux安装jdk、mysql、redis
111 7
|
16天前
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
79 13
|
17天前
|
Unix Linux 编译器
UNIX/Linux 上的安装
UNIX/Linux 上的安装。
37 2
|
17天前
|
Ubuntu Linux C++
Win10系统上直接使用linux子系统教程(仅需五步!超简单,快速上手)
本文介绍了如何在Windows 10上安装并使用Linux子系统。首先,通过应用商店安装Windows Terminal和Linux系统(如Ubuntu)。接着,在控制面板中启用“适用于Linux的Windows子系统”并重启电脑。最后,在Windows Terminal中选择安装的Linux系统即可开始使用。文中还提供了注意事项和进一步配置的链接。
40 0
|
3月前
|
Linux 测试技术 网络安全
Linux系统之安装OneNav个人书签管理器
【10月更文挑战第19天】Linux系统之安装OneNav个人书签管理器
122 5
Linux系统之安装OneNav个人书签管理器
|
2月前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
73 4