QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1979|回复: 5

用 kadischi 做livecd 也挺好玩的阿

[复制链接]
发表于 2006-10-27 14:04:03 | 显示全部楼层 |阅读模式
What is Kadischi

Kadischi is an application for Fedora-based Live CD generation. It takes a Fedora Core RPM repository as an input and outputs a live ISO9660 CD image.

Kadischi is still in the early stage of development, but has basic functionality and can be run successfully.

How does Kadischi work

Basically, Kadischi uses Anaconda to install the system in a temporary directory (specified in the configuration file) on user's hard drive. It then executes the collection of scripts (stored in /usr/local/share/kadischi/post_install_scripts) in order to modify the system to run successfully in read-only environment (CD). After all modifications are done, Kadischi creates an initrd image, then compresses the system tree (actually, it creates a compressed copy, and then removes the original one), and finally creates an ISO9660 CD image of the system.

Downloading...
export  CVSROOT=:pserver:[email protected]:/cvs/devel
cvs -z3 login
cvs -z3 co kadischi


http://fedoraproject.org/wiki/Kadischi/Documentation#head-db52d38a8ab5d571887a8e60e1cf6ccb5f661edf
 楼主| 发表于 2006-10-27 14:13:39 | 显示全部楼层
How does Kadischi work (in details)

In this section, I'll describe what happens from the moment you run kadischi from the command line, to the moment it writes "Finished" in it's log. If you just want to use Kadischi, you probably don`t need to read this, but if you want to customize your build system or you want to understand how Kadischi works for any other reason, you should continue reading.

When you type kadischi in your command line, /usr/bin/kadischi is executed. It is just a simple bash script which sets PYTHONPATH variable to include Kadischi libraries, and executes /usr/local/share/kadischi/kadischi.py.

kadischi.py is top-level script as such is in charge of coordination between all other elements. It

    *

      processes command line options and arguments
    *

      checks if everything looks OK (the number of given arguments, presence of destination file, UID, presence of required RPMs, config file)
    *

      sets values to variables (from the information it gets from the command line and from the config file)
    *

      creates subdirectory named 'livecd_build_no${number}' under the specified build directory; all temporary files for that build will be stored there
    *

      invokes anaconda; anaconda is run with --rootpath option and all other options specified on the command line (like --kickstart, --cmdline etc.). This is actually the most important part of the process. Anaconda installs the whole system in a directory on the local hard drive.
    *

      invokes scripts from /usr/local/share/kadischi/post_install_scripts passing them as an argument the path to the build tree. Those scripts are used to modify the system in order to work properly from the live CD
    *

      invokes /usr/local/share/kadischi/livecd-mkinitrd.sh which makes initrd image that will be used on the live CD system
    *

      invokes /usr/local/share/kadischi/movefiles.py which moves all the files and directories that should be writable once the live CD is booted to a single directory. That directory is then compressed in kadischi.tar.gz. During the booting of live CD, this archive is unpacked on tmpfs drive, and extracted files and directories are mounted (with mount --bind) to their original locations.
    *

      creates a compressed copy of the whole system (SquashFS (mksquashfs) is used for compression)
    *

      copies some files that shouldn't be compressed (kernel, initrd etc.) from the uncompressed tree to the compressed one
    *

      removes the uncompressed tree
    *

      invokes /usr/local/share/kadischi/create-iso.sh which creates iso image out of the compressed system tree
    *

      cleans up the build directory
回复

使用道具 举报

 楼主| 发表于 2006-10-27 14:17:08 | 显示全部楼层
稍微改改代码 用这个 做个自己的玩玩
回复

使用道具 举报

发表于 2006-12-2 17:57:05 | 显示全部楼层
楼主……
下载地址……
回复

使用道具 举报

 楼主| 发表于 2006-12-3 09:42:35 | 显示全部楼层
Downloading...
export CVSROOT=:pserver:[email protected]:/cvs/devel
cvs -z3 login
cvs -z3 co kadischi
回复

使用道具 举报

发表于 2006-12-3 10:09:42 | 显示全部楼层
嗯,谢谢斑竹~~
已经Google出来了……
^_^
不过这东西怎么用啊?斑竹试了么?
linux-live的LiveCD脚本倒是试过……不过没明白~~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-4-23 22:37 , Processed in 0.079199 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表