linux启动、grub配置以及kickstart简介

linux启动、grub配置以及kickstart简介,第1张

        本文主要针对CenOS6系统的启动流程作简介。

         Linux的系统启动分为几个阶段,由于运行中的系统分为用户空间层面和内核空间层面,所以一个完整的系统启动也是先启动内核文件,然后在启动用户层面的各种应用程序。Linux系统的设计属于单内核设计,但是各功能模块却支持动态的装载和卸载,极大的压缩了内核的体积,让内核的启动也更加快捷和迅速。

过程简述:

1.POST(加电自检) :主要负责检测系统外围关键设备(如:CPU、内存、显卡、I/O、键盘鼠标等)是否正常。

2.boot sequence(选择启动设备) :按次序查找各引导设备,第一个有引导程序的设备即为本次启动要用到的设备;

上述两个功能都由BIOS来完成,BIOS(Basic Input / Output System),又称基本输入输出系统,是一个固化在ROM中的软件,是 *** 作系统输入输出管理系统的一部分。

3.bootloader(引导加载器):

Linux下的引导加载器有grub leancy和grub2两种,Cenos6中使用的是前者。

MBR(主引导记录):

MBR的共由512字节组成,前446字节存放的即是bootloader。所以在选定启动设备后,收件是读取MBR中的bootloader,打开grub菜单。

grub:

功能:提供一个菜单,允许用户选择要启动的系统或不同的内核版本; 把用户选定的内核装载到RAM中的特定空间中,解压、展开,而后把系统控制权移交给内核;

gurb的实现共有3个阶段:

1st stage:位于MBR的BootLoader中,用来加载2nd stage到内存中。

1.5  stage:1和2的桥梁,用来驱动文件系统来使1阶段过渡到2阶段。

2nd stage:grub核心,/boot/grub,存放在磁盘分上,用于加载内核文件。

4.加载内核

分四个步骤:

探测可识别到的所有硬件设备;

加载硬件驱动程序;(有可能会借助于ramdisk加载驱动)

以只读方式挂载根文件系统;即rootfs

运行用户空间的第一个应用程序:/sbin/init。

内核文件:/boot//vmlinuz-VERSION-release,ramdisk文件/boot/initramfs-VERSION-release.img。

        在上述的内核启动后,后续的 *** 作都交给init程序来完成。/sbin/init程序是用户空间的第一个程序,主要完成系统初始化,步骤如下:

设置默认运行级别:

         运行级别的配置文件为/etc/inittab,共0-6七个运行级别,可以在该文件中自主定义,下次启动默认进入指定的运行级别。

 运行系统初始化脚本:

        /etc/rc.d/rc.sysinit即为系统的初始化脚本,系统通过自动执行该脚本,从而完成对系统的设置和信息的初始化。

关闭对应级别下需要停止的服务,启动对应级别下需要开启的服务:

        这里主要是指通过chkconfig所配置的开机自动启动或者关闭的各类服务。

设置登录终端:

 启动图形终端:级别5需要启动

GRand Unified Bootloader,系统启动后会首先打开一个grub菜单,上图所示,可以自主选择内核、定制内核参数。grub由三个阶段组成,1st stage,1_5stage以及stage2,stage2和内核文件等通常放置于一个基本磁盘分区。

grub有自己的命令行接口:

配置文件说明:/boot/grub/grub.conf

kickstart是什么

        许多系统管理员愿意使用自动化的安装方法来安装linux系统。为了满足这种需要,红帽公司建立了kickstart安装方法。使用kickstart自动化安装,系统管理员可以创建一个ks文件,该文件包含了在典型的安装过程中所遇到的问题的答案。

        Kickstart文件可以存放在一个固定的位置上,在安装过程中被独立的机器所读取。这个安装方法可以支持使用单一kickstart文件在多台机器上安装Linux系统,这对于网络和系统管理员来说是个理想的选择。

如何执行kickstart安装

        kickstart 安装可以使用本地光盘,本地硬盘驱动器,或通过 NFS、FTP、HTTP 来执行。

        要使用 kickstart,必须:

                1.创建一个正确的kickstart文件。

                2.创建有kickstart文件的引导介质或者让主机可以通过网络访问该文件。

                3.筹备安装过程。

                4.开始kickstart安装。

创建kickstart配置文件的方式:

   1.  文本编辑器编辑生成:vim

   2. 用图形化界面配置:system-config-kickstat(需要安装system-config-kickstart.noarch包)

步骤:

创建光盘根目录

复制光盘下的isolinux目录到根目录下

赋予isolinux里的所有文件和目录写权限(这样就可以自定义isolinux.cfg文件)

复制修改好的ks文件到myboot目录下(这里myboot目录相当于光盘的根目录)

建立镜像

因为项目需要(实际是没有人手。。。),需要搞开发的我自己来搭建服务器集群环境,并完成软件服务的自动化部署。本文及后续文章,记录运维部署自动化实践中的每一步工作,便于以后追踪参考。

本文先完成第一步工作:远程自动化安装Linux系统

技术方案选择:PXE+dhcp+tftp+kickstart 安装ubuntu16.04 server

宿主机:ubuntu16.04 desktop

目标服务器:(1)Dell Poweredge R540

(2)VMware虚拟机

安装镜像: ubuntu-16.04.5-server-amd64.iso

安装isc-dhcp-server

sudo apt-get install isc-dhcp-server

修改/etc/default/isc-dhcp-server

修改/etc/dhcp/dhcpd.conf,添加如下配置:

运行dhcp服务

sudo service isc-dhcp-server start

安装tftpd-hpa

sudo apt-get install tftpd-hpa

修改/etc/default/tftpd-hpa

创建tftp目录

sudo mkdir /var/lib/tftpboot

sudo chmod 777 /var/lib/tftpboot

运行tftp

sudo service tftp-hpa start

安装apache2

sudo apt-get install apache2

apache 默认的根目录是/var/www/html ,使用默认配置启动apache

sudo service apache2 start

通过浏览器访问http://192.168.1.110 测试http服务已开启

从修改内容看出,主要是为了添加pxe服务器的地址,以便目标机能够找到对应的ks.cfg以及seed文件。

将ks.cfg文件拷贝至http根目录

sudo cp ks.cfg /var/www/html/

Dell服务器与虚拟机均可自动开启安装过程,虚拟机全程无干扰安装完毕。

Dell服务器安装过程中报错:

the partition table format in use on your disks normally requires you to create a separate partition for boot loader code. this partition should de marked for use as a "reserved bios boot area" and should de at least 1 mb in size. note that this is not same as a partition mounted in /boot.

if you do not go back to the partitioning menu and correct,boot loader installation may fail later,although it may still be possible to install the loader to a partition.

在这一步卡住后安装程序无法自动执行,我手工点击忽略后系统也能够继续安装完毕。

网上各种搜,看到一些评论说debian系的linux不建议用kickstart安装,建议直接使用preseed配置来安装,接下来研究下看看能不能解决问题。

问题链接: https://serverfault.com/questions/658070/kickstarting-ubuntu-14-04-how-do-i-create-an-efi-boot-partition-from-my-ks-cf

下一章: 运维部署自动化实践(二)PXE+Preseed自动安装Ubuntu16.04 server


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

原文地址: https://outofmemory.cn/yw/8935536.html

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

发表评论

登录后才能评论

评论列表(0条)

保存