高中时──那时我家附近购买一片2G的SD卡还需要50元──我就想在U盘上构建一个能启动计算机的系统。这是一个很酷的主意:想开机?先插入一张卡片吧。
进而想到,如果这个系统在启动之后,可以把U盘拔掉,就更酷了。如果我把系统玩坏了,直接重启一个就好。而且一般情况下,我甚至不一定需要硬盘。这样我的系统就完全把它的数据放在内存中。任何时候,只要关闭计算机,所有的隐私就都没了。
这个目标我正在用Slax实现。这是一个安装起来非常简单的操作系统:
安装
首先,下载Slax-6.1.2 for USB,这个百度一下就能找到。文件大约有200MB。
在Windows下,解压后应该能看到两个目录:boot和slax。
准备一张U盘,大于512MB的比较好。我用8G的,这样可以存很多模块。格式化成FAT32。
将解压后的两个文件夹放进U盘。
然后,在“开始”>“运行”中,输入cmd回车,启动命令行。进入U盘的boot下,运行bootinst.bat,就自动设定U盘的MBR。注意阅读提示!确定是设定U盘的MBR!
当提示“… should be bootable now.”的时候,就可以了。
关于使用你的系统
现在如果重启,你的U盘应该就可以引导了。当然别忘了设置BIOS的选项。
但是先等下!
重启后引导,你应该会看到Slax的LILO给出的选项。如图。
解释一下各个选项的意义:
- Slax Graphic Mode(KDE) 以图形界面方式进入。这是默认方式。修改视情况可能保存在U盘上。这种引导不能拔掉U盘。
- Slax Always Fresh 不能拔U盘。这次的修改不会被保存。
- Slax Copy To RAM 将Slax拷贝到内存运行。引导后可以拔掉U盘。但是对于一些计算机可能出现问题。
- Slax Text Mode 引导到文本界面。默认root密码是toor,进入后也许可以用startx命令进入图形界面。
- Slax as PXE Server 将Slax以图形界面启动,作为PXE服务器,可以带起局域网的其他计算机启动,如果那些计算机的BIOS支持并且使用了网络引导的话。 其他选项我没用过,不能解释。
如果你想在启动之后拔掉U盘,请使用Slax Copy To RAM模式。但是这种模式可能遇到一些问题。我遇到的一个是卡在EDD Probing什么的步骤上了。为了解决这个问题,请在其他操作系统上预先修改U盘/boot/slax.cfg这个文件:
- 找到
LABEL copy2ram
这一行,向下看,寻找最近一行开头是KERNEL
的 - 在KERNEL这一行末尾,加空格,然后加上参数:
edd=off
- 保存文件
这似乎可以解决。
个性化你的系统
开机界面
用自己的图片替换slax/slax.png
这个图片吧。配色什么的,修改boot/slax.cfg
。
模块化
没有汉化的slax甚至连汉字目录都不一定认识。另外也没有中文输入法。幸好,Slax有一种简单的模块设计,让我们可以快速地修改。
模块是一些小的文件,后缀为.lzm,其实包含的就是一些按照一定结构存储的文件数据。在引导时,这些文件被拷贝到系统中,就直接实现了修改。
模块在slax/base
和slax/modules
中。第一个目录中的模块似乎应当按照顺序数字命名,因为在加载模块时它们是按照顺序依次加载的。第二个目录中则不必如此,它里面的模块是在第一个目录中的模块都加载之后进行的。
为了汉化,到slax.org这个官网中下载一些模块即可。后文将介绍具体哪些模块。
一些可能必要的程序
我在自定义过程中,自己寻找了一些模块,也打包了一些。记录一下。
- 关于
Python
我需要在Slax上运行自己的用Python+Tkinter开发的程序。但是Slax默认是连Python都没有的。安装Tkinter也很麻烦。幸好我找到了一个把这两个放在一起的Python模块,Python版本是2.6.4 。 - 关于
python-m2crypto
为了那些有需要的朋友:这个模块我是自己在slax上编译后打包的。Python自带OpenSSL 0.9.8i。 - 关于火狐 默认是3.5,现在火狐都出到16.0.2了。自己打包。
自己的配置文件如何处理?
-
打包成lzm,开机时载入 为了修改一个包:
1. `lzm2dir somepackage.lzm` 2. `cd somepackage/`,进入修改 3. 重新打包:`cd ..; dir2lzm somepackage/ anotherpackage.lzm`
打包很简单: 1.
mkdir package/
2.cd package
3. 自己建立各种内容。现在package/就相当于以后启动时的/ 4.cd ..
5.dir2lzm package package.lzm
-
少数文件,我建议放在
slax/rootcopy
下。这个目录就相当于启动后的/
。放在里面的文件会对应地拷贝。SSH密钥等我都放在这里。
我的base和modules目录
下面的列表,(如果可以)点击可以找到相应的下载位置。下载到的文件可能需要重命名为列表中的名字。注意扩展名:.lzm。注意我后面可能加注释。
slax/base/
001-core #下载包可能自带
002-101-glibc-i18n-2.7-noarch-17
002-102-kde-i18n-zh-cn-3.5.10-noarch-1
002-xorg #下载包可能自带
003-desktop #下载包可能自带
004-kdeapps #下载包可能自带
005-koffice #下载包可能自带
006-devel #下载包可能自带
008-zh-cn-utf8
009-zh-cn-utf8-dispinput
050-001-swig
050-002-M2Crypto0.21.1-py2.6
050-003-python2.6-libs
100-001-001-firefox-16.0.2-core
100-001-002-firefox-16.0.2-plugins
100-001-003-firefox-16.0.2-customize
100-002-putty-0.60
100-003-python-2.6.4-tcltk8.5.8
100-004-gparted-0.5.2
100-005-truecrypt-7.0
slax/modules/
curl-7.19.2-1
git-1.6.0.3-i486-1
gpg-2.0.9-i486-1
kgpg-3.5.9-2
libksba-1.0.3-1
sim-0.9.5
sim-data-0.9.5
xi-system # 尚未彻底完成
3 条评论
HMX 2012 年 11 月 21 日 21:04
手动斜个眼 ————————————————————————– HMX 2012 年 11 月 21 日 21:14
尼玛的在SB度上搜索Slax-6.1.2 for USB第一个出来的竟然就是NEO大叔的实验室= =…… ————————————————————————– wangyonghe1995 2012 年 11 月 23 日 16:49
蹭机专用^-^