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

Re: Booting Debian-live-501 over HTTP


2009/9/2 Daniel Baumann <daniel@debian.org>:
> [ CC'ed to ensure you're not missing the answer ;), will follow up on
> list only though. ]
> Pravin wrote:
>> I also managed to boot debian over iscsi.
>> I had to add open-iscsi tools into initramfs for enabling iscsi booting,
>> but booting over iscsi is 3 times faster than booting over HTTPFS :-)
> i would be very, very much interested in patches to live-initramfs to
> make iscsi booting out-of-the-box possible, and to live-manual to
> document it.
>> I would be glad if I can help in improving network booting of Debian.
>> Can you please guide me how and and where should I submit these modifications
>> for review and testing?
> please post it on this list.

I put together a small patch that is supposed to allow booting iso
images from the web.

This is quite helpful as it would obviate the need to store separate
iso images for download and squashfs images for http boot.

Unfortunately, I am not sure it works with the run-init in the current
lenny (or sid) repository.

I use my own (older) patched version which prints out some diagnostic
messages so a failure can be diagnosed easily.

On successful boot the messages just scroll by and are not logged
anywhere, unfortunately.

I did not find any documentation for run-init either. Last time I
debugged it it seemed to leave alone mountpoints and device nodes
directly under / and remove everything else. If there was a mount
point or other non-removable file/directory deeper in the directory
hierarchy it would fail with "Directory not empty".

Any testers are welcome, I will try to build a clean image with just
the patch later.


--- usr/share/initramfs-tools/scripts/live.orig	2009-09-03 23:25:10.000000000 +0200
+++ usr/share/initramfs-tools/scripts/live	2009-09-03 23:26:30.000000000 +0200
@@ -768,7 +768,7 @@
 		if [ -n "$url" ]
 			case "${extension}" in
-				squashfs|tgz|tar)
+				iso|squashfs|tgz|tar)
 					if [ "${webfile}" = "FETCH" ]
 						case "$url" in
@@ -797,6 +797,12 @@
 					[ ${?} -eq 0 ] && rc=0
 					[ "${extension}" = "tgz" ] && live_dest="ram"
+					if [ "${extension}" = "iso" ]
+					then
+					    isoloop=$(setup_loop "${dest}/$(basename "${url}")" "loop" "/sys/block/loop*" "" '')
+					    mount -t iso9660 "${isoloop}" "${mountpoint}"
+					    rc=${?}
+					fi

Reply to: