怎么把一个Linux系统打包成img镜像

怎么把一个Linux系统打包成img镜像,第1张

IMG 文件:

因为cp, cat 只能从设备来制作镜像,但又没有专用工具来做 IMG 文件,故这里用 dd 命令来制作 IMG 文件。

1,制作

dd if=/dev/zero of=fdimage.img count=2880

or

dd if=/dev/zero of=fdimage.img bs=1024 count=1440

2,格式化

mkfs.msdos fdimage.img

3,修改

可以用下面的命令 mount 后,可直接修改

可以用下面的命令 mount 后,可直接修改

mount -o loop *.img /mnt

4,可启动

因为制作可启动镜像一定会用到虚拟机,推荐用 Virtualbox,先到网上下个 DOS 启动盘来引导。用 DOS 的 sys 命令传递系统。推荐使用 FreeDOS,属自由软件。也可用 dd 命令 来传递引导引导信息,并复制启动启动时所需文件来做启动盘。以 FreeDOS 为例,传递启动信息用以下命令,其中下载的启动盘为 balder10.img 文件

dd if=balder10.img of=fdimage.img bs=512 count=1 conv=notrunc

多系统用 grub4dos,

1),用 grub.exe 引导多系统

2),安装 grub 到MBR,用 grldr 来引导多系统。当然也可用同上面一样的办法用 dd 直接写入引导信息。

bootlace.com --floppy --chs 0x00

注:才发现用 dd 命令只能从逻辑扇区开始 copy,先前我想可否用 dd 来将 grldr.mbr 写入 u 盘,我用自己的 U 盘试了,结果不能打开了。因为我的 U 盘为 fat16 格式,逻辑扇区开始是OBR,接着是FAT表,结果把 FAT1 表给盖了,那时还没有想到还有 FAT2 呢,就格了,现在想起来郁闷啊,好多东西都没有了。

为什么软盘可以呢,因为它就没有前面的63个扇区,直接从逻辑0扇区开始的。

1. 创建Linux系统安装盘并进入Ubuntu临时系统

2. 准备一块大容量移动硬盘,并格式化为ext4文件格式

3. 进入启动盘live系统

4. 接入移动硬盘,执行命令

查看本机硬盘的扇区大小和需要复制的硬盘结束位置End

如上图,这块磁盘的扇区大小是512,结束位置为500117503,/dev/sda1为系统启动分区,/dev/sda2为硬盘除了启动分区外的其他数据

5. 查看移动硬盘挂在位置,一般挂载在/media/用户名/移动硬盘之下

6. 执行命令拷贝对应硬盘位置到移动硬盘,其中bs为扇区大小,count为拷贝位置的结束位置End+1,if为数据源位置即系统硬盘挂载位置,of为数据目标位置即移动硬盘挂载位置,这里只复制硬盘的数据不包括启动分区,如果需要拷贝整个硬盘包括启动分区则if=/dev/sda

7. 拷贝结束后,在需要装机的机器上启动临时linux系统并接上有备份的移动硬盘,执行如下命令

如果只需要复制数据不包括启动分区,则要修改of=/dev/sda1或者of=/dev/sda2,而且硬盘的挂载位置不一定在sda上,比如ssd硬盘的挂在位置就不是sda,需要用fdisk命令查看具体的硬盘挂载目录

8. 系统安装完成后可能会有无法启动系统问题,这时需要修复grub启动项,执行如下命令:

安装完成后d出功能对话框,选择第一项,修复结束后重启系统就能正常进入了

修改中文化菜单,以及修改开机画面都需要将IMG解包unpack,修改后重新

打包repack。解包、打包都需要Dreambox的linux环境,当时你也可以自己

配置一个支持squashFS的linux来搞。

DM500S的存储空间十分有限,故需要mount一个NFS磁盘来 *** 作。为什么一定

要NFS磁盘?windows机器共享出来的CIFS磁盘不行吗?不行!只有NFS磁盘

上才可以执行解包、打包工具,而且解包后的IMG里,有很多是符号连接文

件,也只有NFS磁盘才能支持。mount NFS及swap的方法见satfan大侠的文

章,已经写得很详细:

代码:

root@dreambox:/var/mnt/nfs>df -h

Filesystem Size Used Available Use% Mounted on

/dev/root 3.8M 3.8M 0 100% /

/dev/mtdblock/1 2.8M 444.0k 2.3M 16% /var

192.168.1.8://home/nfs 9.2G 516.4M 8.2G

6% /var/mnt/nfs

root@dreambox:/var/mnt/nfs>dd if=/dev/zero

of=/var/mnt/nfs/ram

bs=1M count=128

128+0 records in

128+0 records out

root@dreambox:/var/mnt/nfs>mkswap -c /var/mnt/nfs/ram

Setting up swapspace version 1, size = 134213632 bytes

root@dreambox:/var/mnt/nfs>losetup /dev/loop/0

/var/mnt/nfs/ram

root@dreambox:/var/mnt/nfs>free

total used free shared

buffers

Mem: 30116 29612 504

0 760

Swap: 131064 0 131064

Total: 161180 29612 131568

root@dreambox:/var/mnt/nfs>cat /proc/meminfo

MemTotal: 30116 kB

MemFree: 504 kB

Buffers: 760 kB

Cached: 20012 kB

SwapCached: 0 kB

Active: 9408 kB

Inactive: 16576 kB

HighTotal: 0 kB

HighFree: 0 kB

LowTotal: 30116 kB

LowFree: 504 kB

SwapTotal: 131064 kB

SwapFree: 131064 kB

Dirty: 4 kB

Writeback: 0 kB

Mapped: 9220 kB

Slab: 2176 kB

Committed_AS: 44240 kB

PageTables: 168 kB

VmallocTotal: 475136 kB

VmallocUsed: 28748 kB

VmallocChunk: 443900 kB

root@dreambox:/var/mnt/nfs>

解包、打包工具见附件压缩包

解压缩后,和原版IMG文件一起放到NFS磁盘下,一共有五个文件:

- mkcramfs

- mkdreamboxfs

- mksquashfs

- uncramfs

- undreamboxfs

为这几个文件增加执行权限:

为这几个文件增加执行权限:

代码:

root@dreambox:/var/mnt/nfs>chmod +x *

OK,接下来就可以做解包及打包工夫了。

*将原版的pli IMG解包到img1这个目录下:

代码:

root@dreambox:/var/mnt/nfs>./undreamboxfs pli-Helenite-dm500-

20070417-2696.img ./img1

9928+0 records in

9928+0 records out

Done!

root@dreambox:/var/mnt/nfs>

将完成修改的IMG重新打包,这个步骤挺费时间的:

代码:

root@dreambox:/var/mnt/nfs>./mkdreamboxfs img1 new.img

Directory data: 164 bytes

Everything: 1000 kilobytes

Super block: 76 bytes

CRC: 72538600

155648+0 records in

155648+0 records out

Ready to make the squashFS part! This can take 1 or 2 minutes!

Creating big endian 2.1 filesystem on tmp_mkdreambox_3, block

size 65536.

Big endian filesystem, data block size 65536, compressed data,

compressed metadata, compressed fragments

Filesystem size 4963.29 Kbytes (4.85 Mbytes)

35.86% of uncompressed filesystem size (13840.55 Kbytes)

Inode table size 6016 bytes (5.88 Kbytes)

24.73% of uncompressed inode table size (24324 bytes)

Directory table size 7914 bytes (7.73 Kbytes)

50.69% of uncompressed directory table size (15614 bytes)

Number of duplicate files found 49

Number of inodes 1086

Number of files 788

Number of fragments 57

Number of symbolic links 199

Number of device nodes 0

Number of fifo nodes 0

Number of socket nodes 0

Number of directories 99

Number of uids 1

root (0)

Number of gids 0

Done!

root@dreambox:/var/mnt/nfs>

解包插件打包插件下载

img解包后修改开机logo和搜索转发器背景教程

作者: 武汉卫星天线安装网 来源: 酷维科技 加入日期:2010-4-16 点击率:3

img解包后修改开机logo和搜索转发器背景教程

.

首先解包后进入 \etc\init.d 文件夹 找到 RCS 这个文件,用文本编辑器打开,找到/bin/showlogo 这个语句所在位置,一般原版img这里应该是个 if判断语句,建议将这里的整个判断语句组修改成如下

if [ ! -e /var/etc/logo ] then 判断个人用户是否在etc下放了自定义开机画面是的话用自定义画面开机

/bin/showlogo /var/etc/logo

else

/bin/showlogo /share/tuxbox/enigma/pictures/logo 用户没自定义的话用系统自带的开机

fi

这里就需要把系统默认开机画面放到/share/tuxbox/enigma/pictures文件夹里取名为 logo 用户要自己定义的话可以直接FTP上传到VAR/ETC/下面取名logo就可以实现更改开机画面了.

MP3和搜索转发器背景的画面在share\tuxbox\enigma\pictures 文件夹里,共有三个

SCan.mvi mp3.mvi radio.mvi 建议这里可以用快捷方式定义到 系统logo一个文件【用来减少img文件大小】快捷方式命令在telnet 下运行,命令为 ln -s 文件路径 快捷方式名

比如: LN -s /var/etc/logo scan.mvi 就是把var/etc/文件夹下的logo画面做扫描转发器画面。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7553159.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-07
下一篇 2023-04-07

发表评论

登录后才能评论

评论列表(0条)

保存