标签: squashfs

如何在busybox上使只读文件系统可写?

我想更改路由器上的一些文件。首先,我可以更改/var 中的所有内容,但我想更改/etc/fstab。当我尝试更改它时,我收到一条错误消息,指出文件系统是只读的。

路由器内的 Busybox,命令有限,所以我已经得到了用于 mips http://www.busybox.net/downloads/binaries/1.19.0/busybox-mips 的busybox 二进制文件,并通过 tftp ( tftp -g -r busybox-mips my.i.p.addr)上传它,所以现在我可以使用完整的命令 ( /var/tmp/busybox-mipscommand)。

路由器(sdram)内部没有rom,或者没有其他分区。它必须与busybox有关。

# /var/tmp/busybox-mips df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/root                 1344      1344         0 100% /

# mount
rootfs on / type rootfs (rw)
/dev/root on / type squashfs (ro)
proc on /proc type proc (rw,nodiratime)
ramfs on /var type ramfs (rw)
# 



Model: 
        Airties 5021
Processor:
        BCM6332KFBG
        HS1037 P12
        994981 N1
Memory: 
        M12L64164A-7T (SDRAM)
        ANM1P02HL 1028
Run Code Online (Sandbox Code Playgroud)

filesystems busybox router mips squashfs

4
推荐指数
1
解决办法
2万
查看次数

如何在 lzma 中使用“unsquashfs”?

我正在使用 Ubuntu 12.04。我想取消压缩 lzma 图像。我已经做好了

sudo apt-get squashfs-tools
Run Code Online (Sandbox Code Playgroud)

现在,当我做

unsquashfs <squashed_image_filename>
Run Code Online (Sandbox Code Playgroud)

我得到

Filesystem uses lzma compression, this is unsupported by this version
Run Code Online (Sandbox Code Playgroud)

我知道我压扁的图像是 lzma。如何安装对 lzma 的支持?我已经从这里下载了 squashfs 工具:http : //sourceforge.net/projects/squashfs/files/

据我了解,在提取该 tarball 后,我需要通过取消注释该行来cd进入squashfs4.2/squashfs-tools和编辑。然后我只需要运行.MakefileLZMA_XZ_SUPPORT = 1make

那对我不起作用。我收到错误:

gzip_wrapper.c:23:18: fatal error: zlib.: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我想我需要安装lzma-develxz-devel. 我已经尝试过这个,并在谷歌上搜索了几个小时,但没有找到任何地方,也没有找到任何显示这应该如何工作的可靠说明。有做过这件事的人能帮帮我吗?我是桌面 Linux 的新手,所以如果你能在你的说明中相当冗长,那将不胜感激。

squashfs

4
推荐指数
1
解决办法
1万
查看次数

如何从 rar 或 tgz 转换为 squashfs 而无需解压到临时文件夹?

我喜欢使用 squashfs 进行压缩,因为将它们安装为循环设备来访问内部文件很简单。

我有很多 rar、tgz 和 zip 文件,我想将它们转换为 squashfs。

这个答案中,我看到在将磁盘映像压缩到squashfs时可以使用伪文件以避免必须使用整个磁盘大小的临时文件。

mkdir empty-dir
mksquashfs empty-dir squash.img -p 'sda_backup.img f 444 root root dd if=/dev/sda bs=4M'
Run Code Online (Sandbox Code Playgroud)

我想使用伪文件以相同的方式(即时)从 rar、tgz 或 zip 转换为 squashfs,因此我不必首先将整个存档提取到磁盘,然后在单独的操作中压缩到 squashfs 。

其中一些档案包含数千个单独的文件,其中一些文件的文件名中包含空格或其他特殊字符。

我查看了README,我认为我需要使用该-pf <pseudo-file>选项,但我不确定如何动态创建伪文件(并且也不存在带空格的文件名问题)。我想我需要使用进程替换来从源存档创建文件列表。

理想情况下,我希望有一个命令能够转换任何 rar、tgz 或 zip,而不必为每个存档单独创建伪文件,但如果有人可以告诉我如何使用其中一种存档格式来完成此操作,那么希望我能为其他人解决这个问题。

感谢大家。

tar zip compression rar squashfs

4
推荐指数
1
解决办法
2270
查看次数

安装squashfs是否会将整个文件系统放入RAM中?

情况:我有一个更大(>10GB)的只读小文件集合,其中包含大量重复项,我需要在多台计算机上(甚至在不同的文件系统上)使用这些重复项。我们可以假设 Linux 内核 > 5.3.0。

一种解决方案是将它们放入 squashfs 映像文件中,在创建它时使用重复数据删除和 zstd 压缩,然后安装它。现在,只有当安装并不意味着所有文件都需要适合 RAM 时,这才对我有用。

像这样安装压缩的squashfs 文件系统总是需要完全解压到RAM 吗?

linux compression mount ram squashfs

3
推荐指数
1
解决办法
2227
查看次数

wrt (openwrt / lede) initramfs

你知道什么initramfs-kernel意思吗?
我知道squashfs-factory/squashfs-sysupgrade
我该怎么做或它是什么?哪个更好?

我只是不明白什么initramfs-kernel意思。
我有Linksys 1900ACS v2and D-Link DL-860l B1,但我只使用squashfs-factoryand squashfs-sysupgrade
这是什么initramfs-kernel意思?
我什么时候会使用这些?

我什至害怕安装它。

那么,继续,例如lede-17.01.2-ramips-mt7621-dir-860l-b1-initramfs-kernel.bin,这是什么意思?我可以使用它吗?如果可以,lede-17.01.2-ramips-mt7621-dir-860l-b1-squashfs-factory.bin(我知道它做什么和如何做)或lede-17.01.2-ramips-mt7621-dir-860l-b1-squashfs-sysupgrade.bin(我知道它做什么和如何做)之间有什么区别。

kernel openwrt initramfs squashfs lede

1
推荐指数
1
解决办法
3524
查看次数

将 linux 文件系统从 ro 重新挂载到 rw

我需要将我的 linux 文件系统从 ro 重新挂载到 rw。但什么都行不通。如果有人帮助我,我将不胜感激。

# mount
/dev/mtdblock3 on / type squashfs (ro)
proc on /proc type proc (rw)
ramfs on /tmp type ramfs (rw)
devpts on /dev/pts type devpts (rw)
none on /tmp/netslink type ramfs (rw)

# cat /proc/mounts
rootfs / rootfs rw 0 0
/dev/root / squashfs ro 0 0
proc /proc proc rw 0 0
ramfs /tmp ramfs rw 0 0
devpts /dev/pts devpts rw 0 0
none /tmp/netslink ramfs rw 0 0
Run Code Online (Sandbox Code Playgroud)

我试过这个:

# mount …
Run Code Online (Sandbox Code Playgroud)

mount root-filesystem squashfs

0
推荐指数
1
解决办法
6560
查看次数