tech-install archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: ./build.sh install-image: Should that work for all ports?
> As a CI project, I'm doing quite a lot of automated NetBSD builds,
> basically calling build.sh for
> tools/libs/release and {iso,install,live}-image . That's done on a
> quite recent NetBSD -current VM (auto-installed from the install ISO
> from the previous round) as well as in a Linux-based Docker container
> running `sid` Debian userland.
>
> I noticed that some in machine/architecture combinations (e.g.
> evbarm with earmv4eb) the install-image doesn't build as it tries to
> fetch kern-GENERIC (which isn't built.)
Initially install-images were only implemented for i386 and amd64.
For evbarm, it looks only aarch64 and earmv7hf (i.e. RPi 3/4)
are implemented:
https://github.com/NetBSD/src/commit/52ca013
See src/distrib/*/installimage dirs for details:
https://github.com/NetBSD/src/tree/trunk/distrib/amd64/installimage
https://github.com/NetBSD/src/tree/trunk/distrib/evbarm/installimage
https://github.com/NetBSD/src/tree/trunk/distrib/i386/installimage
Building install-images are a bit complicated because:
- bootstrap methods are quite machine dependent
- not all ports have removable external storages
- several ports require machine specific file systems
For CI use, I guess building live-images (i.e. no installer binaries)
are more appropriate and simpler to configure.
There several liveimages, mostly for emulators:
https://github.com/NetBSD/src/tree/trunk/distrib/hpcarm/liveimage
https://github.com/NetBSD/src/tree/trunk/distrib/pmax/liveimage/emuimage
https://github.com/NetBSD/src/tree/trunk/distrib/sparc/liveimage/emuimage
https://github.com/NetBSD/src/tree/trunk/distrib/sun3/liveimage/emuimage
https://github.com/NetBSD/src/tree/trunk/distrib/zaurus/liveimage
Anyway, you can add and configure liveimage or installimage dirs
in src/distrib/${MACHINE} dir for your own use.
See following common Makefiles what should be done on image builds:
https://github.com/NetBSD/src/blob/trunk/distrib/common/bootimage/Makefile.bootimage
https://github.com/NetBSD/src/blob/trunk/distrib/common/bootimage/Makefile.installimage
https://github.com/NetBSD/src/blob/trunk/distrib/common/bootimage/Makefile.liveimage
Machine dependent stuff (install kernel names) are handled in MD dirs like:
https://github.com/NetBSD/src/blob/trunk/distrib/amd64/liveimage/Makefile.liveimage
https://github.com/NetBSD/src/blob/trunk/distrib/zaurus/liveimage/Makefile
Thanks,
---
Izumi Tsutsui
Home |
Main Index |
Thread Index |
Old Index