![Page 1: Software Installation Using Disk Images By: Irena Lanc and Peter Sempolinski](https://reader035.vdocuments.net/reader035/viewer/2022070400/56649ecf5503460f94bdc768/html5/thumbnails/1.jpg)
Software Installation Using Disk Images
By: Irena Lanc and Peter Sempolinski
![Page 2: Software Installation Using Disk Images By: Irena Lanc and Peter Sempolinski](https://reader035.vdocuments.net/reader035/viewer/2022070400/56649ecf5503460f94bdc768/html5/thumbnails/2.jpg)
Software Installation Conventional methods of software installation
involve: Downloading the package Unpacking Compiling Managing path and environment variables
This leads to package files being strewn in directories across disk.
How can this system be made more efficient?
![Page 3: Software Installation Using Disk Images By: Irena Lanc and Peter Sempolinski](https://reader035.vdocuments.net/reader035/viewer/2022070400/56649ecf5503460f94bdc768/html5/thumbnails/3.jpg)
Our Idea Create a disk image of the software package,
and mount it as a loop device.
Virtual File System
Loop- mounted Device
Loop-mounted Device
Unionfs
Underlying ext2 filesystem
Image-installation
script
Loop- mounted Device
Image un-
installationscript
Loop-mounted Device
XX
![Page 4: Software Installation Using Disk Images By: Irena Lanc and Peter Sempolinski](https://reader035.vdocuments.net/reader035/viewer/2022070400/56649ecf5503460f94bdc768/html5/thumbnails/4.jpg)
Basic Working Prototype
![Page 5: Software Installation Using Disk Images By: Irena Lanc and Peter Sempolinski](https://reader035.vdocuments.net/reader035/viewer/2022070400/56649ecf5503460f94bdc768/html5/thumbnails/5.jpg)
Basic Working Prototype
![Page 6: Software Installation Using Disk Images By: Irena Lanc and Peter Sempolinski](https://reader035.vdocuments.net/reader035/viewer/2022070400/56649ecf5503460f94bdc768/html5/thumbnails/6.jpg)
Basic Working Prototype
![Page 7: Software Installation Using Disk Images By: Irena Lanc and Peter Sempolinski](https://reader035.vdocuments.net/reader035/viewer/2022070400/56649ecf5503460f94bdc768/html5/thumbnails/7.jpg)
Basic Working Prototype
![Page 8: Software Installation Using Disk Images By: Irena Lanc and Peter Sempolinski](https://reader035.vdocuments.net/reader035/viewer/2022070400/56649ecf5503460f94bdc768/html5/thumbnails/8.jpg)
Basic Working Prototype
![Page 9: Software Installation Using Disk Images By: Irena Lanc and Peter Sempolinski](https://reader035.vdocuments.net/reader035/viewer/2022070400/56649ecf5503460f94bdc768/html5/thumbnails/9.jpg)
Basic Working Prototype
![Page 10: Software Installation Using Disk Images By: Irena Lanc and Peter Sempolinski](https://reader035.vdocuments.net/reader035/viewer/2022070400/56649ecf5503460f94bdc768/html5/thumbnails/10.jpg)
Basic Working Prototype
![Page 11: Software Installation Using Disk Images By: Irena Lanc and Peter Sempolinski](https://reader035.vdocuments.net/reader035/viewer/2022070400/56649ecf5503460f94bdc768/html5/thumbnails/11.jpg)
Basic Working Prototype
![Page 12: Software Installation Using Disk Images By: Irena Lanc and Peter Sempolinski](https://reader035.vdocuments.net/reader035/viewer/2022070400/56649ecf5503460f94bdc768/html5/thumbnails/12.jpg)
Basic Working Prototype
![Page 13: Software Installation Using Disk Images By: Irena Lanc and Peter Sempolinski](https://reader035.vdocuments.net/reader035/viewer/2022070400/56649ecf5503460f94bdc768/html5/thumbnails/13.jpg)
Basic Working Prototype
![Page 14: Software Installation Using Disk Images By: Irena Lanc and Peter Sempolinski](https://reader035.vdocuments.net/reader035/viewer/2022070400/56649ecf5503460f94bdc768/html5/thumbnails/14.jpg)
Basic Working Prototype
![Page 15: Software Installation Using Disk Images By: Irena Lanc and Peter Sempolinski](https://reader035.vdocuments.net/reader035/viewer/2022070400/56649ecf5503460f94bdc768/html5/thumbnails/15.jpg)
Basic Working Prototype
![Page 16: Software Installation Using Disk Images By: Irena Lanc and Peter Sempolinski](https://reader035.vdocuments.net/reader035/viewer/2022070400/56649ecf5503460f94bdc768/html5/thumbnails/16.jpg)
Number of loop devices hard-limited in kernel Possible to ask for more devices at boot time. However,
this greatly slows down the boot sequence when number of devices > 4000.
System accommodates up to 1000 devices comfortably. A typical system could have between 1000-2000
software packages
Complications
0 500 1000 1500 2000 2500 3000 3500 4000 45000
50
100
150
200
250
300
350
400
Loop Devices vs Boot Time
Number of Loop Devices
Boot
tim
e (
s)
![Page 17: Software Installation Using Disk Images By: Irena Lanc and Peter Sempolinski](https://reader035.vdocuments.net/reader035/viewer/2022070400/56649ecf5503460f94bdc768/html5/thumbnails/17.jpg)
Complications Dependencies
Images created using files from debian packages, but since we’re re-packaging, dependencies not automatically fetched.
Further tools needed to manage dependencies.
Unionfs Demands careful coordination of merges by the script. As yet untested in scalability when merging hundreds of
packages.
![Page 18: Software Installation Using Disk Images By: Irena Lanc and Peter Sempolinski](https://reader035.vdocuments.net/reader035/viewer/2022070400/56649ecf5503460f94bdc768/html5/thumbnails/18.jpg)
Road Ahead 1. Add more scripts to manage dependencies,
and generally make system easier to use.
2. Create a test bed to obtain metrics such as program install time, memory/processor usage, and scalability.
3. Kernel hacking To get more out of Unionfs/loopback devices, certain
aspects could be modified to provide more flexibility and better performance