> On Feb 4, 2018, at 2:50 AM, Maurizio Vairani <maurizio1018_at_gmail.com> wrote: > > 2018-01-29 18:38 GMT+01:00 John Nielsen <lists_at_jnielsen.net>: > [ resending from correct email address ] > >> On Jan 29, 2018, at 6:05 AM, Maurizio Vairani <maurizio1018_at_gmail.com> wrote: >> >> I am running >> # uname >> -a >> >> FreeBSD 12.0-CURRENT FreeBSD 12.0-CURRENT #0 r328383: Thu Jan 25 04:48:52 >> UTC 2018 root_at_releng3.nyi.freebsd.org:/usr/obj/usr/src/amd64.amd64/sys/GENERIC >> amd64 >> >> After compiling the kernel module as discussed in this thread : >> https://lists.freebsd.org/pipermail/freebsd-current/2018-January/068272.html >> >> I can boot FreeBSD via iSCSI using iPXE. But when the isboot, the iSCSI >> boot driver version 0.2.13, starts I receive a panic: >> https://mega.nz/#!tkVwBBKA!PUj14-Za6KCNaoo9hxuXORRLQoWkb4LMvTdUA1BorD4 >> >> Any idea? > > Bummer! > > Aoyama-san- > > Are you still maintaining isboot? Can you help debug this issue on FreeBSD 12-CURRENT? > > Once we get it working I will update the port with whatever is needed and send you the patches in case you'd like to cut a new release. > > Thank you! > > I have solved the issue changing the function isboot_ifup() in the source file isboot.c. Nice work, thank you! I'll put the below together with the necessary changes to iscsi.c and update the port. If you could re-install from the port at that point as a further test/sanity check that would be great. > static int > isboot_ifup(struct ifnet *ifp) > { > struct socket *so; > struct ifreq ifr; > struct thread *td; > int error; > > td = curthread; > error = socreate(AF_INET, &so, SOCK_DGRAM, 0, td->td_ucred, td); > if (error) { > printf("%s: socreate, error=%d\n", __func__, error); > return (error); > } > > /* boot NIC */ > memset(&ifr, 0, sizeof(ifr)); > strlcpy(ifr.ifr_name, ifp->if_xname, sizeof(ifr.ifr_name)); > > /* set IFF_UP */ > error = ifioctl(so, SIOCGIFFLAGS, (caddr_t)&ifr, td); > if (error) { > printf("%s: ifioctl SIOCGIFFLAGS, error=%d\n", __func__, error); > return (error); > } > > ifr.ifr_flags |= IFF_UP; > error = ifioctl(so, SIOCSIFFLAGS, (caddr_t)&ifr, td); > if (error) { > printf("%s, ifioctl SIOCSIFFLAGS, error=%d\n", __func__, error); > return (error); > } > soclose(so); > return (0); > } > > I have added a socket in the ifioctl() call as in the /usr/src/sys/nfs/bootp_subr.c source. > Please let me know if you prefer a patch. > -- > Regards, > MaurizioReceived on Tue Feb 06 2018 - 17:25:30 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:14 UTC