无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 3788|回复: 13
打印 上一主题 下一主题

[教程] 使用tazlito工具将当前slitaz系统打包成iso文件

[复制链接]
跳转到指定楼层
1#
发表于 2019-8-21 18:27:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
由于isomaster重制iso时有体积大增的缺陷,所以屮作为slitaz的初阶用户,想要自己
修改立服(live)系统后重新打包成iso文件,最好的方式还氏使用tazlito工具。

tazlito----slitaz live tool,这其实氏slitaz开发团队弄出来的一整套live工具套装。
不过,在解决将当前立服系统重打包这个简要需求上,只需要掌握tazlito中的三个实
用化命令 writeiso 、extract-distro  和 gen-iso 的简单应用就行。

下面屮把自己重打包slitaz的完整过程记述下来,供对slitaz感兴趣的初阶坛友参考。
--------------------------------------------------------------------------------

首先,屮使用 wget 或 虚拟机中的百度网盘工具baiduNetDisk 下载 slitaz0813CN.iso
这个中文汉化工作和下载文件氏 m998001 坛友做的,请大家感谢该坛友的奉献。

链接: https://pan.baidu.com/s/1wcISrXdcmYITzbaXDS7hJA 提取码: c2px
链接: https://pan.baidu.com/s/1QxVthycMaWFCRQx3J7RiNg 提取码: bvdf
直下网址:http://gaoer.f3322.net/

另注:
百度网盘客户端现在有gnux客户端了,不过在屮的debian10中无法登录网盘。所以
屮用了两种方式从 m998001 坛友提供的网址和链接下iso:
一种方式用虚拟机xp里的网盘客户端下载了slitaz5.0-20190813.iso,尺寸约126MB;
另种方式用 wget 直接拽 slitaz-X64-5.0-CN.iso,约150MB。感觉wget又快又可靠。

为方便键入iso文件名称,屮将 slitaz5.0-20190813.iso 重命令为 slitaz813.iso 。
然后,当然氏编辑 grub4dos 的 menu.lst 菜单,增加 slitaz813.iso 引导菜单条。

评分

参与人数 1无忧币 +5 收起 理由
m998001 + 5 很给力!

查看全部评分

2#
 楼主| 发表于 2019-8-21 18:30:39 | 只看该作者
本帖最后由 gnuxwy 于 2019-8-25 11:45 编辑

重启电脑进入slitaz立服系统之后,着手完成调整键盘映射和增加输入码案的工作。
当然,也可以在立服系统中进行各种偏好设置,以及增加自已喜欢的各种软件。

搞定后,打开终端执行命令:
< writeiso 之后当用 lzma 格式,若用 gzip 格式,工具会提示有可能出问题。>
< 此处且用名 slitaz813y.iso ,加个后缀  'y' 与原iso名称区分,其实用不着。>

tux@slitaz:~$ sudo tazlito writeiso lzma slitaz813y.iso
Password: <root>

在屏幕显示确定压缩格式 lzma 之后,会提问氏否删除声卡和屏幕配置。屮选择 'n'---不删除 。
接着提问氏否删除区域和键盘映射设置。屮还氏选择 'n'---不删除 ,因屮想要的就氏偏好定制化。
<新补充:如果打算定制出的新slitaz系统能在别的机噐上用,第二个提问应选择 'y'---删除 。>

Write filesystem to ISO
================================================================================
The command writeiso will write the current filesystem into a suitable cpio
archive (rootfs.gz) and generate a bootable ISO image (slitaz.iso).
......
/usr/bin/tazlito: line 515: arithmetic syntax error
================================================================================
由于缺少一些文件,writeiso 并没有把当前系统打包成新的 slitaz813y.iso 文件。
但 writeiso 工具执行至此步骤,已经得到了当前已调整立服系统的 rootfs.gz 文件。
tux@slitaz:~$ ls /home/slitaz/distro/rootcd/boot/
rootfs.gz

为方便稍后操作,屮把刚生成的当前立服(live)系统之 rootfs.gz 移动至主目录下,并重命名它:
< 其实不改名也氏可以的,但改名为 rootfs1.gz 能更明确的提醒屮们之后操作的文件氏哪个。>
tux@slitaz:~$ sudo mv /home/slitaz/distro/rootcd/boot/rootfs.gz ./rootfs1.gz
Password: <root>

点击挂载存放 slitaz813.iso 文件的分区,把它复制到slitaz内存立服系统的  /home/tux/ 主目录下。
tux@slitaz:~$ ls
Documents        Images           slitaz813.iso

此时如果估计稍后一段时间不再使用存放slitaz813.iso文件的分区,则可以在图形界面右键卸载它。
回复

使用道具 举报

3#
 楼主| 发表于 2019-8-21 18:33:04 | 只看该作者
现在可以使用另一个强大命令 extract-distro 将 slitaz813.iso 文件展开。展开目录
位于 /home/slitaz/5.0/distro/ ,其下既有 rootfs ,也有 rootcd 。
tux@slitaz:~$ sudo tazlito extract-distro ./slitaz813.iso
Password: <root>

Tazlito extracting: slitaz813.iso
================================================================================
Mounting ISO image...                                                [ 完成 ]
Copying the Linux kernel...                                          [ 完成 ]
Copying isolinux files...                                            [ 完成 ]
Copying the rootfs...                                                [ 完成 ]
Extracting the rootfs...                                             [ 完成 ]

================================================================================
Extracted       : slitaz813.iso (120.6M)
Distro tree     : /home/slitaz/5.0/distro
Rootfs size     : 463.5M        rootfs
Rootcd size     : 120.2M        rootcd
================================================================================

当前需求下,屮对rootcd更感兴趣。先瞧下展开后的iso文件里 rootfs.gz 在哪个位置:
tux@slitaz:~$ ls /home/slitaz/5.0/distro/rootcd/boot/
bzImage                   isolinux                  vmlinuz-3.16.55-slitaz
bzImage64                 rootfs.gz                 vmlinuz-3.16.55-slitaz64

把这个 slitaz813.iso 里的  rootfs.gz 删除掉,用屮们先前得到的 rootfs1.gz 填补该位置:
tux@slitaz:~$ sudo rm /home/slitaz/5.0/distro/rootcd/boot/rootfs.gz
Password: <root>

tux@slitaz:~$ sudo mv ./rootfs1.gz  /home/slitaz/5.0/distro/rootcd/boot/rootfs.gz
Password: <root>

回复

使用道具 举报

4#
 楼主| 发表于 2019-8-21 18:34:56 | 只看该作者
很好,符合屮们需要的立服(live)系统的 rootfs.gz 已经到位,现在可以生成iso文件了:
(此过程费时较多,在屮2.6GHz的处理噐加4GiB内存的笔电上,约耗时10分钟,生成iso尺寸约120MB)
tux@slitaz:~$ sudo tazlito gen-iso
Password: <root>

0 Kbytes saved in 0 duplicate files.
0 duplicate symlinks.
Computing md5...                                                     [ 完成 ]

Generating ISO image
================================================================================
Generating slitaz-5.0.iso
......
Distro statistics: /home/slitaz/5.0/distro
================================================================================
Build date      : 20190817
Packages        : 396
Rootfs size     : 463.5M
Initramfs size  : 110.8M
ISO image size  : 118.7M
================================================================================
Image is ready: slitaz-5.0.iso

呃,瞧下生成的iso文件在哪:
tux@slitaz:~$ ls /home/slitaz/5.0/distro/
rootcd          rootfs          slitaz-5.0.iso  slitaz-5.0.md5
回复

使用道具 举报

5#
 楼主| 发表于 2019-8-21 18:38:08 | 只看该作者
把 *.iso 文件移动至主目录且重命名为 slitaz813y.iso,带个后缀  'y' 与原iso文件区别开来:
tux@slitaz:~$ sudo mv /home/slitaz/5.0/distro/slitaz-5.0.iso  ./slitaz813y.iso
Password: <root>

哇,终于大功告成。。。现在可以把这个 slitaz813y.iso 弄到U盘里 oy 硬盘某个分区里,
且在grub4dos的menu.lst中编写 oy 修改引导菜单,比如这样就行(此处屮把iso置于硬盘):

title slitaz813y InMem LiveISO Test it Succ?Fail
# find --set-root --ignore-floppies --ignore-cd /loc246p5.uxt
root (hd0,4)
map --mem /slitaz/slitaz813y.iso (0xff)
map --hook
chainloader (0xff)

重启电脑,在grub4dos菜单界面选择刚编好的菜单条, 就能启动自己定制的slitaz系统好好玩了。

呃,如果坛友有更好的打包iso的办法,请指导。。。

回复

使用道具 举报

6#
发表于 2019-8-21 20:39:10 | 只看该作者
你这遣词到底是那里学的啊

点评

哈哈 你这遣词到底是那里学的啊  发表于 2019-8-22 05:32
, 难道世界上还有人用屮这套表述么。。。 不过,屮写得如此详细,应该氏个gnux用户都能看懂了吧,除了没配图。。。但终端操作,没图也没关系呀!  详情 回复 发表于 2019-8-21 20:47
回复

使用道具 举报

7#
发表于 2019-8-21 20:43:24 | 只看该作者
看着一头雾!
回复

使用道具 举报

8#
 楼主| 发表于 2019-8-21 20:47:04 | 只看该作者
kli 发表于 2019-8-21 20:39
你这遣词到底是那里学的啊

, 难道世界上还有人用屮这套表述么。。。
不过,屮写得如此详细,应该氏个gnux用户都能看懂了吧,除了没配图。。。但终端操作,没图也没关系呀!

点评

你这遣词到底是那里学的啊  发表于 2019-8-22 05:33
回复

使用道具 举报

9#
发表于 2019-8-22 08:32:08 | 只看该作者
thanks
回复

使用道具 举报

10#
发表于 2019-8-22 14:13:10 | 只看该作者
本帖最后由 m998001 于 2019-8-22 14:28 编辑
  1. # Optionally remove sound card selection and screen resolution.
  2.                 if [ -z $LaunchedByTazpanel ]; then
  3.                 anser=$(yesorno 'Do you wish to remove the sound card and screen configs?' 'n')
  4.                 case $anser in
  5.                         y)
  6.                                 action 'Removing current sound card and screen configurations...'
  7.                                 rm -f /var/lib/sound-card-driver
  8.                                 rm -f /var/lib/alsa/asound.state                                                                      rm -f /etc/X11/xorg.conf ;;                                                                   *)
复制代码


tazlito 这是一个脚本程序,你看一下这一段做了什么事。它可能会绑定当前显示器显卡,所以这一步应该选择y删除它,以便在不同的硬件环境下都能正确的显示。我想应该是这样的。
回复

使用道具 举报

11#
 楼主| 发表于 2019-8-25 11:42:12 | 只看该作者
哦,多谢m998001坛友的明确指出。。。
声卡和屏幕配置如果绑定了,打出来的iso可能就只能在一台机噐上用了。

嗯,下次再打slitaz的新包,还氏应当不绑定声卡和屏幕配置,才能让生成的iso在别的机噐上也能适应。
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-12-10 21:14

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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