存档

文章标签 ‘Joolix’

Joolix-live project

2009年11月4日
Comments Off

我已经将 Joolix 的 initrd hook 及 app 制作环境等分离出来,在 google code 上面建立了一个工程, 目的是大家一起来完善这些脚本,使 Joolix 更加稳定、好用,欢迎有意愿的童鞋踊跃参加这个工程。

具体的情况请移步项目主页 http://code.google.com/p/joolix-live/

现在项目刚刚开始,很快会有 roadmap 出来。

Joolix ,

joolix 2009 beta1 放出

2009年8月16日

在这里:http://ftp.ubuntu.org.cn/home/xiooli/JOOLIX/joolix-2009/
帐号: ubuntu
密码: ubuntuftp
感谢 ubuntu 中文论坛的 ftp 空间。

ftp 目录结构如下:

../
apps/ 15-Aug-2009 16:23 -
tools/ 15-Aug-2009 16:25 -
md5sum.txt 15-Aug-2009 16:36 439
skel.tar.gz 15-Aug-2009 16:31 8102719

apps 里面是所有的 app 模块,前面数字小于50的是基础模块,大于等于50的是应用程序。
tools 里面现在就只有一个制作 app 模块的脚本,注意,这个脚本需要有一些 app 模块的支持。
skel.tar.gz 里面是整个系统的基本框架和安装到 u 盘的脚本和制作 iso 映像的脚本。

使用方法:

下载 skel.tar.gz, 将其解压到某处(如 U 盘的根目录),你会看见两个目录: boot 和 JOOLIX, boot 不用管, 将下载下来的 app 模块放到 JOOLIX/apps 里面。 app 模块按需要下载,最基本的命令行系统至少需要 001-core.app 和 002-kernel.app, 要有 X 支持的话就需要 003-xorg.app, 还有一个基本的 e17 桌面环境。
放好以后如果想安装到 U 盘的话就执行 boot/bootinst.sh 或 boot/bootinst.bat, 注意要 root 权限。
要想制作 iso 的话就运行 JOOLIX/makeiso.sh 或 JOOLIX/makeiso.bat。

匆忙之间,很多疏漏,欢迎大家使用并提出宝贵意见/建议,及共享用 mkapp.sh 制作出来的 app 模块,谢谢支持!

Joolix ,

joolix 2009 提前预览

2009年8月13日
Comments Off

RT,看个热闹哈,还有几样东西没有完成,可能还要等一段时间才放出测试。

大家请移步 http://forum.ubuntu.org.cn/viewtopic.php?f=33&t=220549 观看哈。

Joolix ,

关于版本号

2009年8月7日
Comments Off

设想系统的主版本号用年数表示,软件包(app模块)的版本号就用其中最主要程序的版本号,命名规则是前面加上表示优先级的数字(3位)-接模块名_接版本号.app。

例如:

将发布的 joolix 版本就定为: joolix 2009
今天压制的软件包比如 kdemod-kdemultimedia-juk 就是 00x-kdemod-kdemultimedia-juk_4.3.0-3.app, 或者觉得长的话就省掉中间的,成为 00x-kdemod-juk_4.3.0-3.app

还有关于版本昵称,采用同 ubuntu 相同的命名策略,joolix 2009 就叫 Crazy Crab

大家觉得怎么样阿?

Joolix ,

成功启动基本系统

2009年8月6日
Comments Off

RT

基本系统已经成功用新制作的 initrd.gz 引导启动鸟!

看看视频吧。 ps:youku 的压缩真是无敌阿,呵呵。 启动背景还没来得及换新的,先用旧的将就着吧。

Joolix ,

新版 JOOLIX 的进展

2009年8月5日
Comments Off

现在还在进行基础性的制作,进展如下:

1) 基本系统

基本系统的模块已经做好了,只是稍微有点大(96.3 M),还有很大的精简余地。

2) initrd.gz 和 vmlinuz

重新制作了initrd.gz(以前是直接用的从slax那里下载的内核),采用了最新的内核 2.6.30-ARCH,借鉴了 larch 的 hook 插入方式,用普通的 mkinitcpio 法制作 initrd.gz,不再需要给内核打补丁和重新编译(因为是软件模块是用的 squashfs 格式而不是 slax 的 squashfs-lzma 格式压缩,而 squashfs 是已经进入了内核的)。所插入的两个 hook 是基于 larch 的 larch1 和 larch3, 几乎重写。呵呵,写这个东西真的很累,但是也能学到东西哦。

现在 initrd.gz 的制作几乎和发行版无关了(虽然没实验过,不过从脚本来看确实是这样的),只有系统上有 mkinitcpio 就可以制作,不必给内核打补丁和重新编译内核。

3) 模块制作环境

上回书写到想写一个创建模块的工作环境,现在也已经完成了,不过有一点和以前想的不太一样,就是大小问题,必须要依赖一个基本系统的模块(或其他你要制备的模块想要依赖的软件模块),也就是说如果想在基本系统(就是最小的那个命令行系统)制备软件的话就必须要有这个基本系统的模块才行。除却这个问题以外还基本完美,制备出来的软件模块应该就可以直接用并且很干净,还有就是这个工作环境也是发行版无关的,只要你的 linux 系统支持 squashfs 和 aufs 就可以。

其原理是将以 squashfs 格式压缩的基本系统模块挂载到一个目录 A,这个是只读的,另外还有几个目录,比如 B 是用来保存变化后的文件的,还有一个 fackroot 目录和一个目录 C 用来记录你不想压制到软件模块里面的数据。

用 aufs 挂载这几个目录,其挂载方式如下:

mount -t aufs br:B=rw:A aufs ./fackroot

这样所有的变化都会保存在可读写分支 B 里面,然后将不想要压入模块的目录比如 /var/lib/pacman/sync 绑定到目录 C, 将 /sys, /proc, /dev 等绑定到 ./fackroot 下的同名目录,然后 chroot 到 ./fackroot 就可以在里面安装软件了,最后将所有的东西卸载掉,所安装软件的文件就只存在于 B 目录了,然后将 B 目录整个压制成模块就可以了,哈哈,是不是很聪明阿。

接下来的工作就是精简基本系统,然后就是实现上回所说的那另外几项东西了。



Joolix ,

新版 JOOLIX 的计划

2009年8月1日

RT
joolix 8.04.1-1 已然有些陈旧了,是时候推出新版本了,在这里写些关于新版本的计划和目标,各位童鞋有什么建议的话请跟评论提出哈。

计划:

1) 基于 archlinux 构建
理由:8.04 是基于的 ubuntu jeos,优点是基本系统很小,但是我对 debian 系 linux 的系统配置不熟悉,arch 的系统配置非常简单,且针对 i686 优化,速度上可能会快些,包管理强大简洁,kdemod稳定等等,最主要的原因是配置简洁。现在基本系统已经差不多做好了,除了内核外其他软件均为当前最新版本。

2) 实现模块最小依赖

让模块尽量不依赖其他模块,仅仅一两个基本模块。比如 kde 软件就最多依赖 kdebase(内含qt库和kde runtime之类的东西) 。

3) 实现软件的拖放安装/卸载

建立一个特殊的目录,模块(或可以看作软件安装包)拖放到此目录即完成安装,从其中拖出即完成卸载,至少从视觉上实现所谓“绿色软件”

4) 添加安装到硬盘的功能

让 joolix 不仅能在光盘和 u 盘上使用,还能容易的安装到硬盘。设想能安装到 win 分区或 linux 分区而不破坏原有系统,或新划分区像普通 linux 那样安装。安装过后的系统仍然支持以拖放的方式安装软件。

5) 写一个创建模块的工作环境

设想使用 aufs 和 chroot 来达到此目的,整个环境可以不依赖真实的 joolix 系统,在任何支持 aufs 的 linux 系统上均可创建 joolix 模块,体积不必很大, chroot 里面的命令计划用 busybox (不知道这些命令够用不) 加一些必须的程序。

使用这个环境主要是因为有些程序安装的时候会执行一些脚本,如果仅仅将这个程序压成模块的话有些步骤就不会进行,而在一个虚拟的环境下先将这些程序安装上,那它安装的整个过程都是走完了的,这样的话可能会比较少出问题。

有了这个环境,大家就可以方便的自己创建 joolix 模块了。

6) 桌面环境用 kde4.3

用 arch 的 kdemod 可以很方便的取舍不想要的 kde 软件,最终搭建一个华丽的桌面环境,当然可能会有点大,但是现在谁家的 u 盘不是好几个 G 的呢。当然也可能会创建几个轻量级的桌面环境。

以上就是我的一点想法和计划,大家有什么意见和建议的请踊跃提出哈。

Joolix , ,

为JOOLIX保存数据的CHANGES文件下载

2009年2月18日

RT
极小的压缩包,里面有不同大小的CHANGES文件的压缩包,按照你自己的需要解压相应的压缩包即可得到对应大小的CHANGES文件,然后将其复制到JOOLIX目录下即可。

1
2
3
xiooli(~)>> ls CHANGES
CHANGES-100m.tar.bz2  CHANGES-300m.tar.bz2  CHANGES-500m.tar.bz2
CHANGES-200m.tar.bz2  CHANGES-400m.tar.bz2  CHANGES-50m.tar.bz2

下载地址:点我

Joolix , , ,

如何创建能供joolix使用的lzm模块

2009年1月6日

本来计划做一个lzm模块制作环境,但是最近很忙(要写论文阿:(),就先把比较原始的制作方法写出来咯。
因为joolix是使用修改过的slax的那套脚本制作出的,所以制作lzm模块和slax制作lzm模块大同小异,在JOOLIX/tools目录里面你可以看到如下一些脚本:

deb2dir dir2lzm lzm2dir tgz2lzm deb2lzm

这些脚本就是今天的主角,分别介绍下它们:
deb2dir: 将deb包(们)转换成目录,你可以到目录里面删除不要的东西或者改写一些配置。
用法:

deb2dir source_filename.deb(s)
#参数支持正则表达式,转换好的目录在/tmp/debs2dir_xxxx

dir2lzm: 将目录转换成lzm模块。
用法:

dir2lzm dir xxx.lzm

lzm2dir: 将lzm模块还原成目录,可用于将不满意的lzm模块重新配置/加工。
用法:

lzm2dir xxx.lzm dir
#注意dir一定要是已经存在的

tgz2lzm:这个主要是将slackware的包文件转换成lzm,joolix里面几乎不会用到。
用法:

tgz2lzm xxx.tgz xxx.lzm

deb2lzm:将deb包转换成lzm模块,只能转换单个的deb包,要想转换几个deb包(常有一个软件依赖很多包的)得先用deb2dir将这些包解出成目录,然后再用dir2lzm脚本将目录转换成lzm模块。
用法:

deb2lzm xxx.deb xxx.lzm

为了使用方便,你可以将deb2dir dir2lzm lzm2dir tgz2lzm deb2lzm及liblinuxlive复制到/usr/bin等地方,然后直接作为命令使用他们。
这样制作lzm模块不太方便,不过暂时就先这么着吧,不好意思了。。

Joolix , , ,

使U盘中的Joolix能自动保存数据

2009年1月4日

制作好的CHANGES文件可以去http://joolix.com/2009/02/changes-files-for-joolix下载。

在很多情况下我们都希望U盘系统能够保存使用时产生的数据(废话,不能保存数据那除了用来尝尝鲜以外还能干什么?)
其实,让Joolix自动保存数据是非常简单的一件事,应为你只需要在JOOLIX目录下创建一个名为CHANGES的块文件(因为U盘是fat32格式的,所以貌似大小写并不重要,不过由于在boot/joolix.cfg文件里面的启动参数里CHANGES是用的大写,那大家还是记得用大写命名吧),然后将其格式化为ext3等linux文件系统(因为win的文件系统不能保存linux文件的权限等信息)就可以了。具体怎么做呢,请看下面步骤:
一,创建一个块文件
假设你想建立一个10m大小的块文件。

1
2
#创建块文件
head -c 10m /dev/zero>CHANGES

二,格式化块文件

1
2
3
4
5
6
7
8
#格式化成ext3格式
mkfs.ext3 CHANGES
#试试能不能用(此步不是必须步骤)
mkdir changes
sudo mount -t ext3 CHANGES changes -o loop
#如果一切正常,你打开changes目录应该能看见一个lost+found的目录
#umount
sudo umount changes

三,扔到JOOLIX目录
把CHANGES文件复制到你U盘的JOOLIX目录下面即可,当你使用过joolix后,下次再启动joolix,你会惊奇的发现以前的使用更改都还在哦:)
四,没了:)
有同学问了,在windows下怎么做呢?额,在windows下就麻烦了,因为我也不知道欸,要不你先启动到joolix下面?呵呵。

Joolix , , ,