如何使 Slitaz USB 持久化

如何使 Slitaz USB 持久化

我在 USB 闪存盘上安装了 Slitaz。但是我不知道如何让它自动持久化。不同的来源告诉我不同​​的持久化方法。

有人告诉我要添加slitaz home=usb系统Linux配置文件文件如下:

append initrd=/boot/rootfs.gz rw root=/dev/null vga=normal autologin slitaz home=usb

但它对我不起作用。

手册给出了一个如何手动执行的示例,但我没有尝试过,而且我也希望它能够自动完成。

一篇较旧的文章这也解释了如何使 USB 持久,但我不想尝试它,因为它看起来已经过时了(从 2008 年开始)。

有人知道让 USB 自动持久的最佳方法吗?

答案1

我刚刚遇到了同样的事情,所以我想在这里发布一些笔记:

首次启动时,系统会自动以用户身份登录tux;问题是:

  • tux用户显然是“自动生成的”
  • 当保存更改以保留时,显然,自动生成的tux用户的主文件夹不会被保存

无论如何,在这里我尝试xvkbd通过包管理器(Tazpanel - 包)安装一些程序(如);并且为了使它们持久,首先:

  • 右键单击桌面,Slitaz Live,TazUSB Writefs (gzip)

这将保存一个rootfs.gz文件/- 你必须复制这个文件手动到 USB 闪存驱动器,其他的(rootfs1.gz、rootfs2.gz)都在/bootUSB 拇指驱动器上!

那么你必须手动添加此文件syslinux.cfg!这里还有另一个问题 - 如果 USB 拇指驱动器是 FAT 格式的,则用户的自动登录命令tux将失败 - 您将获得登录提示/窗口;在那里你不能登录为tux(默认情况下密码为空,否则);您只能以 身份登录root

值得庆幸的是,有一种方法可以解决这个问题 - 首先注意,默认条目syslinux.cfg将是这样的:

LABEL sli
    KERNEL /boot/bzImage
    append initrd=/boot/rootfs4.gz,/boot/rootfs3.gz,/boot/rootfs2.gz,/boot/rootfs1.gz rw root=/dev/null vga=normal autologin 

请注意,该行也可以用于home=持久性 - 但不能用于 FAT32 USB 拇指(登录问题)。

然后,你可以复制rootfs.gz由 Writefs 生成的先前内容/boot/rootfsA.gz;现在如果你尝试

    append initrd=/boot/rootfsA.gz rw root=/dev/null vga=normal autologin 

...然后您再次遇到登录问题(尽管如果您以 root 身份登录,您会看到已安装的程序在那里)。

很酷的是,你可以rootfsA.gz和行中的其他人一起添加append;如果它被添加到最后,那么它就和单独添加一样(登录问题) - 但如果你前置它——也就是说,先添加它:

    append initrd=/boot/rootfsA.gz,/boot/rootfs4.gz,/boot/rootfs3.gz,/boot/rootfs2.gz,/boot/rootfs1.gz rw root=/dev/null noswap vga=normal lang=en kmap=us autologin 

... 然后两个已安装的程序都将可用(具有一定的持久性) - 但下一个文件系统将覆盖设置;并将创建实时用户tux并继续在该帐户中自动登录。因此,无法保存桌面图标等 - 但至少已安装的程序在那里。添加lang=en kmap=us以避免启动时出现问题(因此它直接进入自动登录;编辑 - 它会在 上抛出一条消息lang=en;所以它可能是lang=en_US) - 我还尝试添加noswap以停用交换;但它仍然找到我本地 HD 的交换,并执行“激活交换内存...”(我宁愿它不这样做)。

不管怎样,很高兴可以用这种方式进行破解 - 虽然每次我更改一行配置左右时都必须生成一个新图像并进行复制,这有点麻烦......

希望这对某人有帮助,
干杯!

答案2

将其添加到引导行时,删除“slitaz”,因为它已经被调用。“home=usb”

答案3

有一个菜单选项可以指导您。

您需要一个 ext3 格式的 usb。分区表必须是 msdos 而不是 gpt。usb 必须有 2 个分区,一个用于 /,另一个用于 home。

答案4

@sdaau @Derek @Yuri Herrera 你的笔记帮助我弄清楚了如何建立真正的持久性。方法如下。

首先,您必须在 USB 驱动器中添加第二个分区。此分区必须是 ext3,而不是 NTFS 或 FAT32。我使用 Gparted 格式化 ext3 分区。

然后编辑 syslinux.cfg(在 slitaz 的新版本中现在称为 isolinux.cfg)。我使用的 slitaz 版本是 slitaz 的烹饪版。

在 isolinux.cfg 中,您需要添加 home=sdb2,其中 sdb2 是您在 USB 驱动器上创建的第二个分区。home=sdb2 直接位于 append 之后但在 initrd= 之前

它看起来像这样

append home=sdb2 initrd=/boot/rootfs4.gz,/boot/rootfs3.gz,/boot/rootfs2.gz,/boot/rootfs1.gz rw root=/dev/null vga=normal lang=en_US kmap=us autologin

或者

append home=sdb2 initrd=/boot/rootfsA.gz rw root=/dev/null vga=normal lang=en_US kmap=us autologin 

相关内容