Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 23 Sep 2015 17:21:00 -0600
From:      John Nielsen <lists@jnielsen.net>
To:        =?utf-8?Q?Edward_Tomasz_Napiera=C5=82a?= <trasz@freebsd.org>
Cc:        freebsd-current Current <freebsd-current@freebsd.org>, aoyama@peach.ne.jp,  Yonas Yanfa <yonas@fizk.net>
Subject:   Re: Add isboot iSCSI boot driver to FreeBSD
Message-ID:  <404EF3F8-B8CB-4703-90AF-11FBA1CD2A7F@jnielsen.net>
In-Reply-To: <20150923212520.GA7390@brick>
References:  <56025EEE.50404@fizk.net> <5B296016-F14D-48A9-8DC6-0D8EA28AE891@jnielsen.net> <20150923212520.GA7390@brick>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sep 23, 2015, at 3:25 PM, Edward Tomasz Napiera=C5=82a =
<trasz@freebsd.org> wrote:

> On 0923T0916, John Nielsen wrote:
>> On Sep 23, 2015, at 2:12 AM, Yonas Yanfa <yonas@fizk.net> wrote:
>>=20
>>> isboot is a iSCSI boot driver written by Daisuke Aoyama that allows =
you to boot your root partition using iSCSI.
>> [,,,]
>>> This was first announced way back in June, 2010:
>>>=20
>>> =
https://lists.freebsd.org/pipermail/freebsd-scsi/2010-June/004425.html
>>>=20
>>> I've tested the current version (v0.2.10) and it works with FreeBSD =
10.2 booting a ZFS on root installation:
>>>=20
>>> http://www.peach.ne.jp/archives/isboot/isboot-0.2.10.tar.gz
>>>=20
>>> I've used iSCSI boot with Ubuntu Server for a while and it's been =
very useful. I'm looking forward to FreeBSD having the same capability =
built-in.
>>=20
>> +1. I have used this module in the past and it is extremely useful. =
Thanks for the pointer, I wasn=E2=80=99t aware it had been updated for =
FreeBSD 10.x so recently. I=E2=80=99ve also wondered why this is not =
part of FreeBSD by default.
>>=20
>> Aoyama-san, do you have any objection to this code being included in =
FreeBSD? If not, can you formally assign it a BSD or other friendly =
license? Thank you again for the work!
>>=20
>> Trasz (or anyone), is there other work to support iSCSI booting =
and/or IBFT on FreeBSD? Anything else isboot might conflict with? Any =
problems with integrating the code or with the code itself?
>=20
> The basic problem with isboot is that it only works with the old iSCSI
> initiator, which is now marked obsolete.  AFAIK there is no ready =
solution
> that works with the new one - however, it should be possible to use =
upcoming
> reroot support to achieve this: boot with a temporary rootfs, mounted =
from
> a ramdisk preloaded by loader(8), setup an iSCSI session, and then =
replace
> the temporary rootfs with the real one, mounted over iSCSI.

Ah, thank you for clarifying. I forgot that 10.x still supports the old =
initiator.

The reroot approach sounds interesting but less straightforward. The =
beauty of isboot is that the kernel=E2=80=94loaded from a normal root =
disk that happens to be iSCSI-connected=E2=80=94knows how to =
re-establish its network and iSCSI connections just from the information =
in the iSCSI Boot Firmware Table, i.e. native iSCSI booting. I=E2=80=99d =
love to see the same approach continued with the new initiator. I =
suspect that a new implementation could re-use all of the IBFT code and =
most of the networking code, but I don=E2=80=99t know how hard the =
remaining pieces would be. I may have a chance to look in to it but a =
kernel programmer I am not, sadly.

I think a =E2=80=9Cnative=E2=80=9D iSCSI reroot approach could be =
feasible at some point; for me that would mean that the loader could =
load the kernel and a standard-ish (or easily auto-generated) mfsroot =
from the iSCSI volume seamlessly, then something in the mfsroot parses =
the IBFT and sets up the network and iSCSI connections before switching =
root.

JN




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?404EF3F8-B8CB-4703-90AF-11FBA1CD2A7F>