<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.sugarlabs.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Andrew+Gilmore</id>
	<title>Sugar Labs - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.sugarlabs.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Andrew+Gilmore"/>
	<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/go/Special:Contributions/Andrew_Gilmore"/>
	<updated>2026-04-11T08:34:05Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=User:Andrew_Gilmore&amp;diff=82322</id>
		<title>User:Andrew Gilmore</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=User:Andrew_Gilmore&amp;diff=82322"/>
		<updated>2012-08-19T16:58:32Z</updated>

		<summary type="html">&lt;p&gt;Andrew Gilmore: Created page with &amp;quot;Just another Hacker. agilmore2 @ that google mail thing.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Just another Hacker. agilmore2 @ that google mail thing.&lt;/div&gt;</summary>
		<author><name>Andrew Gilmore</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Talk:LiveOS_image&amp;diff=82321</id>
		<title>Talk:LiveOS image</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Talk:LiveOS_image&amp;diff=82321"/>
		<updated>2012-08-19T16:55:08Z</updated>

		<summary type="html">&lt;p&gt;Andrew Gilmore: Sources, more information about merge steps. Signed.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;It turns out that it is possible to merge down the persistent overlay into the base image, if you have access to another OS installation and sufficient disk space.&lt;br /&gt;
I like that result better than just having to increase the overlay size without bounds.&lt;br /&gt;
&lt;br /&gt;
Tested and working on a Fedora 17 x86_64 Live image installed via livecd-iso-to-disk to a USB stick, all commands as root. You will need disk space sufficient for the uncompressed size of the root filesystem, 4 GB in the case of Fedora 17. I assume only one image and one user on the machine.&lt;br /&gt;
&lt;br /&gt;
Step 1: Get access to read-write base image, note that I got loop2 and loop3 here, YMMV. &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir squashfs&lt;br /&gt;
mount -o loop /run/media/*/LIVE/LiveOS/squashfs.img squashfs/&lt;br /&gt;
cp squashfs/LiveOS/ext3fs.img .&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 2: Set up loopback and device mapper devices for persistent overlay, base device mapper and snapshot.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;losetup -f ext3fs.img &lt;br /&gt;
losetup -f /run/media/*/LIVE/LiveOS/overlay-* &lt;br /&gt;
echo 0 $(blockdev --getsize /dev/loop2) linear /dev/loop2 0 |dmsetup create orig&lt;br /&gt;
echo 0 $(blockdev --getsize /dev/mapper/orig) snapshot /dev/mapper/orig /dev/loop3 p 8 | dmsetup create top&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 3: Stop the snapshot device and merge the snapshot with the base&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;dmsetup suspend top&lt;br /&gt;
echo 0 $(blockdev --getsize /dev/loop2) snapshot-merge /dev/loop2 /dev/loop3 p 8 | dmsetup create mergeomatic &amp;amp;&amp;amp; dmsetup status mergeomatic&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 4: Wait for merge to complete. When the status report on mergeomatic reports allocated blocks equal to the metadata blocks, the merge is finished.&lt;br /&gt;
 dmsetup status&lt;br /&gt;
&lt;br /&gt;
Step 5: Remove the merge target.&lt;br /&gt;
 dmsetup remove mergeomatic&lt;br /&gt;
&lt;br /&gt;
Step 6: Set the top device to no snapshot, and inspect the filesystem for results, if desired.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;echo 0 $(blockdev --getsize /dev/loop2) linear /dev/loop2 0 | dmsetup load top&lt;br /&gt;
dmsetup resume top&lt;br /&gt;
mkdir root&lt;br /&gt;
mount /dev/mapper/top root&lt;br /&gt;
cd root&lt;br /&gt;
chroot .&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 7: Clean up.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;cd ..&lt;br /&gt;
umount root&lt;br /&gt;
dmsetup remove top&lt;br /&gt;
dmsetup remove orig&lt;br /&gt;
losetup -d /dev/loop2&lt;br /&gt;
losetup -d /dev/loop3&lt;br /&gt;
umount squashfs/&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Step 8: Copy the root filesystem image back into the squashfs image, you may need -noappend &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir LiveOS&lt;br /&gt;
mv ext3fs.img LiveOS&lt;br /&gt;
rm /run/media/*/LIVE/LiveOS/squashfs.img&lt;br /&gt;
mksquashfs LiveOS /run/media/*/LIVE/LiveOS/squashfs.img -keep-as-directory&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sources: &amp;lt;br&amp;gt;&lt;br /&gt;
*http://smorgasbord.gavagai.nl/2010/03/online-merging-of-cow-volumes-with-dm-snapshot &amp;lt;br&amp;gt;&lt;br /&gt;
*http://www.kernel.org/doc/Documentation/device-mapper/snapshot.txt&amp;lt;br&amp;gt;&lt;br /&gt;
*http://linuxgazette.net/114/kapil.html&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Andrew Gilmore|Andrew Gilmore]]&lt;/div&gt;</summary>
		<author><name>Andrew Gilmore</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Talk:LiveOS_image&amp;diff=82320</id>
		<title>Talk:LiveOS image</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Talk:LiveOS_image&amp;diff=82320"/>
		<updated>2012-08-19T16:51:57Z</updated>

		<summary type="html">&lt;p&gt;Andrew Gilmore: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;It turns out that it is possible to merge down the persistent overlay into the base image, if you have access to another OS installation and sufficient disk space.&lt;br /&gt;
I like that result better than just having to increase the overlay size without bounds.&lt;br /&gt;
&lt;br /&gt;
Tested and working on Fedora 17, all commands as root. You will need disk space sufficient for the uncompressed size of the root filesystem, 4 GB in the case of Fedora 17 LiveCD/USB. I assume only one image and one user on the machine.&lt;br /&gt;
&lt;br /&gt;
Step 1: Get access to read-write base image, note that I got loop2 and loop3 here, YMMV. &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir squashfs&lt;br /&gt;
mount -o loop /run/media/*/LIVE/LiveOS/squashfs.img squashfs/&lt;br /&gt;
cp squashfs/LiveOS/ext3fs.img .&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 2: Set up loopback and device mapper devices for persistent overlay, base device mapper and snapshot.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;losetup -f ext3fs.img &lt;br /&gt;
losetup -f /run/media/*/LIVE/LiveOS/overlay-* &lt;br /&gt;
echo 0 $(blockdev --getsize /dev/loop2) linear /dev/loop2 0 |dmsetup create orig&lt;br /&gt;
echo 0 $(blockdev --getsize /dev/mapper/orig) snapshot /dev/mapper/orig /dev/loop3 p 8 | dmsetup create top&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 3: Stop the snapshot device and merge the snapshot with the base&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;dmsetup suspend top&lt;br /&gt;
echo 0 $(blockdev --getsize /dev/loop2) snapshot-merge /dev/loop2 /dev/loop3 p 8 | dmsetup create mergeomatic &amp;amp;&amp;amp; dmsetup status mergeomatic&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 4: Wait for merge to complete. When the status report on mergeomatic reports allocated blocks equal to the metadata blocks, the merge is finished.&lt;br /&gt;
 dmsetup status&lt;br /&gt;
&lt;br /&gt;
Step 5: Remove the merge target.&lt;br /&gt;
 dmsetup remove mergeomatic&lt;br /&gt;
&lt;br /&gt;
Step 6: Set the top device to no snapshot, and inspect the filesystem for results, if desired.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;echo 0 $(blockdev --getsize /dev/loop2) linear /dev/loop2 0 | dmsetup load top&lt;br /&gt;
dmsetup resume top&lt;br /&gt;
mkdir root&lt;br /&gt;
mount /dev/mapper/top root&lt;br /&gt;
cd root&lt;br /&gt;
chroot .&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 7: Clean up.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;cd ..&lt;br /&gt;
umount root&lt;br /&gt;
dmsetup remove top&lt;br /&gt;
dmsetup remove orig&lt;br /&gt;
losetup -d /dev/loop2&lt;br /&gt;
losetup -d /dev/loop3&lt;br /&gt;
umount squashfs/&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Step 8: Copy the root filesystem image back into the squashfs image, you may need -noappend &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir LiveOS&lt;br /&gt;
mv ext3fs.img LiveOS&lt;br /&gt;
rm /run/media/*/LIVE/LiveOS/squashfs.img&lt;br /&gt;
mksquashfs LiveOS /run/media/*/LIVE/LiveOS/squashfs.img -keep-as-directory&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sources: &amp;lt;br&amp;gt;&lt;br /&gt;
*http://smorgasbord.gavagai.nl/2010/03/online-merging-of-cow-volumes-with-dm-snapshot &amp;lt;br&amp;gt;&lt;br /&gt;
*http://www.kernel.org/doc/Documentation/device-mapper/snapshot.txt&amp;lt;br&amp;gt;&lt;br /&gt;
*http://linuxgazette.net/114/kapil.html&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Andrew Gilmore|Andrew Gilmore]]&lt;/div&gt;</summary>
		<author><name>Andrew Gilmore</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Talk:LiveOS_image&amp;diff=82265</id>
		<title>Talk:LiveOS image</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Talk:LiveOS_image&amp;diff=82265"/>
		<updated>2012-08-17T04:56:57Z</updated>

		<summary type="html">&lt;p&gt;Andrew Gilmore: Updated mksquashfs line&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;It turns out that it is possible to merge down the persistent overlay into the base image, if you have access to another OS installation and sufficient disk space.&lt;br /&gt;
I like that result better than just having to increase the overlay size without bounds.&lt;br /&gt;
&lt;br /&gt;
Tested and working on Fedora 17, all commands as root. You will need disk space sufficient for the uncompressed size of the root filesystem, 4 GB in the case of Fedora 17 LiveCD/USB. I assume only one image and one user on the machine.&lt;br /&gt;
&lt;br /&gt;
Step 1: Get access to read-write base image, note that I got loop2 and loop3 here, YMMV. &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir squashfs&lt;br /&gt;
mount -o loop /run/media/*/LIVE/LiveOS/squashfs.img squashfs/&lt;br /&gt;
cp squashfs/LiveOS/ext3fs.img .&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 2: Set up loopback and device mapper devices for persistent overlay, base device mapper and snapshot.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;losetup -f ext3fs.img &lt;br /&gt;
losetup -f /run/media/*/LIVE/LiveOS/overlay-* &lt;br /&gt;
echo 0 $(blockdev --getsize /dev/loop2) linear /dev/loop2 0 |dmsetup create orig&lt;br /&gt;
echo 0 $(blockdev --getsize /dev/mapper/orig) snapshot /dev/mapper/orig /dev/loop3 p 8 | dmsetup create top&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 3: Stop the snapshot device and merge the snapshot with the base&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;dmsetup suspend top&lt;br /&gt;
echo 0 $(blockdev --getsize /dev/loop2) snapshot-merge /dev/loop2 /dev/loop3 p 8 | dmsetup create mergeomatic &amp;amp;&amp;amp; dmsetup status mergeomatic&lt;br /&gt;
dmsetup status&lt;br /&gt;
dmsetup remove mergeomatic&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 4: Set the top device to no snapshot, and inspect the filesystem for results, if desired.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;echo 0 $(blockdev --getsize /dev/loop2) linear /dev/loop2 0 | dmsetup load top&lt;br /&gt;
dmsetup resume top&lt;br /&gt;
mkdir root&lt;br /&gt;
mount /dev/mapper/top root&lt;br /&gt;
cd root&lt;br /&gt;
chroot .&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 5: Clean up.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;cd ..&lt;br /&gt;
umount root&lt;br /&gt;
dmsetup remove top&lt;br /&gt;
dmsetup remove orig&lt;br /&gt;
losetup -d /dev/loop2&lt;br /&gt;
losetup -d /dev/loop3&lt;br /&gt;
umount squashfs/&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Step 6: Copy the root filesystem image back into the squashfs image, you may need -noappend &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir LiveOS&lt;br /&gt;
mv ext3fs.img LiveOS&lt;br /&gt;
rm /run/media/*/LIVE/LiveOS/squashfs.img&lt;br /&gt;
mksquashfs LiveOS /run/media/*/LIVE/LiveOS/squashfs.img -keep-as-directory&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Andrew Gilmore</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Talk:LiveOS_image&amp;diff=82263</id>
		<title>Talk:LiveOS image</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Talk:LiveOS_image&amp;diff=82263"/>
		<updated>2012-08-16T23:35:29Z</updated>

		<summary type="html">&lt;p&gt;Andrew Gilmore: Fixed mksquashfs call syntax&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;It turns out that it is possible to merge down the persistent overlay into the base image, if you have access to another OS installation and sufficient disk space.&lt;br /&gt;
I like that result better than just having to increase the overlay size without bounds.&lt;br /&gt;
&lt;br /&gt;
Tested and working on Fedora 17, all commands as root. You will need disk space sufficient for the uncompressed size of the root filesystem, 4 GB in the case of Fedora 17 LiveCD/USB. I assume only one image and one user on the machine.&lt;br /&gt;
&lt;br /&gt;
Step 1: Get access to read-write base image, note that I got loop2 and loop3 here, YMMV. &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir squashfs&lt;br /&gt;
 mount -o loop /run/media/*/LIVE/LiveOS/squashfs.img squashfs/&lt;br /&gt;
 cp squashfs/LiveOS/ext3fs.img .&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 2: Set up loopback and device mapper devices for persistent overlay, base device mapper and snapshot.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;losetup -f ext3fs.img &lt;br /&gt;
 losetup -f /run/media/*/LIVE/LiveOS/overlay-* &lt;br /&gt;
 echo 0 $(blockdev --getsize /dev/loop2) linear /dev/loop2 0 |dmsetup create orig&lt;br /&gt;
 echo 0 $(blockdev --getsize /dev/mapper/orig) snapshot /dev/mapper/orig /dev/loop3 p 8 | dmsetup create top&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 3: Stop the snapshot device and merge the snapshot with the base&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;dmsetup suspend top&lt;br /&gt;
 echo 0 $(blockdev --getsize /dev/loop2) snapshot-merge /dev/loop2 /dev/loop3 p 8 | dmsetup create mergeomatic &amp;amp;&amp;amp; dmsetup status mergeomatic&lt;br /&gt;
 dmsetup status&lt;br /&gt;
 dmsetup remove mergeomatic&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 4: Set the top device to no snapshot, and inspect the filesystem for results, if desired.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;echo 0 $(blockdev --getsize /dev/loop2) linear /dev/loop2 0 | dmsetup load top&lt;br /&gt;
 dmsetup resume top&lt;br /&gt;
 mkdir root&lt;br /&gt;
 mount /dev/mapper/top root&lt;br /&gt;
 cd root&lt;br /&gt;
 chroot .&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 5: Clean up.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;cd ..&lt;br /&gt;
 umount root&lt;br /&gt;
 dmsetup remove top&lt;br /&gt;
 dmsetup remove orig&lt;br /&gt;
 losetup -d /dev/loop2&lt;br /&gt;
 losetup -d /dev/loop3&lt;br /&gt;
 umount squashfs/&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Step 6: Copy the root filesystem image back into the squashfs image, you may need -noappend &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir LiveOS&lt;br /&gt;
 mv ext3fs.img LiveOS&lt;br /&gt;
 mksquashfs LiveOS/ext3fs.img /run/media/*/LIVE/LiveOS/squashfs.img -noappend&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Andrew Gilmore</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Talk:LiveOS_image&amp;diff=82262</id>
		<title>Talk:LiveOS image</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Talk:LiveOS_image&amp;diff=82262"/>
		<updated>2012-08-16T23:31:20Z</updated>

		<summary type="html">&lt;p&gt;Andrew Gilmore: Fixed formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;It turns out that it is possible to merge down the persistent overlay into the base image, if you have access to another OS installation and sufficient disk space.&lt;br /&gt;
I like that result better than just having to increase the overlay size without bounds.&lt;br /&gt;
&lt;br /&gt;
Tested and working on Fedora 17, all commands as root. You will need disk space sufficient for the uncompressed size of the root filesystem, 4 GB in the case of Fedora 17 LiveCD/USB. I assume only one image and one user on the machine.&lt;br /&gt;
&lt;br /&gt;
Step 1: Get access to read-write base image, note that I got loop2 and loop3 here, YMMV. &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir squashfs&lt;br /&gt;
 mount -o loop /run/media/*/LIVE/LiveOS/squashfs.img squashfs/&lt;br /&gt;
 cp squashfs/LiveOS/ext3fs.img .&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 2: Set up loopback and device mapper devices for persistent overlay, base device mapper and snapshot.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;losetup -f ext3fs.img &lt;br /&gt;
 losetup -f /run/media/*/LIVE/LiveOS/overlay-* &lt;br /&gt;
 echo 0 $(blockdev --getsize /dev/loop2) linear /dev/loop2 0 |dmsetup create orig&lt;br /&gt;
 echo 0 $(blockdev --getsize /dev/mapper/orig) snapshot /dev/mapper/orig /dev/loop3 p 8 | dmsetup create top&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 3: Stop the snapshot device and merge the snapshot with the base&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;dmsetup suspend top&lt;br /&gt;
 echo 0 $(blockdev --getsize /dev/loop2) snapshot-merge /dev/loop2 /dev/loop3 p 8 | dmsetup create mergeomatic &amp;amp;&amp;amp; dmsetup status mergeomatic&lt;br /&gt;
 dmsetup status&lt;br /&gt;
 dmsetup remove mergeomatic&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 4: Set the top device to no snapshot, and inspect the filesystem for results, if desired.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;echo 0 $(blockdev --getsize /dev/loop2) linear /dev/loop2 0 | dmsetup load top&lt;br /&gt;
 dmsetup resume top&lt;br /&gt;
 mkdir root&lt;br /&gt;
 mount /dev/mapper/top root&lt;br /&gt;
 cd root&lt;br /&gt;
 chroot .&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 5: Clean up.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;cd ..&lt;br /&gt;
 umount root&lt;br /&gt;
 dmsetup remove top&lt;br /&gt;
 dmsetup remove orig&lt;br /&gt;
 losetup -d /dev/loop2&lt;br /&gt;
 losetup -d /dev/loop3&lt;br /&gt;
 umount squashfs/&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Step 6: Copy the root filesystem image back into the squashfs image, you may need -noappend &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mksquashfs ext3fs.img /run/media/*/LIVE/LiveOS/squashfs.img&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Andrew Gilmore</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Talk:LiveOS_image&amp;diff=82261</id>
		<title>Talk:LiveOS image</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Talk:LiveOS_image&amp;diff=82261"/>
		<updated>2012-08-16T23:28:58Z</updated>

		<summary type="html">&lt;p&gt;Andrew Gilmore: Merge in that persistent overlay, don&amp;#039;t expand it! Version 0.1, having formatting issues&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;It turns out that it is possible to merge down the persistent overlay into the base image, if you have access to another OS installation and sufficient disk space.&lt;br /&gt;
I like that result better than just having to increase the overlay size without bounds.&lt;br /&gt;
&lt;br /&gt;
Tested and working on Fedora 17, all commands as root. You will need disk space sufficient for the uncompressed size of the root filesystem, 4 GB in the case of Fedora 17 LiveCD/USB. I assume only one image and one user on the machine.&lt;br /&gt;
&lt;br /&gt;
Step 1: Get access to read-write base image, note that I got loop2 and loop3 here, YMMV. &lt;br /&gt;
&amp;lt;nowiki&amp;gt;mkdir squashfs&lt;br /&gt;
mount -o loop /run/media/*/LIVE/LiveOS/squashfs.img squashfs/&lt;br /&gt;
cp squashfs/LiveOS/ext3fs.img .&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 2: Set up loopback and device mapper devices for persistent overlay, base device mapper and snapshot.&lt;br /&gt;
&amp;lt;nowiki&amp;gt;losetup -f ext3fs.img &lt;br /&gt;
losetup -f /run/media/*/LIVE/LiveOS/overlay-* &lt;br /&gt;
echo 0 $(blockdev --getsize /dev/loop2) linear /dev/loop2 0 |dmsetup create orig&lt;br /&gt;
echo 0 $(blockdev --getsize /dev/mapper/orig) snapshot /dev/mapper/orig /dev/loop3 p 8 | dmsetup create top&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 3: Stop the snapshot device and merge the snapshot with the base&lt;br /&gt;
&amp;lt;nowiki&amp;gt;dmsetup suspend top&lt;br /&gt;
echo 0 $(blockdev --getsize /dev/loop2) snapshot-merge /dev/loop2 /dev/loop3 p 8 | dmsetup create mergeomatic &amp;amp;&amp;amp; dmsetup status mergeomatic&lt;br /&gt;
dmsetup status&lt;br /&gt;
dmsetup remove mergeomatic&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 4: Set the top device to no snapshot, and inspect the filesystem for results, if desired.&lt;br /&gt;
&amp;lt;nowiki&amp;gt;echo 0 $(blockdev --getsize /dev/loop2) linear /dev/loop2 0 | dmsetup load top&lt;br /&gt;
dmsetup resume top&lt;br /&gt;
mkdir root&lt;br /&gt;
mount /dev/mapper/top root&lt;br /&gt;
cd root&lt;br /&gt;
chroot .&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 5: Clean up.&lt;br /&gt;
&amp;lt;nowiki&amp;gt;cd ..&lt;br /&gt;
umount root&lt;br /&gt;
dmsetup remove top&lt;br /&gt;
dmsetup remove orig&lt;br /&gt;
losetup -d /dev/loop2&lt;br /&gt;
losetup -d /dev/loop3&lt;br /&gt;
umount squashfs/&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Step 6: Copy the root filesystem image back into the squashfs image, you may need -noappend &lt;br /&gt;
&amp;lt;nowiki&amp;gt;mksquashfs ext3fs.img /run/media/*/LIVE/LiveOS/squashfs.img&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Andrew Gilmore</name></author>
	</entry>
</feed>