[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#759406: debian-cd: Merge iso images into usb drive thanks to cat

Package: debian-cd
Severity: wishlist

Dear Maintainer,

== Introduction ==

  In Debconf 14 Debian installer and CD BoF talk which it's archived here: http
meetings/2014/debconf14/webm/Debian_installer_and_CD_BoF.webm someone in the
public suggested to concatenate 1 GB size images (Skip to time: 28:58 in the
video ) so that you can use them in 4 GB usbs. This will also mean that you
won't have to maintain 1 GB, 2 GB, 4 GB and 8 GB size installer images but
only: 1 GB, 1 GB, 1 GB and 1 GB with most no repeated packages.

So you would only need to do something like:

cat debian-7.6.0-i386-USB-1.iso debian-7.6.0-i386-USB-2.iso
debian-7.6.0-i386-USB-3.iso debian-7.6.0-i386-USB-4.iso > /dev/sdc

where sdc is your hard disk device.

Steve McIntyre replied that was not possible because filesystems don't work
that way. Another reply from the same person that initially suggested the idea
was: "But we can fix it". Finally Steve turned down the idea.

== Overview ==

After thinking about it, although I'm not sure 100%, I think it could work.

The idea is, as you know, how big your initial image size you can mount the
next image.

How would be do that ? Just by offsetting the mount of the partition. Just as
qemu does:


So the suggested:
  mount -o loop,offset=32256 disk_image mountpoint
would have to be rewritten as:

  mount -t auto -o offset=966367673856 /dev/sdc /mnt/apt-2

where the offset is based on an hypotetical 900 MB image as is:
(900*1024*1024*1024)+32256 .

== Possible problem ==

The only doubt I have is that when you initially dd the first 1 GB image you
are defining a 1 GB partition table.

So I'm not sure if this 1 GB partition table will disable the kernel to read
data on usb hard drive beyond the 1 GB limit or not.

I will try to make some tests in the next days to prove if the minimal
functionality needed actually works or if it would need hacks on how Gnu/Linux
kernel reads devices bigger than its partition table suggested size.

== Implementation idea ==

(Loop till you do not find a new valid dd'ed hard disk partition) :Try to mount
the next dd'ed hard disk first partition in the disk. Add the packages
directory found on that partition to /etc/apt/sources.list (or whatever you use
in Debian Installer).

Run apt-get update to add these packages to the available ones.

== Similar bugs ==

This is a very similar bug to: #617853 . The only difference is that in my
implementation the debian-installer sorts out the next images while in the
other bug I suppose the tool is meant to read inside the image, extract its
contents and copy the packages in the usb. Feel free to relate both bugs if
it's worth. Actually Steve McIntyre describes this bug in his talk.

-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.13-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=es_ES.UTF-8, LC_CTYPE=es_ES.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Reply to: