安装桌面Linux系统总结

一、计算机的硬盘接口

1 . IDE接口

        IDE接口的装置(硬盘或光盘设备)比较老,可以连接到IDE接口的装置都可称为IDE装置,不管是硬盘设备还是光盘设备。

        一般计算机都会提供两根IDE扁平电缆,每根电缆可以连接2个IDE装置,所以一台计算机最多可以连接四个IDE装置,如果已经有一个光盘设备,那么计算机就只能连接3个IDE硬盘。

        计算机上的两根IDE扁平电缆对应的接口被称为 IDE1(primary)及 IDE2(secondary),而每条扁平电缆上面连接的IDE装置分为 Master 与 Slave。可以连接的四个IDE装置在Linux下设备名为/dev/hd[a-d],假如在计算机上接了两个IDE硬盘,设备名是hda还是hdb就与接到了哪个相应口有关;

2. SCSI/SATA/USB接口

        对于SCSI/SATA/USB接口的硬盘,Linux下设备名为/dev/sd[a-p],如果也接了两个硬盘和一个U盘,设备名是根据Linux操作系统侦测到硬盘的顺序决定。比如主板上有6个SATA插槽SATA[1-5],上述的两个硬盘分别接到了SATA1和SATA5,那么在Linux下这两个硬盘设备名分别为/dev/sda和/dev/sdb,U盘为/dev/sdc(U盘都是在系统启动后才会被捕捉到)。

3. SSD接口

         比如使用的开发板使用的存储装置都是nand flash,在Linux下的设备名。

二、IDE硬盘分区表

         以IDE硬盘为例,机械硬盘盘面以磁柱和扇区为单位,每个扇区512个字节,整颗硬盘第一个扇区分为446字节的主要启动记录区(MBR)和64字节的分区表,MBR是安装开机管理程序的地方(如果在一颗硬盘上安装多个系统,那么MBR的管理非常重要),分区表记录了硬盘分区状态。

         分区表只有64字节,所以只有4个记录区,每组记录区记录了该区段的启始与结束的磁柱号码,分区就是对64字节的分区表进行设定且只能设定4组分区信息。这四个分区的记录被称为主要(Primary)或扩展(Extended)分区,逻辑分区的分区信息又记录在扩展分区里,这些分区信息中的磁柱范围一定在扩展分区的所在的磁柱范围。

         逻辑分区在Linux系统下的设备文件名一定是从5号开始,即/dev/hda5开始,因为前面四个号码都是保留给Primary或Extended用的。总之,硬盘的分区总结如下:

  1. 主要分割与延伸分割最多可以有四笔(硬盘的限制)
  2. 延伸分割最多只能有一个(操作系统的限制)
  3. 逻辑分割是由延伸分割持续切割出来的分割槽;
  4. 能够被格式化后,作为数据存取的分割槽为主要分割与逻辑分割。延伸分割无法格式化;
  1. 逻辑分割的数量依操作系统而不同,在 Linux 系统中, IDE 硬盘最多有 59个逻辑分割(5号到 63号),SATA硬盘则有11个逻辑分割(5号到15号)。
  2. P(primary)+E(extended)最多只能有四个,其中 E 最多只能有一个。
  3. 如果要把一颗SATA硬盘分为6个区,应该好好体会下图的分法

三、操作系统启动流程

1 . 启动流程

        首先介绍BIOS和CMOS的概念,CMOS 是记录各项硬件参数且嵌入在主板上面的储存器,BIOS 则是一个写入到主板上的一个固件(也可叫韧体,韧体就是写入到硬件上的一个软件程序)。

         计算机系统一上电,执行的第一个程序就是BIOS,BIOS 会依据使用者的设定去取得能够开机的硬盘,并且到该硬盘里面去读取第一个扇区的MBR位置。

        MBR 这个仅有 446 bytes 的硬盘容量里面会放置最基本的开机管理程序,此时 BIOS 就功成圆满,而接下来就是 MBR 内的开机管理程序的工作了。开机管理程序的任务就是加载操作系统,并且也是安装操作系统时提供,所以他会认识硬盘内的文件系统格式,因此就能够读取操作系统核心,然后接下来就是核心档案的工作,开机管理程序也功成圆满,之后就是操作系统的任务。

         在嵌入式开发中的bootloader就是这里提到的MBR中的开机管理程序,它的任务如下:

  1. 提供选单:用户可以选择不同的开机项目,这也是多重引导的重要功能。
  2. 载入核心档案:直接指向可开机的程序区段来开始操作系统。
  3. 转交其他 loader将开机管理功能转交给其他 loader 负责。

 2 . 多重引导

       在上面介绍开机管理程序功能的时候,提到开机管理程序可以把开机管理功能转交给其他loader负责,这就说明开机管理程序除了可以安装在 MBR 里之外,还可以安装在每个分区的启动扇区(boot sector),也正是因为每个分区都有自己的启动扇区才能够实现多重引导。

         比如一个硬盘有四个分区,第1、2分区分别安安装了Windows和Linux,计算机系统上电后,最先开始读取MBR里面的开机管理程序,而这个程序就会提供两个选项,第1个选项是直接加载Windows来开机,第2个选项是将开机管理工作交给第二个分割槽的启动扇区(boot sector)。如果选择第二个选项,那么整个开机管理工作就会交给第二分割槽的开机管理程序了。当第二个开机管理程序启动后,该开机管理程序内仅有一个开机选单,因此就能够使用Linux 的核心档案来开机。

         多重引导总结如下:

  1. 每个分割槽都拥有自己的启动扇区(boot sector)
  2. 实际可开机的核心档案是放置到各分割槽内的
  3. loader 只会认识自己的系统槽内的可开机核心档案,以及其他 loader
  4. Windows安装的时候,其开机管理程序只能安装在MBR里,这也是为什么装Windows和Linux系统时必须先装Windows的原因。

四、Linux系统的安装

1 . Linux系统安装时的磁盘分区

(1)Linux系统的目录树

         Linux操作系统内的所有数据都是以文件的方式呈现,所以Linux系统最重要的地方就是目录树架构,而整个目录树最重要的就是根目录(用/表示,因为目录树架构以根目录为主,所有文件都是以根目录衍生而来)。

(2)磁盘与目录树的关系

         Linux系统最重要的就是根目录,所以根目录一定需要挂载到某个分割槽,至于其他的目录则可依用户自己的需求来给予挂载到不同的分割槽。比如home目录,比如把根目录挂载到硬盘的A分区中,把home挂载到B分区中,如果把数据存放在home目录里,那么这些数据一定是存放在硬盘的B分区中,否则就是存放在A分区中。

         平常在嵌入式ARM开发中,插入U盘后,使用mdev机制自动把U盘挂载到了mnt目录下。所以在Linux系统端进入mnt目录就可以访问U盘的内容了。

         总之,在安装Linux系统时,至少要分/和swap交换分区。当然也可根据用途给/home或/usr分区。

2 . 操作系统的文件系统

不同的操作系统所使用的文件系统架构(file system)并不相同,有些甚至是不兼容的,如windows一般使用NTFS和FAT32格式,而Linux使用ext1-4格式,这两类格式完全不相同,在 Linux 底下还可以藉由编辑核心来支持 Windows 的 FAT 文件格式,但是 Windows 则完全无法读取 Linux 的文件格式(可以使用一些软件来读写)。

3 . 在windows 7存在的情况下安装Linux

(查看鸟哥私房菜18页左右)

         在windows7存在的情况下安装Fedora时,系统一上电,首先运行BIOS,BIOS会去找识别到硬盘的第一个扇区里面的MBR里面的开机管理程序,开机管理程序成为主角,开始给用户提供启动选项(到底启动哪个系统),如果用户选择windows,那么开机管理程序就会直接加载windows到内存,如果用户选择其他操作系统,那么开机管理程序就会把控制权交给其他开机管理程序(boot loader),其他开机管理程序一般被安装在另外分区中的启动扇区,其他开机程序就会加载它认识的操作系统。

         由于硬盘现在,分区时只能采用P+P+P+E/P+P+E/P+E的方式,第一种不浪费硬盘,所以如果在windows下如果已经有两个主分区,在windows有的情况下安装Linux时分区时有可能出错,因为安装Linux时至少需要/和swap分区,他们都要为主分区,而前面已经占用了两个,而最多只能是三个主分区,这个时候只有在windows下删除多余的主分区或把/或swap挂在逻辑分区上。

         在有windows7的情况下用U盘安装时,注意live和DVD版的区别,主要是映像名要和isolinux文件夹里面的配置文件对上号。         注意选择分区类型一定要选标准分区。

4. 安装单Linux系统

         如果以前安装过Fedora,由于启动不了系统而重新使用U盘安装时一般需要删除原来的分区和文件系统后再使用U盘安装。分区时可以自动让它分区也可以自己分区,自己分区时一定至少要/和SWAP分区,由于出现无法引导fedora问题,即安装完后进入grub>界面无法引导fedora,所以我还分了个/home分区。

         当然不一定就是分了/home分区好了的,有可能是我这次安装完后没有急着把u盘取走,一直插着的原因(通过后面的实验,可能是提前拔U盘的原因)。

         注意:在Bios设置启动时,有USB-HDD启动(把U盘当做硬盘)、USB-ZIP等(还可以把U盘当作光盘启动,如果把U盘当光盘启动,那么u盘里面只需要有ISO文件即可,就不需要制作U盘启动盘了)

         一般情况下,在分区的时候需要/和swap分区,但是只要有/也行(但为测试)。

5. fedora-20安装后一般会做的事情(全在根用户下进行)

(1)终端软件的安装,如Guake比较好用

(2)禁止防火墙

    如果你的电脑处于局域网内,那么防火墙是不需要的的,停止它!

sudo systemctl stop firewalld.service

sudo systemctl disable firewalld.service

(3)停止SELinux

停止SELinux,如果你不需要它。

sudo vi /etc/sysconfig/selinux

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#
enforcing - SELinux security policy is enforced.
permissive - SELinux prints warnings instead of enforcing.
disabled - SELinux is fully disabled.
SELINUX= 
disabled # change

# SELINUXTYPE= type of policy in use. Possible values are:
#
 targeted - Only targeted network daemons are protected.

strict - Full SELinux protection.
SELINUXTYPE=targeted

(4)安装fedora20的源

        fedora的软件源信息文件(*.repo)都是放在 /etc/yum.repos.d 目录下的。可以通过# ls -l /etc/yum.repos.d 查看,因为默认的软件源都是国外的,可能网速不是很快,我们可以自己添加国内软件源和本地软件源。

添加国内软件源:(先安装wget命令)

# cd /etc/yum.repos.d
# wget http://mirrors.163.com/.help/fedora-163.repo
# wget http://mirrors.163.com/.help/fedora-updates-163.repo
# wget http://mirrors.sohu.com/help/fedora-sohu.repo
# wget http://mirrors.sohu.com/help/fedora-updates-sohu.repo
# wget http://lug.ustc.edu.cn/wiki/_export/code/mirrors/help/fedora?codeblock=0
# wget http://lug.ustc.edu.cn/wiki/_export/code/mirrors/help/fedora?codeblock=1
# yum makecache //(更新缓存)

#yum localinstall --nogpgcheck http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-20.noarch.rpm  http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-20.noarch.rpm

(5)升级系统

yum -y update

   如果网络环境差,将耗费较多时间。

(6)配置ssh服务

  详细查看csdn博客。

(7)配置samba、nfs服务

       在配置之前先要检测安装否,一般都没有安装,保险的方法是分别执行如下命令进行安装(如samba服务关键要有samba-4.1.15-1.fc20.i686):

  Yum –y  install samb*  和    Yum –y  install  nfs*  安装。

(?)在nfs配置的时候,不知到为什么挂载其他目录X86-Linux平台下的/mnt/nfs目录时,必须把X86-Linux平台的ip设置为静态Ip

其他事情查看:记录一下fedora20安装后,需要安装的一些必备的软件包_liubag的专栏-CSDN博客

安装好用的终端软件:http://os.51cto.com/art/201402/428965.htm

(8)搭建QT开发环境

     1)为了开发基于开发板上的qt程序,需要为目标机和主机提供要开发的QT版本所需的库或可执行二进制示例(注意目标机如ARM开发板需要的库,主要用于运行QT程序时需要,而不需要其他文件,在制作时可删除。主机上要进行交叉编译,必须要库和其他工具)。可以到Index of /qtproject/official_releases/下在qt源码,下面列出不同平台的版本:

qt-everywhere-opensource-src-4.8.6.tar.gz          qt-everywhere-opensource-src-4.8.6.zip             qt-opensource-mac-4.8.6-1-debug-libs.dmg           qt-opensource-mac-4.8.6-1.dmg                      qt-opensource-windows-x86-mingw482-4.8.6-1.exe     qt-opensource-windows-x86-vs2008-4.8.6.exe         qt-opensource-windows-x86-vs2010-4.8.6.exe         

         如果是Linux平台,选用前两个中的一个都可以,然后可以参照Tiny4412用户手册中4.9.1总用到的build.shmktarget 脚本制作。注意在主机上安装时,是安装到/usr/local目录下,并设置了环境变量。注意用target-qte-4.8.5-to-hostpc-x86.tgz版为32位系统版本,target-qte-4.8.5-to-hostpc.tgz64位系统版本。设置环境便要要设置到bin目录。

         2)在PC机上的Linux系统上安装QT Creator集成开发环境

yum  -y  install  qt-creator*  (自动安装qt4  版本为3.2)

使用QT  Creator创建项目时,项目保存目录权限一定要可读写。否则会出现无法创建目录的错误。这里的IDE与上述提到的主机所需库和工具不一样,这个IDE开发程序运行与桌面系统,而上述的是在交叉编译时用到。

(9)安装交叉编译器

         以Tiny4412开发板为例,将光盘 Linux 目录中的 arm-linux-gcc-4.5.1-v6-vfp-20101103.tgz 复制到fedora的某个目录,然后进入目录执行如下命令:tar xvzf arm-linux-gcc-4.5.1-v6-vfp-20101103.tgz –C /

注意: C 后面有个空格,并且 C 是大写的,它是英文单词“ Change”的第一个字母,在此是改变目录的意思。执行该命令,将把 arm-linux-gcc 安装到/opt/FriendlyARM/toolschain/4.5.1 目录。

         把编译器路径加入系统环境变量,运行命令如下命令:

# gedit  /samba/.bashrc

编辑 /samba/.bashrc文件, 注意“ bashrc ”前面有一个“ . ,修改最后一行为

export PATH=$PATH:/opt/FriendlyARM/toolschain/4.5.1/bin 注意路径一定要写对,否则将不会有效。保存退出。

         重新登录系统 (不必重启机器, 开始 ->logout 即可),使以上设置生效,在命令行输入 arm-linux-gcc v,会出现如下信息,这说明交叉编译环境已经成功安装。

五、Linux系统使用注意

1. 不是特殊情况下,不要使用根用户登录,根用户权限很大,责任也很大。

2. 有人说过,linux系统没安装过10遍以上,不算会安装Linux或用linux。其原因在于在使用linux的过程中,总会因为一些自己的不当操作,导致不能进入系统,需要重新安装。

        比如忘记root密码,删除或修改了/etc目录的一些文件导致系统不能启动(当然这些也可以在救援模式下解决)。

3. 如果出现下图方式错误而不能进入用户登录系统:

        我遇到的情况是操作了根目录下的lib目录,第一次是设置了什么库的环境变量导致系统只停留在开机logo,而不能进入用户登录系统。

         第二次是因为覆盖了/lib目录下的libsqlite3.so.O和libsqlite3.so.O.8.6等文件造成如上图的输出,而不能进入用户登录系统。 

4. 设置系统默认启动顺序

        在MBR中装的开机管理程序提供的开机选单中,通过配置选择启动顺序(只有fedora的情况下)

# cat /boot/grub2/grub.cfg |grep Fedora

结果:

menuentry 'Fedora Linux, with Linux 3.1.2-1.fc16.i686.PAE' --class fedora  --class os { 

menuentry 'Fedora Linux, with Linux 3.1.1-1.fc16.i686.PAE' --class fedora  --class os { 

menuentry 'Fedora Linux, with Linux 3.1.0-7.fc16.i686.PAE' --class fedora  --class os { 

# grub2-set-default "Fedora Linux, with Linux 3.1.2-1.fc16.i686.PAE" 

# grub2-editenv list 

# grub2-mkconfig -o /boot/grub2/grub.cfg

5. Linux系统下的救援模式

        如果使用root用户修改了某些配置文件而启动不了系统或登录不了界面,需要修改在开机的时候按e,修改grup里面,在linux  /boot/vmlinuz-3.16….rhgb quiet后增加linux  single ,然后按F10启动(下次这里有恢复原样),在字符界面中把改动修改回来,在正常启动。这个相当于windows的安全模式。

猜你喜欢

转载自blog.csdn.net/fengel_cs/article/details/120637591