Created attachment 161313 [details] shar file of the new port This is a port to simplify installation of isboot.ko, a kernel module which allows booting FreeBSD from an iSCSI root volume.
Created attachment 161315 [details] Patch to isboot-kmod port Hi John, thanks for creating this port. I found a small typo, patch attached. We should mention this port in the FreeBSD Handbook to further increase exposure.
Also, pkg-message.in mentions the README being located in %%DOCSDIR%%/README (or /usr/local/share/doc/isboot-kmod/README) but I didn't find it there.
(In reply to John Nielsen from comment #0) Please do not set OPTIONS_DEFAULT+=VIMAGE based on the result of kern.features.vimage. It can break the package when a package building machine is different from the consumers.
Test-builds: works on 10.2a+i, fails on current-amd64 and 9.3amd. See http://people.freebsd.org/~pi/logs/net__isboot-kmod-cur-1443039437.txt 9.3 does not provide a valid error log via poudriere, but prints [00:00:04] ====>> Warning: (net/isboot-kmod): "Makefile", line 23: Malformed conditional ("${VIMAGE_SUPPORT}" == "1") [00:00:04] ====>> Warning: (net/isboot-kmod): "Makefile", line 25: if-less endif [00:00:04] ====>> Warning: (net/isboot-kmod): make: fatal errors encountered -- cannot continue "Makefile", line 23: Malformed conditional ("${VIMAGE_SUPPORT}" == "1") "Makefile", line 25: if-less endif make: fatal errors encountered -- cannot continue
Created attachment 161318 [details] revised version of the port (shar) Here is a revised .shar addressing most comments so far: - Fixed pkg-message typo - No longer checking sysctl kern.features.vimage, so the default is always without VIMAGE - As a side effect of the above the Makefile should now play nicely with make in FreeBSD 9, please test
@yonas, did you de-select the "DOCS" port option or do you have NOPORTDOCS or similar defined in /etc/make.conf? Either of those would (correctly) prevent the README from being installed. If not, please let me know what version of FreeBSD you are on and how you are trying to build the port so I can attempt to reproduce the issue.
(In reply to John Nielsen from comment #6) @yonas, did you de-select the "DOCS" port option or do you have NOPORTDOCS or similar defined in /etc/make.conf? Either of those would (correctly) prevent the README from being installed. If not, please let me know what version of FreeBSD you are on and how you are trying to build the port so I can attempt to reproduce the issue. I have the DOCS port option enabled, and I don't have a /etc/make.conf file. I'm using FreeBSD 10.2. In the Makefile, the line: ${INSTALL_MAN} ${PORTDOCS:S|^|${WRKSRC}/../|} ${STAGEDIR}${DOCSDIR} should it make use of the DOCS_PORTDOCS variable?
(In reply to Yonas Yanfa from comment #7) No, the contents of DOCS_PORTDOCS are appended to PORTDOCS if the DOCS option is selected. What do you get for each of the following when run from the isboot-kmod port directory? make -V PORT_OPTIONS make -V PORTDOCS make && find `make -V STAGEDIR` -type f
(In reply to John Nielsen from comment #8) - You can simply use PORTDOCS, not DOCS_PORTDOCS. PORTDOCS is no-op when DOCS is not defined. - Please use post-install-DOCS-on target instead of .if defined(PORTDOCS) like the following. That is a preferred way. post-install-DOCS-on: ${MKDIR} ${STAGEDIR}${DOCSDIR} cd ${WRKDIR} && ${INSTALL_MAN} ${PORTDOCS} ${STAGEDIR}${DOCSDIR} WRKDIR is defined as ../${WRKSRC} in this case. - IGNORE is not necessary because 8.x is no longer supported.
(In reply to John Nielsen from comment #8) Here's the output: [root@fbsd3 isboot-kmod]# make -V PORT_OPTIONS DOCS EXAMPLES IPV6 NLS [root@fbsd3 isboot-kmod]# make -V PORTDOCS [root@fbsd3 isboot-kmod]# make && find `make -V STAGEDIR` -type f /usr/ports/net/isboot-kmod/work/stage/boot/modules/isboot.ko
(In reply to John Nielsen from comment #5) Yes, builds on 9.3amd64.
Created attachment 161319 [details] 2nd revised version (shar) Thanks hrs for your feedback. This version incorporates your suggestions and results in a much simpler Makefile. @yonas, let me know if you end up with a README after installing from this version. Kurt, thanks for build testing on 9.3.
Created attachment 161320 [details] next-try This version builds on all versions (11a, 10.2a+i, 9.3a)
(In reply to Kurt Jaeger from comment #13) Nice work, I can find the readme using attachment 161320 [details].
A commit references this bug: Author: pi Date: Thu Sep 24 10:29:00 UTC 2015 New revision: 397686 URL: https://svnweb.freebsd.org/changeset/ports/397686 Log: New port: net/isboot-kmod This installs Daisuke Aoyama's isboot kernel module, which allows booting FreeBSD directly from an iSCSI root disk. If your BIOS supports iSCSI you may configure your target settings in the BIOS and boot directly. If not, you may PXE boot using software that contains iSCSI support such as iPXE. The module reads the iSCSI Boot Firmware Table (IBFT) to configure the network and re-attach the volume once the kernel begins execution. WWW: http://shell.peach.ne.jp/aoyama/archives/2115 (Japanese) PR: 203294 Submitted by: John Nielsen <john@jnielsen.net> Changes: head/net/Makefile head/net/isboot-kmod/ head/net/isboot-kmod/Makefile head/net/isboot-kmod/distinfo head/net/isboot-kmod/files/ head/net/isboot-kmod/files/patch-iscsi.c head/net/isboot-kmod/files/pkg-message.in head/net/isboot-kmod/pkg-descr
Committed, thanks!
You guys are awesome :P
(In reply to Kurt Jaeger from comment #16) Thanks for the -HEAD patch and for committing! And thanks again all for the feedback and testing.