系统要求:
-
超级管理员访问权限
-
一个最新版本的live-build
-
符合POSIX标准的shell,如bash或dash
-
debootstrap或cdebootstrap
-
内核2.6+
环境说明:
debian 8(jessie)
安装live-build:
apt-get install live-build
创建默认镜像:
mkdir live-system && cd live-system
lb config
lb build
刻录ISO镜像到光盘:
apt-get install xorriso
xorriso -as cdrecord -v dev=/dev/sr0 blank=as_needed live-image-i386.hybrid.iso
复制ISO镜像到U盘:
cp live-image-i386.hybrid.iso ${USBSTICK}
sync
使用U盘的剩余空间:
分区:
gparted ${USBSTICK}
格式化:
mkfs.ext4 ${PARTITION}
注意:PARTITION为新创建的分区。
用qemu测试ISO镜像:
apt-get install qemu-kvm qemu-utils
kvm -cdrom live-image-i386.hybrid.iso
创建HDD镜像:
lb clean --binary
lb config -b hdd
lb build
最后会生成live-image-i386.img的文件。
安装到USB驱动器:
lb clean --binary
lb config -b usb-hdd
lb build
dd if=binary.img of=/dev/sdb
使用自动配置脚本:
mkdir mylive && cd mylive && lb config
mkdir auto
cp /usr/share/doc/live-build/examples/auto/* auto/
创建auto/config配置文件,内容如下:
#!/bin/sh
lb config noauto \
--architectures i386 \
--linux-flavours 686-pae \
--binary-images hdd \
--mirror-bootstrap http://ftp.cn.debian.org/debian/ \
--mirror-binary http://ftp.cn.debian.org/debian/ \
"${@}"
注意:使用lb config命令会重置auto/config文件的配置。
配置选项说明:
指定版本:
--distribution jessie
--archive-areas "main contrib non-free"
用于镜像创建时的安装源:
--mirror-bootstrap http://ftp.cn.debian.org/debian/
--mirror-chroot-security http://ftp.cn.debian.org/debian-security/
用于镜像运行时的安装源:
--mirror-binary http:
--mirror-binary-security http:
--mirror-binary-backports http:
添加其他安装源:
添加到config/archives/live.list.chroot文件内的安装源在创建镜像时被使用。
添加到config/archives/live.list.binary文件内的安装源会被加入到系统/etc/apt/sources.list.d/目录。
两个文件内容格式如下:
deb http://debian-live.alioth.debian.org/ sid-snapshots main contrib non-free
选择安装的软件:
配置文件目录为:config/package-lists/,例如安装桌面和浏览器,配置如下:
lb config
echo "task-lxde-desktop iceweasel" > config/package-lists/desktop.list.chroot
生成软件列表:
lb config
echo '! Packages Priority standard' > config/package-lists/standard.list.chroot
配置可安装的镜像:
lb config
echo debian-installer-launcher >> config/package-lists/installer.list.chroot
安装第三方软件包:(必须添加第三方安装源)
直接复制软件包列表文件到config/packages.chroot/目录,在创建镜像期间会被自动安装。
调整APT节省空间:(可能会带来一些问题)
--apt-indices false
--apt-recommends false
自定义内容:
配置目录为:config/includes.chroot,例如添加www目录及文件:
mkdir -p config/includes.chroot/var/www
cp /path/to/my/index.html config/includes.chroot/var/www
Hooks
包含系统创建完后需要执行的脚本。
/usr/share/doc/live-build/examples/hooks
config/hooks/
*.hook.chroot
*.hook.binary
/lib/live/config/ --> config/includes.chroot/lib/live/config/
例子:创建hooks/auto_ssh.hook.chroot文件,内容如下。
#!/bin/sh
echo "HOOK: ssh server"
update-rc.d ssh defaults
passwd root <<EOF
admin
admin
EOF
修改执行权限:
chmod u+x auto_ssh.hook.chroot
自定义live用户:
加入live用户到fuse组:
config/includes.chroot/etc/live/config/user-setup.conf
LIVE_USER_DEFAULT_GROUPS="audio cdrom dip floppy video plugdev netdev powerdev scanner bluetooth fuse"
或者作为启动的参数:
live-config.user-default-groups=audio,cdrom,dip,floppy,video,plugdev,netdev,powerdev,scanner,bluetooth,fuse
也可以配置中改变默认的用户”user“和默认的密码”live“:
$ lb config --bootappend-live "boot=live components username=live-user"
更改默认密码方法:
passwd: /usr/share/doc/live-config/examples/hooks --> config/includes.chroot/lib/live/config/
自定义语言环境和语言:
lb config
egrep -i '(^!|german.*switzerland)' /usr/share/X11/xkb/rules/base.lst
lb config
lb config
lb config
持久存储:
在硬盘的一个ext4分区或USB闪存盘创建:
mkfs.ext4 -L persistence /dev/sdb1
使用U盘的剩余空间创建:(注意指定正确的分区)
tune2fs -L persistence /dev/sdb1 # for ext2,3,4 filesystems
使用一个基于ext4的镜像文件作为持久存储:
dd if=/dev/null of=persistence bs=1 count=0 seek=1G
/sbin/mkfs.ext4 -F persistence
cp persistence /
mount -t ext4 /persistence /mnt
创建配置文件并追加内容:
echo "/usr union" >> /mnt/persistence.conf
umount /mnt
现在,带启动参数”persistence“重启你的live介质。
例子:将home目录和apt缓存目录持久存储在/dev/sdb1分区上的一个ext4文件系统里面。
mkfs.ext4 -L persistence /dev/sdb1
mount -t ext4 /dev/sdb1 /mnt
echo "/home" >> /mnt/persistence.conf
echo "/var/cache/apt" >> /mnt/persistence.conf
umount /mnt
注意:persistence.conf文件列出的任何路径不能包含空格或特殊目录"."和"..",也不能包含/lib,/lib/live目录及其子目录和/,可以添加/ union实现完全持久存储。
使用加密的持久存储:
apt-get install cryptsetup
lb config
echo "cryptsetup" > config/package-lists/encryption.list.chroot
lb config
使用U盘的一个分区:
ls -l /dev/disk/by-id
cryptsetup --verify-passphrase luksFormat /dev/sdc2
cryptsetup luksOpen /dev/sdc2 live
dd if=/dev/zero of=/dev/mapper/live
mkfs.ext4 -L persistence /dev/mapper/live
mount /dev/mapper/live /mnt
echo "/ union" > /mnt/persistence.conf
umount /mnt
cryptsetup luksClose live
Customizing the binary image
Bootloaders:
/usr/share/live/build/bootloaders
config/bootloaders/*
config/bootloaders/isolinux
splash.svg
isolinux.cfg:
include menu.cfg
default vesamenu.c32
prompt 0
timeout 50
ISO metadata:
LB_ISO_APPLICATION/
LB_ISO_PREPARER/
LB_ISO_PUBLISHER/
LB_ISO_VOLUME/
Customizing Debian Installer:
lb config
echo debian-installer-launcher >> config/package-lists/my.list.chroot
Customizing Debian Installer by preseeding:
echo "d-i debian-installer/locale string en_US" >> config/includes.installer/preseed.cfg
Customizing Debian Installer content:
config/packages.binary/
config/includes.installer/
Options
默认情况下,制作的 LiveCD 在开机引导时会出现引导画面,需要用户手动选择。
如需跳过手动选择画面,直接进入系统需要使用 genisoimage 再次配置 LiveCD 的映像文件。
liveCD:
apt-get install genisoimage
cd
mount -o loop live/binary-hybrid.iso /mnt
mkdir live-cd
cp -r /mnt live-cd/iso
umount /mnt
cd live-cd/iso/isolinux
chmod u+w isolinux.cfg
创建isolinux.cfg文件,内容如下:
default live
label live
kernel /live/vmlinuz
append initrd=/live/initrd.img boot=live config quiet
cd ~/live-cd
chmod u+w iso/isolinux/isolinux.bin
genisoimage -r -V "debian Live session" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o debian-live-i386.iso iso
liveUSB:
1) Go to the root folder of your Live USB.
2) Enter the syslinux directory.
3) Make the syslinux.cfg file writeable.
4) Replace the contents of the file syslinux.cfg with:
default live
label live
kernel /live/vmlinuz
append initrd=/live/initrd.img boot=live config quiet
小结:
1.自动配置脚本目录:auto/config
2.创建镜像时安装的软件所在目录:config/package-lists/
3.自定义镜像内容目录:config/includes.chroot/
4.创建系统后执行的脚本所在目录:config/hooks/
5.自定义引导程序目录:config/bootloaders/
6.自定义Debian Installer:使用--debian-installer live选项,安装debian-installer-launcher包
7.自定义Debian Installer的内容:config/packages.binary/,config/includes.installer/
(责任编辑:IT) |