summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--05_distro.rst11
-rw-r--r--06_boot_process.rst61
-rw-r--r--07_liveusb.rst4
-rw-r--r--08_install_archlinux.rst4
-rw-r--r--09_admin.rst18
5 files changed, 98 insertions, 0 deletions
diff --git a/05_distro.rst b/05_distro.rst
new file mode 100644
index 0000000..5656dfe
--- /dev/null
+++ b/05_distro.rst
@@ -0,0 +1,11 @@
+GNU/Linux 发行版
+==================
+
+在这章我们讨论 GNU/Linux 的发行版。根据用户的不同需求,社区的开发者创建了不少的 GNU/Linux 发行版,它们从系统的基本组件,到应用软件的构成都有不同的特点。以下我们先讨论不同发行版之间可能存在的差异,再讨论几大主流发行版派系,最后推荐几个常见的发行版。
+
+
+GNU/Linux 的基本组件
+----------------------
+
+
+
diff --git a/06_boot_process.rst b/06_boot_process.rst
new file mode 100644
index 0000000..00edb74
--- /dev/null
+++ b/06_boot_process.rst
@@ -0,0 +1,61 @@
+计算机系统的启动过程
+======================
+
+本章内容来自 https://github.com/mytbk/Linux_Notes/blob/master/install/from-firmware-to-userspace.md
+
+在一个使用 systemd 的系统中执行 systemd-analyze, 会得到如下形式的输出::
+
+ $ systemd-analyze
+
+ Startup finished in 3.222s (firmware) + 6.642s (loader) + 2.101s (kernel) + 1.734s (userspace) = 13.700s
+
+可以看出,系统的启动分为4个部分,固件(firmware),引导加载器(bootloader),内核(kernel),用户空间(userspace).我们就把从机器上电开机开始的4个过程一个一个地描述出来。
+
+固件(firmware)
+----------------
+
+计算机启动后,首先会从ROM中执行一段程序,这段程序就是固件。固件的作用是完成硬件的初始化和检测,提供访问硬件的接口,最后加载引导加载器或者操作系统内核。
+
+我们在这里主要讨论固件是怎么引导系统的。不同的固件用不同的方式引导系统,x86平台上常用的固件有BIOS和UEFI.
+
+BIOS(basic input/output system)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+BIOS起源于IBM PC,并一直沿用到现在。BIOS引导系统的过程如下:
+
+1. 读取引导设备(硬盘,软盘,U盘等)的第一个扇区到内存的指定地址0000:7C00.
+
+2. 检查这个扇区的最后两个字节是否为0x55 0xaa(小端表示为0xaa55),如果是,则进行下一步,否则回到第1步。
+
+3. 跳转到0000:7c00执行引导代码。
+
+UEFI(Unified Extensible Firmware Interface)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+`UEFI <http://www.uefi.org/>`__ 是Intel提出的固件结构,起初用于Intel的IA64平台,后来移植到了x86和x86_64平台,同时也有ARM设备使用UEFI.
+
+UEFI规范中指定了UEFI固件的结构,编程规范,也规定了引导系统的方式。UEFI固件引导系统的过程如下:
+
+1. 读取启动设备的EFI系统分区(一般是第一个分区,使用FAT32文件系统),寻找启动文件(默认为efi/boot/bootx64.efi).
+
+2. 执行启动文件,完成引导。
+
+
+引导加载器(bootloader)
+---------------------------
+
+有了固件标准之后,程序员根据固件引导系统的方式,写了相应的能被固件使用的引导加载器。引导加载器的作用是加载并启动操作系统的内核。操作系统的类型很多,内核的启动也有很多参数,引导加载器可以根据用户的配置,使用合适的参数启动内核。很多引导加载器有多系统引导,命令行界面等功能。
+
+用于引导Linux的常用引导加载器有GRUB,syslinux等。
+
+
+内核(kernel)
+--------------------
+
+内核是操作系统的核心部件,向下管理硬件资源,向上为应用程序提供服务。Linux是一个内核,它实现了内存管理,进程调度等操作系统的基本功能,还包含了很多硬件驱动程序。Linux内核进行了一系列的初始化操作之后,会启动第一个进程,称为init.
+
+
+用户空间(userspace)
+----------------------
+
+init进程的作用是启动其他进程,从而操作系统就启动了很多的应用程序,包括图形界面,网络服务等。默认情况下,Linux启动/sbin/init作为init进程,但可以通过修改内核的init参数选择其他的init程序。常用的init程序有sysvinit,systemd,busybox init等。
diff --git a/07_liveusb.rst b/07_liveusb.rst
new file mode 100644
index 0000000..62e733d
--- /dev/null
+++ b/07_liveusb.rst
@@ -0,0 +1,4 @@
+USB 启动盘的制作
+====================
+
+要安装 GNU/Linux,我们要先制作一个启动盘,用于启动系统,然后运行里面的安装程序。GNU/Linux 的启动盘一般以 iso 镜像的形式发布,它是一种光盘镜像,可以刻录到 CD/DVD 中。然而,现在的计算机常常不带光驱,而且光盘的读取速度慢,因此建议使用 USB 闪存盘来启动和安装系统。本章介绍如何将下载到的 iso 镜像制作为 USB 启动盘。
diff --git a/08_install_archlinux.rst b/08_install_archlinux.rst
new file mode 100644
index 0000000..4c298f6
--- /dev/null
+++ b/08_install_archlinux.rst
@@ -0,0 +1,4 @@
+Arch Linux 的安装
+==================
+
+这一章介绍如何安装 Arch Linux. 之后对整个安装做一个总结,讲解安装一个 GNU/Linux 发行版的一般过程。
diff --git a/09_admin.rst b/09_admin.rst
new file mode 100644
index 0000000..9d56e71
--- /dev/null
+++ b/09_admin.rst
@@ -0,0 +1,18 @@
+GNU/Linux 系统管理基础
+=========================
+
+
+用户和组
+----------
+
+
+文件属性
+----------
+
+
+su, sudo 和 setuid
+--------------------
+
+
+什么时候需要 root
+------------------