开发者社区> 科技小能手> 正文

Smile>liunx>正文 自己制作的小型linux 系统

简介:
+关注继续查看

Linux 的启动流程:

  1. 加载BIOS的硬件信息与进行自我测试,并依据设置取得第一个可启动的设备。
  2. 读取并执行第一个可启动设备内MBR的boot Loader。(即是GRUB,spfdisk)
  3. 依据boot loader的设置加载Kernel 会主动调用init进程,而init会取得run-level信息
  4. init执行/etc/rc.d/rc.sysinit文件来准备软件执行的操作环境(如网络、时区等)
  5. init执行run-level的各个服务的启动(script方式)
  6. init执行/etc/rc.d/rc.local文件
  7. init执行终端机模拟程序mingetty来启动login进程,最后就等待用户登录

一.基本配置:

示意图:

image

1. 宿主机的配置:

image

image

image

image

 

image

image

2.查看已添加的第二个磁盘

[root@gjp99 ~]# fdisk -l

Disk /dev/sda: 21.4 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sda1 * 1 13 104391 83 Linux

/dev/sda2 14 1288 10241437+ 83 Linux

/dev/sda3 1289 1353 522112+ 82 Linux swap / Solaris

Disk /dev/sdb: 21.4 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdb doesn't contain a valid partition tabl

3.对第二个磁盘进行分区

[root@gjp99 ~]# fdisk /dev/sdb

Command (m for help): n

Command action

e extended

p primary partition (1-4)

p

Partition number (1-4): 1 //第一个主分区作为启动盘

First cylinder (1-2610, default 1):

Using default value 1

Last cylinder or +size or +sizeM or +sizeK (1-2610, default 2610): +100m

Command (m for help): n

Command action

e extended

p primary partition (1-4)

p

Partition number (1-4): 2 // 作为根分区

First cylinder (14-2610, default 14):

Using default value 14

Last cylinder or +size or +sizeM or +sizeK (14-2610, default 2610): +500m

Command (m for help): a //设置启动盘

Partition number (1-4): 1

Command (m for help): p

Disk /dev/sdb: 21.4 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sdb1 * 1 13 104391 83 Linux

/dev/sdb2 14 75 498015 83 Linux

Command (m for help): w //保存

4.查看分区情况:

[root@gjp99 ~]# cat /proc/partitions

major minor #blocks name

8 0 20971520 sda

8 1 104391 sda1

8 2 10241437 sda2

8 3 522112 sda3

8 16 20971520 sdb

8 17 104391 sdb1

8 18 498015 sdb2

5. 对第二个磁盘进行格式化

[root@gjp99 ~]# mkfs -t ext3 /dev/sdb1

[root@gjp99 ~]# mkfs -t ext3 /dev/sdb2

[root@gjp99 ~]# mkdir /mnt/boot

[root@gjp99 ~]# mkdir /mnt/sysroot

[root@gjp99 ~]# mount /dev/sdb1 /mnt/boot

[root@gjp99 ~]# mount /dev/sdb2 /mnt/sysroot

6.自动生成MBR 和 GRUB 第一部分的配置文件

[root@gjp99 ~]# grub-install --root-directory=/mnt/ /dev/sdb

//MBR 和 GRUB的第二段的BOOT都生成了

Probing devices to guess BIOS drives. This may take a long time.

Installation finished. No error reported.

This is the contents of the device map /mnt//boot/grub/device.map.

Check if this is correct or not. If any of the lines is incorrect,

fix it and re-run the script `grub-install'.

(fd0) /dev/fd0

(hd0) /dev/sda

(hd1) /dev/sdb

7.拷贝宿主机的内核和镜像到第二个硬盘上

[root@gjp99 ~]# cp /boot/vmlinuz-2.6.18-164.el5 /mnt/boot/

[root@gjp99 ~]# cp /boot/initrd-2.6.18-164.el5.img /mnt/boot/

8.在根目录下建立比较重要的目录

[root@gjp99 sysroot]# mkdir bin boot dev etc home lib proc root sbin sys tmp usr var

[root@gjp99 sysroot]# chmod o+t tmp //需注意

9. 查看init命令所在的位置

[root@gjp99 sysroot]# which init

/sbin/init

[root@gjp99 sysroot]# cp /sbin/init sbin/ //拷贝init文件到第二个磁盘相同的目录下

[root@gjp99 sysroot]#cd /mnt/sysroot

[root@gjp99 sysroot]# ldd /sbin/init //查看init所使用到的相关系统调用

linux-gate.so.1 => (0x00788000)

libsepol.so.1 => /lib/libsepol.so.1 (0x008a7000)

libselinux.so.1 => /lib/libselinux.so.1 (0x0088d000)

libc.so.6 => /lib/libc.so.6 (0x00110000)

libdl.so.2 => /lib/libdl.so.2 (0x0084e000)

/lib/ld-linux.so.2 (0x006bf000)

例如: 拷贝最后一行:(其实需全部拷贝)

[root@gjp99 sysroot]# cp /lib/libdl.so.2 lib/

10.进入第二个磁盘的根目录:

[root@gjp99 ~]#cd /mnt/sysroot/etc

[root@gjp99 etc]# cp /etc/inittab . //拷贝inittab到当前目录

[root@gjp99 etc]# ls //显示

Inittab

[root@gjp99 etc]# vim inittab //编辑inittab文件

si::sysinit:/etc/rc.d/rc.sysinit //只要这一条

11.新建rc.d 目录 ,配置 rc.sysconfig

[root@gjp99 etc]# mkdir rc.d

[root@gjp99 etc]# ll

total 2

-rw-r--r-- 1 root root 638 Aug 3 19:13 inittab

drwxr-xr-x 2 root root 1024 Aug 3 19:29 rc.d

[root@gjp99 etc]# cd rc,d

[root@gjp99 rc.d]# vim rc.sysinit

#!/bin/bash //命令解释器

/bin/bash

[root@gjp99 ~]# cp /bin/bash /mnt/sysroot/bin/ //拷贝bash目录

[root@gjp99 ~]# ldd /bin/bash //bash相关的系统调用文件

linux-gate.so.1 => (0x009e6000)

libtermcap.so.2 => /lib/libtermcap.so.2 (0x00854000)

libdl.so.2 => /lib/libdl.so.2 (0x0084e000)

libc.so.6 => /lib/libc.so.6 (0x006dd000)

/lib/ld-linux.so.2 (0x006bf000)

必须全拷贝过去,这里是两个实例 (必须全部拷贝到/bin下)

[root@gjp99 sysroot]# cp /lib/libtermcap.so.2 /mnt/sysroot/bin/

[root@gjp99 sysroot]# cp /lib/libdl.so.2 /mnt/sysroot/bin/

12.修改rc.sysinit的权限

[root@gjp99 sysroot]# cd etc/rc.d

[root@gjp99 rc.d]# ll

total 1

-rw-r--r-- 1 root root 22 Aug 3 19:32 rc.sysinit

[root@gjp99 rc.d]# chmod a+x sysinit //给它执行的权限

[root@gjp99 rc.d]# cd

13.拷贝ls命令的相关文件

[root@gjp99 ~]# which ls //查找ls文件所在的位置

alias ls='ls --color=tty'

/bin/ls

[root@gjp99 ~]# cp /bin/ls /mnt/sysroot/bin/ //拷贝到第二个磁盘的bin下

[root@gjp99 ~]# ldd /bin/ls //显示相关的系统调用

linux-gate.so.1 => (0x00f33000)

librt.so.1 => /lib/librt.so.1 (0x0086d000)

libacl.so.1 => /lib/libacl.so.1 (0x00878000)

libselinux.so.1 => /lib/libselinux.so.1 (0x0088d000)

libc.so.6 => /lib/libc.so.6 (0x006dd000)

libpthread.so.0 => /lib/libpthread.so.0 (0x00854000)

/lib/ld-linux.so.2 (0x006bf000)

libattr.so.1 => /lib/libattr.so.1 (0x00b9a000)

libdl.so.2 => /lib/libdl.so.2 (0x0084e000)

libsepol.so.1 => /lib/libsepol.so.1 (0x008a7000)

全部拷贝,实例如下:

[root@gjp99 ~]# cp /lib/librt.so.1 /mnt/sysroot/lib/

14.配置grub.conf

[root@gjp99 ~]# cd /mnt/boot/grub

[root@gjp99 ~]# vim /mnt/boot/grub/grub.conf

default=0  //默认输入的是Linux 可以修改

timeout=5   //超时时间

splashimage=(hd0,0)/grub/welce.xpm.gz //加载的图片

#hiddenmenu   //隐藏GRUB菜单

title Red Hat Enterprise liunx 5.4 (gjp create) // GRUB菜单的标题

root(hd0,0)

kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/sda2 quiet  //内核驱动  只读   硬盘   静默模式

initrd /initrd-2.6.18-164.el5.img  //镜像文件

15.加载图片时应注意一下

  •    用xftp上传文件时,要保证ftp的vsftpd.conf文件的UPLOAD 功能已打开

[root@gjp99 ~]# rpm -qc vsftpd 
/etc/logrotate.d/vsftpd.log 
/etc/pam.d/vsftpd 
/etc/vsftpd/ftpusers 
/etc/vsftpd/user_list 
/etc/vsftpd/vsftpd.conf 
/etc/vsftpd/vsftpd_conf_migrate.sh

  •      保证/var/ftp/pub的权限增加可写
  •      上传后安装gimp绘图工具

[root@gjp99 Server]#ll gimp*

[root@gjp99 Server]#yum install gimp –y

[root@gjp99 ~]#gimp

进入编辑状态,FILE ----open 

image  enter键

image

image

gzip  lzw.xpm   得到xpm.gz 格式的文件

把lzw.xpw.gz格式的文件存放在grub目录

二、测试

1.先新建虚拟机

2.删除已存在的硬盘

3.增加新硬盘,添加过程,注意如下:

image

选择用一个已存在的虚拟盘(我们事先建好的)

image

image

增加宿主机上的第二块硬盘后的效果

 

4.1启动时的GRUB菜单:

image

4.2 启动起来的界面:

image 

(注意,在测试时,必须把宿主机暂停掉),因为我们用的是宿主机的第二块硬盘



本文转自 gjp0731 51CTO博客,原文链接:http://blog.51cto.com/guojiping/955226


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
18870 0
如何设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云安全组设置详细图文教程(收藏起来) 阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程。阿里云会要求客户设置安全组,如果不设置,阿里云会指定默认的安全组。那么,这个安全组是什么呢?顾名思义,就是为了服务器安全设置的。安全组其实就是一个虚拟的防火墙,可以让用户从端口、IP的维度来筛选对应服务器的访问者,从而形成一个云上的安全域。
16674 0
windows server 2008阿里云ECS服务器安全设置
最近我们Sinesafe安全公司在为客户使用阿里云ecs服务器做安全的过程中,发现服务器基础安全性都没有做。为了为站长们提供更加有效的安全基础解决方案,我们Sinesafe将对阿里云服务器win2008 系统进行基础安全部署实战过程! 比较重要的几部分 1.
11526 0
使用NAT网关轻松为单台云服务器设置多个公网IP
在应用中,有时会遇到用户询问如何使单台云服务器具备多个公网IP的问题。 具体如何操作呢,有了NAT网关这个也不是难题。
34093 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
17751 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
23772 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,云吞铺子总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系统盘、创建快照、配置安全组等操作如何登录ECS云服务器控制台? 1、先登录到阿里云ECS服务器控制台 2、点击顶部的“控制台” 3、通过左侧栏,切换到“云服务器ECS”即可,如下图所示 通过ECS控制台的远程连接来登录到云服务器 阿里云ECS云服务器自带远程连接功能,使用该功能可以登录到云服务器,简单且方便,如下图:点击“远程连接”,第一次连接会自动生成6位数字密码,输入密码即可登录到云服务器上。
32309 0
23705
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载