B:Linux&嵌入式|把DamnSmallLinux(DSL)安装到硬盘(虚拟机)并安装GCC

作者:liguisen blog:http://blog.csdn.net/liguisen/
DamnSmallLinux(简称DSL)是一种LiveCD版本的linux,简单来说就是把它刻录到光盘,然后在pc里面从光盘启动,就像使用一个安装在硬盘的完整操作系统一样。
与平时使用的安装在硬盘的操作系统最大的区别就是:
你所做的一切改动都仅限于在内存,因为它虚拟了一个ramdisk在内存。因此,当你重新启动系统或者关机,所做的改动都消失,不能保存任何数据(你在中间mount了设备然后写进去那是另外一回事),这是当然的,光盘是只读的嘛,数据往哪里保存呢?
LiveCD一般有如下两个用处:
1,仅做演示用,不涉及任何用户数据,或涉及临时数据,例如从网上down。
2,检测硬件,这种情况一般是怀疑安装在硬盘的操作系统受到损坏,利用CD上好的OS检测。
因此,一般情况下不会有人把LiveCD安装在pc的物理硬盘使用,那样还不如安装发行版呢。最通常的用法就是刻在CD使用。还有一种特殊要求,就是需要一个完整的可以保存数据的体积小的OS。我的目标是这样的:一个完整的OS,可保存数据,带GCC,小于250M(可以放在256M U盘)因此我想把它安装在一个虚拟机的硬盘里面!我使用的虚拟机软件是VirtualPC_v5.2。
第一步:当然是下载DSL啦。
很多地方都可以下载,官方下载页面:
http://www.damnsmalllinux.org/download.html
我选了第二个:
ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/
里面有几个版本,它们的区别请看里面的1-readme_first.txt
我下载的是里面的dsl-3.0.1.iso,50M
第二步:启动vpc,新建一个系统。
第三步:在vpc载入下载的ISO文件,重新启动,就好像平时一样开始使用DSL啦。
第四步:对新系统的硬盘进行分区、格式化处理。
原来我是没有任何处理的,因为VPC的映像文件是动态增加的,即实际系统有多少内容,文件就有多大,结果我把DSL安装到硬盘后,映像文件增加到500多M,不能满足我开始的目标。因为在把DSL安装到硬盘的过程中它提示最少需要200M,因此我怀疑是VPC自己的问题。在第二次安装过程中,我先用cat /proc/partitions查看系统认出的设备,然后对新系统的硬盘进行分区(使用cfdisk /dev/hda1),分了300M做主分区(虽然如此,在物理硬盘中也大概只有2M),剩下的我就不管了,呵呵,反正硬盘是动态增加的。然后还可以选择使用mkfs进行格式化(这一步不是必须的)。
第五步:安装到硬盘
有两种方式,一种是在桌面右键->Apps->Tools->Install to Hard Drive
另一种是在root用户下输入dsl-hdinstall(位于/usr/sbin/dsl-hdinstall)安装
安装过程很简单,中间有几个选项需要进行选择,不难。最后的引导网上说grub有问题,我第一次选了grub,重新启动确实不能进入,因此这一次选了lilo,没有问题(也无需像网上说的那样要修改什么东西)。
文件复制完毕后重新启动,默认进入字符模式,DSL用户,好像还要为他们填上密码什么的。我在第二次启动时不知道做了什么操作,居然提示说硬盘是只读的(补记:其实只是fsck失败而已,呵呵),不过它自己也提示了可以remount成读写的,并且命令都给出来了,呵呵。嗯,startx可以顺利进入图形界面。
第六步:DSL的配置
我没有做任何配置的改动,VPC的网络使用虚拟转换模式,我的网络环境是ADSL MODEMN->无线路由器->交换机->pc,我什么都没有做DSL就可以上网了。不过奇怪的是有一次重新启动DSL竟然没有找到网卡!(幸亏后来好了)。还有,我下载的DSL不支持中文,是个问题,但不大:)可以在网上寻找汉化过程。
第六步:安装GCC
DSL是没有GCC的,DSL官方提供一个gcc1.dsl的包(约18M),提供gcc, g++, make等:http://ftp.belnet.be/packages/damnsmalllinux/mydsl/system/gcc1.dsl
呵呵,前提条件是你的DSL现在可以上网了。
下载回来之后
# mydsl-load gcc1.dsl
之后就可以用了。

注意:操作过程中可能需要root身份,输入如下命令即可:
sudo su root

在安装GCC之前,硬盘映像文件大概是170M(记不清了,反正不到200M),下载了gcc1.dsl安装后变成230M左右,我删掉了gcc1.dsl,然后用RAR标准压缩,呵呵,变成了75M,这倒是我没有想到的。因为我们是搭配VPC使用,如果在目标机器(移动使用DSL时)没有安装VPC,那么我们还要在U盘放一个VPC准备安装的,因此即使到时要解压DSL也没关系啦。如果想真正免安装,那么我推荐你使用QEMU这个虚拟机软件。

顺便提供网上一个帖子给大家参考:
http://www.linuxsir.org/bbs/showthread.php?t=231376
网友daha:
先用光盘引导进入,可以在vmware里用iso镜像模拟光驱 ,
然后用/usr/sbin/dsl-hdinstall 来装
不过 引导部分比如lilo 虽然已经装了,还需要自己配置,可能第二行要注销掉(我用的版本是这样),append=那两行注销掉,另外vga=791那行最好也注销掉。
因为lilo修改配置后要再运行lilo命令才能生效,所以还需要从另一个linux系统chroot过去执行lilo ,当然也可以从
光盘上的linux chroot到硬盘上的linux上。
如果装到硬盘上的DSL可以引导 但是在ACPI部分死机 需要在lilo.conf 里的append=部分加入acpi=off,
比如改成 append="acpi=off"
这样应该可以凑合着运行起来了,默认进入字符模式, 用户名是dsl 一般操作可以sudo 实在不行试试这样
sudo su root ,
但是不论是以dsl还是root身份 startx 都 有问题,进不了图形界面
有谁能够进入图形界面吗?指点一下


网友spring@sir:
将dsl.iso下载并解开,主要是解开其boot/syslinux中的linux24和minirt24.gz,并将knoppix目录拷贝到fat类(fat16,fat32都行)的第一个盘,比如我的硬盘分区为hda1(windows中为C:盘)为ntfs,hda5(windows中为D:盘)为fat32,则将上述文件均拷至hda5上,下载loadlin至上述目录.
编辑linux.bat:
loadlin linux24 initrd=minirt24.gz root=/dev/ram ramdisk_size=100000 initrd=/etc/init
然后用windows98类的盘启动至had5为C:
cd knoppix
linux
这是poorman install
注意上述knoppix必需是dos下的第一个盘.
这样安装的好处是每次升级只将上述linux24,minit24.gz,knoppix三个文件解开后直接覆盖就行,其他dsl、tar.gz、uci包都不用更改,当然包要放在上述windows98类的盘启动至had5为C:的根目录下。

如果用dsl自带的命令也可,但是mrb会被改写
用dsl启动机器,右键桌面->app->HDinstall然后按指令或
http://www.damnsmalllinux.org/dsl-hd-install.html
还有grub的安装:
http://www.damnsmalllinux.org/wiki/i...nstalling_Grub
还有usb的安装:
【B:Linux& 嵌入式|把DamnSmallLinux(DSL)安装到硬盘(虚拟机)并安装GCC】http://www.damnsmalllinux.org/wiki/i...hp/USB_Booting

    推荐阅读