- 论坛徽章:
- 0
|
本文系作者原创,转载请保留出处:
http://marion.cublog.cn
。否则,作者将保留追究其一切责任的权利。
ttylinux是一个基于2.6版内核、体积非常之小(5M左右的LiveCD)的Linux,其项目地址为
http://minimalinux.org/ttylinux/
。它运行于i486以上平台的PC机上,安装之后,ttylinux的文件系统也只有8M大小,但却提供了一个完整的shell环境,并且可用来访问Internet。
ttylinux可以为嵌入式应用提供一个实用的平台,也可以将其安装于U盘等移动存储上以提供一个便携的Linux系统。你甚至还可以将其安装在硬盘上。
官方提供的ttylinux LiveCD(包括安装到其它存储设备上以后的系统)的bootloader是LILO,这对于今天普遍使用的较大容量硬盘来说,可能会带来一些替在的问题。本文即用来说明如何将利用官方的ttylinux将其制作为一个grub引导的LiveCD,以及如何通过简单的复制将其安装在硬盘上和如何以“安装的方式”将其安装于硬盘。
前提:你需要一个Linux宿主机来实现以下过程。本文中采用的是Redhat Enterprise 5,如果您采用的是其它GNU/Linux发行版,某些文件的路径可能会有所不同,请按需修改。
一、制作一个基于grub引导的ttylinux LiveCD
1、创建iso目录作为制作LiveCD的根的目录,并在其中创建grub所需的目录
# 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/bootcd-i486-9-RC1.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已经制作完成了。您可以使用虚拟机,或刻录成光盘来引导您的系统了。
二、以类似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
分区过程略…………
接着去格式化新建分区,并挂载至某目录(这里为/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/bootcd-i486-9-RC1.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。
三、安装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
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/24866/showart_2118188.html |
|