Re: a dirty trick: i386 nanobsd ports on amd64
On 21/11/2016 04:44, Poul-Henning Kamp wrote: 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: That is something poudriere is designed to do. i386 on amd64 is straight forward, you can also use qemu to cross compile for other archs Using poudriere you can also setup a pkg repo with the ports you build, just setup a http server then set pkg on your nano machine to use something like http://mypkgbuilder/packages/11i386 as the url for it's packages. -- FreeBSD - the place to B...Software Developing Shane Ambler ___ freebsd-current@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
a dirty trick: i386 nanobsd ports on amd64
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 p...@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. ___ freebsd-current@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"