I ran into a interesting problem, and want to share the solution, in case anybody else can use it. I'm upgrading a system which used to be i386 to amd64, but part of its job is to compile i386 nanobsd images. That's a solved problem, but I also needed a couple of ports installed, which for reasons of paperwork, must be compiled from source. Cross-compiling ports is not something I wanted to get into, but happily amd64 cpus can run in i386 mode these days: phk_ports () ( set -e cd ${NANO_WORLDDIR} mkdir -p usr/ports trap "umount ${NANO_WORLDDIR}/usr/ports ; umount ${NANO_WORLDDIR}/dev" 1 2 15 EXIT mount -t nullfs -o readonly /usr/ports ${NANO_WORLDDIR}/usr/ports mount -t devfs devfs ${NANO_WORLDDIR}/dev echo ' ldconfig -elf for i in ports-mgmt/pkg sysutils/smartmontools net/trafshow do cd /usr/ports/${i} make \ WRKDIRPREFIX=/tmp \ BATCH=YES \ OPTIONS_UNSET="DOCS NLS" \ all install clean done ' > ${NANO_WORLDDIR}/tmp/_job.sh chroot ${NANO_WORLDDIR} /bin/sh /tmp/_job.sh umount ${NANO_WORLDDIR}/usr/ports umount ${NANO_WORLDDIR}/dev trap - 1 2 15 EXIT ) customize_cmd phk_ports The same basic trick can of course be be used for any i386 software which must be compiled from source. -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk_at_FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence.Received on Sun Nov 20 2016 - 17:14:41 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:08 UTC