I'll have to look at the iscsi and zfs initramfs hooks, and see if I can model it most concisely on what they currently do. Between the two, I should be able to hack something up.
On Mon, Jan 27, 2014 at 9:46 PM, Stuart Longland <stuartl@xxxxxxxxxx> wrote:
On 28/01/14 15:29, Schlacta, Christ wrote:Not sure of the full details, but the way I'd approach this would be:
> iPXE supports loading a kernel and an initrd from https.
> http://lists.ipxe.org/pipermail/ipxe-devel/2012-May/001465.html
> The part I have 0 experience with, and wouldn't know where to start is
> with modifying hooks for initramfs. I am hoping someone has most of this
> hashed out already.
>
> Coincidentally, since ceph can export files over http, and I'm guessing
> over https, it should be fairly simple to simply mount /boot over cephfs
> and also have it exported via https for the boot process.
- Build a ramdisk with busybox, libc, Ceph's `rbd` tool, and any other
needed libraries, kernel modules, etc.
- Create a shell script /linuxrc with something like the following:
#!/bin/sh
# modprobe any drivers you need here; rbd, etc
# Bring up your network interface; pick up DNS settings, etc
udhcpc eth0
# Map the rbd device
rbd map pool/rbd-name
# Tell mdev to generate the /dev node
mdev -s
# Now try mounting the device
mount /dev/rbd0 /initrd -o ... # mount options here
# The following is from the pivot_root manpage:
pivot_root . /initrd
exec chroot . sh -c 'umount /initrd; exec /sbin/init' \
<dev/console >dev/console 2>&1
- Optional: symlink /linuxrc to /init; for initramfs compatibility
- Package up your initrd, then cross your fingers.
I have no idea if the above will work, but that'd be my approach.
Regards,
--
Stuart Longland
Systems Engineer
_ ___
\ /|_) | T: +61 7 3535 9619
\/ | \ | 38b Douglas Street F: +61 7 3535 9699
SYSTEMS Milton QLD 4064 http://www.vrt.com.au
_______________________________________________ ceph-users mailing list ceph-users@xxxxxxxxxxxxxx http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com