Post Reply 
 
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Live ISO over http
2013-11-28, 20:32
Post: #1
Live ISO over http
Not sure if this is the appropriate place to post, but I have tried the google and not found any clear answers.

I would like to have a net boot environment for 25 workstations. I have a custom Debian Live CD that I have created (tested and it works - from USB boot too).

I have followed various guides, but am stuck at getting the Live CD to boot. I have configured ISC DHCP, tftp and apache to load the ISO into a memdisk. However once the kernel starts it throws an error saying that it is unable to find media with a filesystem on it.

I understand that once iPXE hands off to the Linux kernel that Linux is unable to locate the memdisk where the ISO was cached by iPXE.

Can anyone give some pointers as to what lines I would need in GRUB (?? if that's even the right place) to get this to boot?

Am I approaching this from the wrong angle? Should I be using NFS or iSCSI instead? I believe that having a memdisk would be better for my environment as there will be 25 workstations booting from the same image.

Thanks so much
Find all posts by this user
Quote this message in a reply
2013-11-29, 23:29
Post: #2
RE: Live ISO over http
Most likely you don't have enough memory on the machines to run everything in memory, so iSCSI or NFS is usually the way to go. You'd also need that for any kind of data persistence. You say workstations, so I'm assuming you'd like to be able to store something on these machines that actually survive a reboot. If so, you'll need somewhere to store it.

But your core problem is that when the Linux kernel has started up the memdisk memory is no longer available (only the Debian initrd is at that point available to the kernel). You'll therefore need to provide a network location for the rest of the files the livecd needs. Debian (and Ubuntu) uses a live system called casper, and you can find an example of how to boot it in my extensive menu linked from http://ipxe.org/examples. You can also find some general information about network booting at http://networkboot.org/ which you might find useful.
Visit this user's website Find all posts by this user
Quote this message in a reply
2013-12-01, 21:51
Post: #3
RE: Live ISO over http
hello i'm happy to be a member in this community
i'm beginner so can you help me to across this problem http://ipxe.org/0212603c
thanks
Find all posts by this user
Quote this message in a reply
2013-12-02, 16:59
Post: #4
RE: Live ISO over http
Not a "workstation" per se, but a station to work at. The machines come equipped with 2GB of RAM (some may have 1GB). My ISO is ~260MB, which should be more than small enough.

Data persistence is not required. The goal is to deploy these for call-centre personnel. All they need is access to a browser and a calculator. I also want to have a single image for all workstations that gets loaded at boot. Any updates would just require the station to be rebooted (I'll likely script them to reboot during off-hours anyways).

I'll check your examples and get back if I have more questions.

Thanks.

(2013-11-29 23:29)robinsmidsrod Wrote:  Most likely you don't have enough memory on the machines to run everything in memory, so iSCSI or NFS is usually the way to go. You'd also need that for any kind of data persistence. You say workstations, so I'm assuming you'd like to be able to store something on these machines that actually survive a reboot. If so, you'll need somewhere to store it.

But your core problem is that when the Linux kernel has started up the memdisk memory is no longer available (only the Debian initrd is at that point available to the kernel). You'll therefore need to provide a network location for the rest of the files the livecd needs. Debian (and Ubuntu) uses a live system called casper, and you can find an example of how to boot it in my extensive menu linked from http://ipxe.org/examples. You can also find some general information about network booting at http://networkboot.org/ which you might find useful.
Find all posts by this user
Quote this message in a reply
2013-12-02, 20:26
Post: #5
RE: Live ISO over http
Check out Thinstation at http://www.thinstation.org. I've been using it for over three years. Very handy and useful especially if you have terminals/ thin clients. You don't have to deploy the ISO... you can deploy an initrd and vmlinuz kernel via iPXE and HTTP... most of the Thinstations I have rolled weigh in at ~85MB. At 1GbE, they take just under 2 seconds to load (assuming native iPXE microkernels).

"Thus far, you have been adrift within the sheltered harbor of my patience..."
Find all posts by this user
Quote this message in a reply
2013-12-04, 18:11
Post: #6
RE: Live ISO over http
MultimediaMan: Could you give some more details on which ThinStation download you used and how you've setup your iPXE boot script? Do you have to build from source or can you use binaries?
Visit this user's website Find all posts by this user
Quote this message in a reply
2013-12-05, 13:25
Post: #7
RE: Live ISO over http
Whats the layout of the liveCD? Kernel and intrd for sure. But what with the rest. Or did you pack the whole fs into the initrd?
I have a pxe configuration for the net isntaller. I had to load the squashfs file that holds the actuall filesystem over http using the kernel command line linus fetch=http://www.your.domain/path/to/squash.fs.
Find all posts by this user
Quote this message in a reply
2013-12-09, 22:12 (This post was last modified: 2013-12-09 22:16 by drewpy04.)
Post: #8
RE: Live ISO over http
New week, new problems... Sad

I tried following your example for Ubuntu-Live but still cannot figure out why this won't work.

iPXE config file:
kernel http://server/vmlinuz1
initrd http://server/initrd1
imgargs vmlinuz1 root=/dev/nfs boot=live netboot=nfs nfsroot=server:/nfsroot/current

filesystem.squashfs is the only file in /nfsroot/current with file permissions: 666 (rw for all)

iPXE loads the initrd and kernel
then I get the following messages:
No more network devices
Operating System not found

[edit]
Have done a TCP dump on the iPXE server. It is definitely transferring boot.ipxe vmlinuz1 and initrd1. All communications stop after that. Problem must be in the initrd as it never tries to load the filesystem over NFS
Find all posts by this user
Quote this message in a reply
2013-12-13, 11:50
Post: #9
RE: Live ISO over http
You forgot to add a "boot" command after the "imgargs" command. Right now you're just loading a bunch of files, but not executing any of them.
Visit this user's website Find all posts by this user
Quote this message in a reply
2013-12-28, 01:29 (This post was last modified: 2013-12-29 10:48 by robinsmidsrod.)
Post: #10
RE: Live ISO over http
I've gotten it to work recently using this to eliminate having to use NFS:

Code:
:deb-live
kernel http://domain/live/vmlinuz
initrd http://domain/live/initrd.img
imgargs vmlinuz boot=live config console=ttyS0 username=live fetch=http://domain/live/filesystem.squashfs
boot
Find all posts by this user
Quote this message in a reply
2014-02-20, 07:51 (This post was last modified: 2014-02-20 09:29 by espenbraastad.)
Post: #11
RE: Live ISO over http
I boot live OSes over the network and straight into memory all the time. It works like a charm, and memory is really cheap nowadays. I don't really see the memory issue. Consider an enterprise server where state is stored remotely (FC, iSCSI, NFS, HTTP, etc) - it is really a lot cheaper to run the entire operating system from memory and not having to shell out for the RAID controller and a couple of SAS drives just to run the operating system. The same goes for workstations in thin client environments, but easier management is the biggest win in those environments.

I use mostly EL6 from memory, and have written some blog posts about how to do it.

For Ubuntu and/or Debian, have a look at the debirf package.
Find all posts by this user
Quote this message in a reply
2014-02-20, 10:26
Post: #12
RE: Live ISO over http
espen: Thanks for the pointer to debirf. Got it running already, but it seems a bit too minimal for my taste. I'm curious how their build system is, though. This is my menu entry, if anyone is interested.

Code:
:debirf-minimal
:debirf-rescue
:debirf-xkiosk
iseq ${archl} i386 && set debirf-arch 486 || set debirf-arch ${archl}
iseq ${archl} i386 && set debirf-release wheezy || set debirf-release stable
echo Booting ${selected} ${debirf-version} ${debirf-arch} for ${inititator-iqn}
set base-url debirf
kernel -n vmlinuz ${base-url}/vmlinuz-${debirf-version}-${debirf-arch}
initrd ${base-url}/${selected}_${debirf-release}_${debirf-version}-${debirf-arch}.cgz
boot vmlinuz || goto failed
goto start
Visit this user's website Find all posts by this user
Quote this message in a reply
2014-02-20, 10:55
Post: #13
RE: Live ISO over http
The included example configurations for minimal, rescue and xkiosk are examples only. They can be customised and extended in any way you'd like. We also use boot parameters to customise each host during boot by parsing /proc/cmdline to look for our custom key=value settings. Example settings are git repository, branch, address to the configuration engine, etc, something like:

Code:
#!ipxe
kernel http://foo/vmlinuz git=git.example.com branch=printserver
initrd http://foo/initrd.img
boot
Find all posts by this user
Quote this message in a reply
2016-06-29, 10:54
Post: #14
RE: Live ISO over http
when use script
kernel ${base-url}/boot/vmlinuz
initrd ${base-url}/boot/initrd
imgargs vmlinuz splash=silent,theme:default load_ramdisk=1 ramdisk_blocksize=4096 root=/dev/ram0 ramdisk_size=786432 console=tty1 vt.global_cursor_default=0 quiet loglevel=3 LM=3
boot || goto failed

Get error

kernel panic - not syncing :VFS: Unable to mount root fs on unknown-block(1,0)
kernel Offset: disabled
---[ end Kernel panic - not syncing: VFS: Unable to mout root fs on unknown-block(1,0)

what's wrong?
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 3 Guest(s)