制做一个grub引导的10M大小ttylinuxlinux
1、基于宿主机的liveCDttylinux ;shell
2、基于宿主机的硬盘的ttylinux;vim
3、基于live CD的硬盘安装ttylinux;(可扩展其它内核的安装)bash
ttylinux是一个基于2.6版内核、体积很是之小(10M左右的LiveCD)的Linux,其项目地址为http://minimalinux.org/ttylinux/。它运行于i486以上平台的PC机上,安装以后,ttylinux的文件系统也只有12M大小,但却提供了一个完整的shell环境,而且可用来访问Internet。
网络
ttylinux能够为嵌入式应用提供一个实用的平台,也能够将其安装于U盘等移动存储上以提供一个便携的Linux系统。你甚至还能够将其安装在硬盘上。官方提供的ttylinux LiveCD(包括安装到其它存储设备上之后的系统)的bootloader是LILO,这对于今天广泛使用的较大容量硬盘来讲,可能会带来一些替在的问题。本文即用来讲明如何将利用官方的ttylinux将其制做为一个grub引导的LiveCD,以及如何经过简单的复制将其安装在硬盘上和如何以“安装的方式”将其安装于硬盘。ide
前提:你须要一个Linux宿主机来实现如下过程。本文中采用的是Redhat Enterprise 5,若是您采用的是其它GNU/Linux发行版,某些文件的路径可能会有所不一样,请按需修改。oop
1、制做一个基于grub引导的ttylinux LiveCDui
1、建立iso目录做为制做LiveCD的根的目录,并在其中建立grub所需的目录spa
# mkdir -pv iso/{ttylinux,boot/grub}命令行
2、复制grub可引导的光盘所需的引导程序
# cp /usr/share/grub/i386-redhat/stage2_eltorito iso/boot/grub
说明:若是您须要之后面的第三种方式实现硬盘安装,上述的命令须要以以下命令替换:
# cp -rv /usr/share/grub/i386-redhat/* iso/boot/grub
3、将下载到的ttylinux iso镜像文件(这里在root用户主目录中)挂载至某目录,并拷贝其文件
# mount -o loop /root/ttylinux-i486-9.4.iso /media/cdrom
# cp -rv /media/cdrom/boot/* iso/ttylinux/
4、为grub创建配置文件
# vim /root/iso/boot/grub/grub.conf
添加以下内容:
default 0
timeout 10
color light-green/black light-magenta/black
title My ttylinux(ttylinux-9-RC1)
root (cd)
kernel /ttylinux/vmlinuz load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=8192 ro root=/dev/ram0
initrd /ttylinux/filesys.gz
5、执行以下命令,建立iso镜像:
# mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o ttylinux.iso iso
好了,到此为止一个grub引导的ttylinux LiveCD已经制做完成了。您可使用虚拟机,或刻录成光盘来引导您的系统了。
2、以相似LiveCD方式运行的基于硬盘(此处亦能够是U盘)的ttylinux
前提:制做时须基于宿主机进行,事先将硬盘(或U盘)添加至宿主机后启动宿主机。这里添加了一块新IDE硬盘至宿主机。
1、在新硬盘上新建分区做为boot和ttylinux的分区,先查看新增的硬盘的编号
# fdisk -l
Disk /dev/hda: 42.9 GB, 42949672960 bytes
15 heads, 63 sectors/track, 88768 cylinders
Units = cylinders of 945 * 512 = 483840 bytes
Disk /dev/hda doesn't contain a valid partition table
分区过程略………… 查看分区类型:fdisk –l
接着去格式化新建分区,并挂载至某目录(这里为/mnt/hda1):
# partprobe
# mkfs -t ext3 /dev/hda1
# mkdir /mnt/hda1
# mount /dev/hda1 /mnt/hda1
2、为新硬盘安装grub,以使得其之后可自动引导OS
# grub-install --root-directory=/mnt/hda1 /dev/hda
3、将下载到的ttylinux iso镜像文件(这里在root用户主目录中)挂载至某目录,并拷贝其文件
# mount -o loop /root/ttylinux-i486-9.4.iso /media/cdrom
# mkdir -v /mnt/hda1/ttylinux
# cp -rv /media/cdrom/boot/* /mnt/hda1/ttylinux/
4、为grub创建配置文件
# vim /mnt/hda1/boot/grub/grub.conf
添加以下内容:
default 0
timeout 10
color light-green/black yellow/black
title My ttylinux(ttylinux-9-RC1 on harddisk)
root (hd0,0)
kernel /ttylinux/vmlinuz load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=8192 ro root=/dev/ram0
initrd /ttylinux/filesys.gz
5、重启宿主机,并经过BIOS设置启动盘为此块新IDE硬盘,便可验正安装效果。固然,您也能够把硬盘移至其它x86的主机上进行启动。
说明:以上两种方式均基于RAMDisk运行,所以基于系统自己所作的设置等工做在重启后均会失效。因此,下面将提供一种彻底基于硬盘运行的ttylinux。
3、安装ttylinux至硬盘
说明:此种方式的实现,须以步骤1中制做完成的LiveCD为基础进行。准备好一台主机,并以制做好的LiveCD启动之。
1、启动此系统,进行基于LiveCD的ttylinux,然后对硬盘进行分区。这里新建了两个主分区/dev/hda1(100M)和/dev/hda2(5G)并分别挂载于/mnt/hda1和/mnt/hda2中。
分区步骤此处略去……
# mkdir -pv /mnt/hda{1,2}
# mount /dev/hda1 /mnt/hda1
# mount /dev/hda2 /mnt/hda2
2、挂载LiveCD至当前系统,并复制所需文件
# mount /dev/hdc /mnt/cdrom
# cp -r /mnt/cdrom/boot/grub/ /mnt/hda1/
# cp /mnt/cdrom/ttylinux/{vmlinuz,filesys.gz} /mnt/hda1/
说明:此处的/dev/hdc为光盘对应的设备文件。若是有所不一样,请用您的实际的设备文件替换此处的/dev/hdc。
3、复制ttylinux系统文件至/dev/hda2
# cp -r /{etc,bin,sbin,var,lib,home,root,usr,dev,tmp} /mnt/hda2
# mkdir /mnt/hda2/{boot,proc,sys,mnt/cdrom}
4、编辑/mnt/hda1/grub/grub.conf,确保其为如下内容:
default 0
timeout 10
color light-green/black light-magenta/black
title My ttylinux(ttylinux-9-RC1 on Harddisk Final)
root (hd0,0)
kernel /vmlinuz ro root=/dev/hda2
initrd /filesys.gz
5、从新启动系统,安装grub至硬盘MBR
在grub的启动界面按"c"键进行grub的命令行模式,然后执行以下命令:
grub> root (hd0,0)
grub> setup (hd0)
6、退出LiveCD光盘,从新启动系统便可从硬盘启动ttylinux了。
下面为补充设置:
7、启动网络功能
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
将
ENABLE=no
修改成
ENABLE=yes
然后使用下面命令启动激活网卡:
# ifup eth0
8、设置root用户的环境,增长环境变量PS1
# vi /root/.bash_profile
添加以下行:
export PS1='[\u@\h \W]'\#
然后从新读取该文件
# source /root/.bash_profile
9、修改主机名
# vi /etc/HOSTNAME
修改里面的字符串为您所但愿的主机名便可。
10、修改/etc/fstab,使用其开机能正常挂载所需文件系统
/dev/hda2 / ext3 defaults 1 1
/dev/hda1 /boot ext3 defaults 1 2
tmpfs /dev tmpfs noauto 0 0
devpts /dev/pts devpts gid=5,mode=0620 0 0
tmpfs /dev/shm tmpfs rw,noexec,nosuid,size=24k 0 0
proc /proc proc noauto 0 0
sysfs /sys sysfs noauto 0 0
------------------------------- 结束符-------------------------------