usr.sbin/installboot: Synchronize on NetBSD-current (30/03/2021 16:09 UTC)
This commit is contained in:
parent
ba797217b8
commit
b63e576677
|
|
@ -2956,6 +2956,11 @@
|
|||
./usr/share/i18n/iconv base-sysutil-share
|
||||
./usr/share/i18n/iconv/iconv.dir base-sysutil-share nls
|
||||
./usr/share/info base-texinfo-share
|
||||
./usr/share/installboot base-sysutil-share
|
||||
./usr/share/installboot/evbarm base-sysutil-share
|
||||
./usr/share/installboot/evbarm/boards.plist base-sysutil-share
|
||||
./usr/share/installboot/evbmips base-sysutil-share
|
||||
./usr/share/installboot/evbmips/boards.plist base-sysutil-share
|
||||
./usr/share/keymaps base-sys-share
|
||||
./usr/share/keymaps/amiga base-sys-share
|
||||
./usr/share/keymaps/atari base-sys-share
|
||||
|
|
|
|||
|
|
@ -1115,7 +1115,7 @@
|
|||
./usr/sbin/groupmod minix-base
|
||||
./usr/sbin/i2cscan minix-base
|
||||
./usr/sbin/inetd minix-base
|
||||
./usr/sbin/installboot_nbsd minix-base
|
||||
./usr/sbin/installboot minix-base
|
||||
./usr/sbin/kernel minix-base
|
||||
./usr/sbin/link minix-base
|
||||
./usr/sbin/lwresd minix-base
|
||||
|
|
@ -2011,6 +2011,11 @@
|
|||
./usr/share/info/ld.info minix-base binutils
|
||||
./usr/share/info/texinfo.info minix-base
|
||||
./usr/share/info/vi.info minix-base
|
||||
./usr/share/installboot minix-base
|
||||
./usr/share/installboot/evbarm minix-base
|
||||
./usr/share/installboot/evbarm/boards.plist minix-base
|
||||
./usr/share/installboot/evbmips minix-base
|
||||
./usr/share/installboot/evbmips/boards.plist minix-base
|
||||
./usr/share/keymaps minix-base
|
||||
./usr/share/legal minix-base
|
||||
./usr/share/legal/COPYRIGHT minix-base
|
||||
|
|
|
|||
|
|
@ -637,7 +637,7 @@
|
|||
./usr/libdata/debug/usr/sbin/fbdctl.debug minix-debug debug
|
||||
./usr/libdata/debug/usr/sbin/i2cscan.debug minix-debug debug
|
||||
./usr/libdata/debug/usr/sbin/inetd.debug minix-debug debug
|
||||
./usr/libdata/debug/usr/sbin/installboot_nbsd.debug minix-debug debug
|
||||
./usr/libdata/debug/usr/sbin/installboot.debug minix-debug debug
|
||||
./usr/libdata/debug/usr/sbin/kernel.debug minix-debug debug
|
||||
./usr/libdata/debug/usr/sbin/link.debug minix-debug debug
|
||||
./usr/libdata/debug/usr/sbin/makefs.debug minix-debug debug
|
||||
|
|
|
|||
|
|
@ -3514,7 +3514,7 @@
|
|||
./usr/man/man8/inet.8 minix-man obsolete
|
||||
./usr/man/man8/inetd.8 minix-man
|
||||
./usr/man/man8/init.8 minix-man
|
||||
./usr/man/man8/installboot_nbsd.8 minix-man
|
||||
./usr/man/man8/installboot.8 minix-man
|
||||
./usr/man/man8/intr.8 minix-man
|
||||
./usr/man/man8/irdpd.8 minix-man obsolete
|
||||
./usr/man/man8/link.8 minix-man
|
||||
|
|
|
|||
|
|
@ -250,6 +250,9 @@
|
|||
./usr/share/i18n/esdb/UTF
|
||||
./usr/share/i18n/iconv
|
||||
./usr/share/info
|
||||
./usr/share/installboot
|
||||
./usr/share/installboot/evbarm
|
||||
./usr/share/installboot/evbmips
|
||||
./usr/share/keymaps
|
||||
./usr/share/kyua-atf-compat
|
||||
./usr/share/kyua-cli
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@ check_mbr()
|
|||
read ok
|
||||
if [ "$ok" = Y -o "$ok" = y -o "$ok" = "" ]
|
||||
then
|
||||
installboot_nbsd -m "$disk" /usr/mdec/mbr >/dev/null
|
||||
installboot -m "$disk" /usr/mdec/mbr >/dev/null
|
||||
fi
|
||||
fi
|
||||
rm temp_mbr_netbsd
|
||||
|
|
@ -547,7 +547,7 @@ test -n "$keymap" && cp -p "/usr/lib/keymaps/$keymap.map" /mnt/etc/keymap
|
|||
|
||||
# XXX we have to use "-f" here, because installboot worries about BPB, which
|
||||
# we don't have...
|
||||
installboot_nbsd -f /dev/$primary /usr/mdec/bootxx_minixfs3 >/dev/null || exit
|
||||
installboot -f /dev/$primary /usr/mdec/bootxx_minixfs3 >/dev/null || exit
|
||||
# give the install the boot loader
|
||||
cp /usr/mdec/boot_monitor /mnt/
|
||||
minixdir=/mnt/boot/minix_default
|
||||
|
|
|
|||
|
|
@ -35,6 +35,6 @@ then
|
|||
fi
|
||||
|
||||
echo "Installing bootxx_minixfs3 into $disk."
|
||||
installboot_nbsd "$disk" "$MDEC/bootxx_minixfs3"
|
||||
installboot "$disk" "$MDEC/bootxx_minixfs3"
|
||||
|
||||
sync
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ make_hdimage()
|
|||
# installboot -m needs at least 1KB
|
||||
dd < /dev/zero >tmpimage count=2
|
||||
partition -fm tmpimage 2 81:$rootsects* 0:0 81:$usrsects
|
||||
installboot_nbsd -m tmpimage /usr/mdec/mbr
|
||||
installboot -m tmpimage /usr/mdec/mbr
|
||||
dd < tmpimage > subpart count=1
|
||||
|
||||
primsects=`expr 1 + $rootsects + $usrsects`
|
||||
|
|
@ -26,7 +26,7 @@ make_hdimage()
|
|||
dd < /dev/zero count=$padsects
|
||||
} > hdimage
|
||||
partition -m hdimage 81:`expr $primsects + $padsects`*
|
||||
installboot_nbsd -m hdimage /usr/mdec/mbr
|
||||
installboot -m hdimage /usr/mdec/mbr
|
||||
}
|
||||
|
||||
retrieve()
|
||||
|
|
|
|||
|
|
@ -336,7 +336,7 @@ isosects=`expr $isosects + $isopad`
|
|||
dd if=$TMPDISKUSR bs=$BS count=$USRBLOCKS ) >m
|
||||
mv m $IMG
|
||||
# Make CD partition table
|
||||
installboot_nbsd -m $IMG /usr/mdec/mbr
|
||||
installboot -m $IMG /usr/mdec/mbr
|
||||
# Make sure there is no hole..! Otherwise the ISO format is
|
||||
# unreadable.
|
||||
partition -m $IMG 0 81:$isosects 81:$ROOTSECTS 81:$USRSECTS
|
||||
|
|
|
|||
|
|
@ -1,21 +1,29 @@
|
|||
# $NetBSD: Makefile,v 1.33 2014/08/08 09:34:10 apb Exp $
|
||||
# $NetBSD: Makefile,v 1.36 2019/05/07 05:02:42 thorpej Exp $
|
||||
# from @(#)Makefile 8.1 (Berkeley) 6/5/93
|
||||
|
||||
# Missing: ms
|
||||
|
||||
.include <bsd.own.mk>
|
||||
#__MINIX: dict doc examples me \
|
||||
#__MINIX: dict examples me \
|
||||
# tabset tmac wscons xml
|
||||
|
||||
.if ${MKSHARE} != "no" || \
|
||||
make(clean) || make(cleandir) || make(distclean) || make(obj)
|
||||
SUBDIR= legal man misc mk \
|
||||
SUBDIR= installboot legal man misc mk \
|
||||
terminfo
|
||||
|
||||
#__MINIX:
|
||||
#.if ${MKGROFF} != "no"
|
||||
#SUBDIR+=doc
|
||||
#.endif
|
||||
|
||||
.if ${MKNLS} != "no"
|
||||
SUBDIR+=i18n locale nls
|
||||
.endif
|
||||
.endif
|
||||
|
||||
#__MINIX:
|
||||
#SUBDIR.roff+= doc
|
||||
|
||||
# Speedup stubs for some subtrees that don't need to run these rules
|
||||
includes-examples includes-man:
|
||||
@true
|
||||
|
|
|
|||
9
share/installboot/Makefile
Normal file
9
share/installboot/Makefile
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
# $NetBSD: Makefile,v 1.2 2020/06/21 17:15:51 thorpej Exp $
|
||||
|
||||
.include <bsd.own.mk>
|
||||
|
||||
.if ${MKSHARE} != "no"
|
||||
SUBDIR= evbarm evbmips
|
||||
.endif
|
||||
|
||||
.include <bsd.subdir.mk>
|
||||
12
share/installboot/evbarm/Makefile
Normal file
12
share/installboot/evbarm/Makefile
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
# $NetBSD: Makefile,v 1.1 2019/05/07 05:02:42 thorpej Exp $
|
||||
|
||||
NOOBJ= # defined
|
||||
|
||||
.include <bsd.own.mk>
|
||||
|
||||
.if ${MKSHARE} != "no"
|
||||
FILES= boards.plist
|
||||
FILESDIR= /usr/share/installboot/evbarm
|
||||
.endif
|
||||
|
||||
.include <bsd.prog.mk>
|
||||
507
share/installboot/evbarm/boards.plist
Normal file
507
share/installboot/evbarm/boards.plist
Normal file
|
|
@ -0,0 +1,507 @@
|
|||
<!-- $NetBSD: boards.plist,v 1.9 2020/06/21 19:39:11 thorpej Exp $ -->
|
||||
<!--
|
||||
Copyright (c) 2019 The NetBSD Foundation, Inc.
|
||||
All rights reserved.
|
||||
|
||||
This code is derived from software contributed to The NetBSD Foundation
|
||||
by Jason R. Thorpe.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGE.
|
||||
-->
|
||||
<plist>
|
||||
<dict>
|
||||
<!--
|
||||
-- altera boards
|
||||
-->
|
||||
<key>terasic,de0-atlas</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>Terasic DE-0(Atlas)</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>de0-nanosoc</string>
|
||||
</dict>
|
||||
|
||||
<!--
|
||||
-- amlogic boards
|
||||
-->
|
||||
<key>hardkernel,odroid-c2</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>Hardkernel ODROID-C2</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>odroid-c2</string>
|
||||
</dict>
|
||||
<key>libretech,cc</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>Libre Computer Board AML-S905X-CC</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>libretech-cc</string>
|
||||
</dict>
|
||||
|
||||
<!--
|
||||
-- exynos boards
|
||||
-->
|
||||
<key>hardkernel,odroid-xu3</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>Hardkernel Odroid XU3</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>odroid-xu3</string>
|
||||
</dict>
|
||||
|
||||
<!--
|
||||
-- rockchip boards
|
||||
-->
|
||||
<key>pine64,rock64</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>Pine64 Rock64</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>rock64</string>
|
||||
</dict>
|
||||
<key>pine64,rockpro64</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>Pine64 RockPro64</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>rockpro64</string>
|
||||
</dict>
|
||||
<key>pine64,pinebook-pro</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>Pine64 Pinebook Pro</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>pinebook-pro</string>
|
||||
</dict>
|
||||
<key>asus,rk3288-tinker</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>Rockchip RK3288 Asus Tinker Board</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>tinker</string>
|
||||
</dict>
|
||||
|
||||
<!--
|
||||
-- mediatek boards
|
||||
-->
|
||||
<key>bananapi,bpi-r2</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>Bananapi BPI-R2</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>bananapi-r2</string>
|
||||
</dict>
|
||||
|
||||
<!--
|
||||
-- nvidia boards
|
||||
-->
|
||||
<key>nvidia,jetson-tk1</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>NVIDIA Tegra124 Jetson TK1</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>jetson-tk1</string>
|
||||
</dict>
|
||||
<key>nvidia,p2371-2180</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>NVIDIA Jetson TX1 Developer Kit</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>jetson-tx1</string>
|
||||
</dict>
|
||||
<key>nvidia,p2771-0000</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>NVIDIA Jetson TX2 Developer Kit</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>jetson-tx2</string>
|
||||
</dict>
|
||||
<key>nvidia,p3450-0000</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>NVIDIA Jetson Nano Developer Kit</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>jetson-nano</string>
|
||||
</dict>
|
||||
|
||||
<!--
|
||||
-- omap boards
|
||||
-->
|
||||
<key>ti,omap3-beagle</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>TI OMAP3 BeagleBoard</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>beagleboard</string>
|
||||
</dict>
|
||||
<key>ti,am335x-bone</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>TI AM335x BeagleBone</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>beaglebonewhite</string>
|
||||
</dict>
|
||||
<key>ti,am335x-bone-black</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>TI AM335x BeagleBone Black</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>beagleboneblack</string>
|
||||
</dict>
|
||||
<key>ti,omap4-panda</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>TI OMAP4 PandaBoard</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>pandaboard</string>
|
||||
</dict>
|
||||
<key>ti,omap4-panda-es</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>TI OMAP4 PandaBoard-ES</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>pandaboard</string>
|
||||
</dict>
|
||||
|
||||
<!--
|
||||
-- sunxi boards
|
||||
-->
|
||||
<!-- Banana Pi-branded board "compatible" strings are a mess.
|
||||
We will just keep them all together here. -->
|
||||
<key>lamobo,lamobo-r1</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>Lamobo R1</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>lamobo-r1</string>
|
||||
</dict>
|
||||
<key>lemaker,bananapi</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>LeMaker Banana Pi</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>bananapi</string>
|
||||
</dict>
|
||||
<key>lemaker,bananapro</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>LeMaker Banana Pro</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>bananapro</string>
|
||||
</dict>
|
||||
<key>sinovoip,bpi-m2-zero</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>Banana Pi BPI-M2 Zero</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>bananapi-m2-zero</string>
|
||||
</dict>
|
||||
<key>sinovoip,bpi-m3</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>Banana Pi BPI-M3</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>bananapi-m3</string>
|
||||
</dict>
|
||||
<key>sinovoip,bpi-p2-zero</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>Banana Pi BPI-P2 Zero</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>bananapi-p2-zero</string>
|
||||
</dict>
|
||||
|
||||
<key>cubietech,cubieboard2</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>Cubietech Cubieboard2</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>cubieboard2</string>
|
||||
</dict>
|
||||
<key>cubietech,a80-cubieboard4</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>Cubietech Cubieboard4</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>cubieboard4</string>
|
||||
</dict>
|
||||
<key>cubietech,cubietruck</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>Cubietech Cubietruck</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>cubietruck</string>
|
||||
</dict>
|
||||
<key>cubietech,cubietruck-plus</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>Cubietech Cubietruck Plus</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>cubietruck-plus</string>
|
||||
</dict>
|
||||
|
||||
<key>friendlyarm,nanopi-m1</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>FriendlyArm NanoPi M1</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>nanopi-m1</string>
|
||||
</dict>
|
||||
<key>friendlyarm,nanopi-neo</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>FriendlyARM NanoPi NEO</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>nanopi-neo</string>
|
||||
</dict>
|
||||
<key>friendlyarm,nanopi-neo-plus2</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>FriendlyARM NanoPi NEO Plus2</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>nanopi-neo-plus2</string>
|
||||
</dict>
|
||||
<key>friendlyarm,nanopi-neo2</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>FriendlyARM NanoPi NEO 2</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>nanopi-neo2</string>
|
||||
</dict>
|
||||
<key>friendlyarm,nanopi-r1</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>FriendlyARM NanoPi R1</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>nanopi-r1</string>
|
||||
</dict>
|
||||
|
||||
<key>libretech,all-h3-cc-h2-plus</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>Libre Computer Board ALL-H3-CC H2+</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>libretech-all-h3-cc-h2-plus</string>
|
||||
</dict>
|
||||
<key>libretech,all-h3-cc-h3</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>Libre Computer Board ALL-H3-CC H3</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>libretech-all-h3-cc-h3</string>
|
||||
</dict>
|
||||
<key>libretech,all-h3-cc-h5</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>Libre Computer Board ALL-H3-CC H5</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>libretech-all-h3-cc-h5</string>
|
||||
</dict>
|
||||
|
||||
<key>merrii,a31-hummingbird</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>Merrii A31 Hummingbird</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>hummingbird-a31</string>
|
||||
</dict>
|
||||
|
||||
<key>nextthing,chip</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>NextThing C.H.I.P.</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>chip</string>
|
||||
</dict>
|
||||
<key>nextthing,pocketchip</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>NextThing PocketC.H.I.P.</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>pocketchip</string>
|
||||
</dict>
|
||||
<key>nextthing,chip-pro</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>NextThing C.H.I.P. Pro</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>chip-pro</string>
|
||||
</dict>
|
||||
|
||||
<key>olimex,a10-olinuxino-lime</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>Olimex A10-OLinuXino-LIME</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>a10-olinuxino-lime</string>
|
||||
</dict>
|
||||
<key>olimex,a20-olinuxino-lime2</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>Olimex A20-OLinuXino-LIME2</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>a20-olinuxino-lime2</string>
|
||||
</dict>
|
||||
<key>olimex,a20-olinuxino-lime2-emmc</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>Olimex A20-OLinuXino-LIME2-eMMC</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>a20-olinuxino-lime2-emmc</string>
|
||||
</dict>
|
||||
<key>olimex,a20-olinuxino-micro</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>Olimex A20-OLinuXino-MICRO</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>a20-olinuxino-micro-emmc</string>
|
||||
</dict>
|
||||
<key>olimex,a20-olinuxino-micro-emmc</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>Olimex A20-OLinuXino-MICRO-eMMC</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>a20-olinuxino-micro-emmc</string>
|
||||
</dict>
|
||||
|
||||
<key>pine64,pine64-plus</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>Pine64+</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>pine64-plus</string>
|
||||
</dict>
|
||||
<key>pine64,pine64</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>Pine64</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>pine64</string>
|
||||
</dict>
|
||||
<key>pine64,pinebook</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>Pinebook</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>pinebook</string>
|
||||
</dict>
|
||||
<key>pine64,sopine-baseboard</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>SoPine with baseboard</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>sopine-baseboard</string>
|
||||
</dict>
|
||||
<key>pine64,pine64-lts</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>Pine64 LTS</string>
|
||||
<!-- Same u-boot as sopine-baseboard. -->
|
||||
<key>u-boot-pkg</key>
|
||||
<string>sopine-baseboard</string>
|
||||
</dict>
|
||||
<key>pine64,pine-h64</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>Pine H64</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>pine-h64</string>
|
||||
</dict>
|
||||
|
||||
<key>terasic,de0-atlas</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>Terasic DE-0(Atlas)</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>de0-nanosoc</string>
|
||||
</dict>
|
||||
|
||||
<key>xunlong,orangepi-2</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>Xunlong Orange Pi 2</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>orangepi-2</string>
|
||||
</dict>
|
||||
<key>xunlong,orangepi-one</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>Xunlong Orange Pi One</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>orangepi-one</string>
|
||||
</dict>
|
||||
<key>xunlong,orangepi-lite</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>Xunlong Orange Pi Lite</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>orangepi-lite</string>
|
||||
</dict>
|
||||
<key>xunlong,orangepi-lite2</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>Xunlong Orange Pi Lite2</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>orangepi-lite2</string>
|
||||
</dict>
|
||||
<key>xunlong,orangepi-plus2e</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>Xunlong Orange Pi Plus 2E</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>orangepi-plus2e</string>
|
||||
</dict>
|
||||
<key>xunlong,orangepi-zero</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>Xunlong Orange Pi Zero</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>orangepi-zero</string>
|
||||
</dict>
|
||||
<key>xunlong,orangepi-zero-plus</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>Xunlong Orange Pi Zero Plus</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>orangepi-zero-plus</string>
|
||||
</dict>
|
||||
|
||||
<!--
|
||||
-- xilinx boards
|
||||
-->
|
||||
<key>digilent,zynq-zybo</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>Digilent Zybo board</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>zynq-zybo</string>
|
||||
</dict>
|
||||
<key>digilent,zynq-zybo-z7</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>Digilent Zybo Z7 board</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>zynq-zybo-z7</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
||||
12
share/installboot/evbmips/Makefile
Normal file
12
share/installboot/evbmips/Makefile
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
# $NetBSD: Makefile,v 1.1 2020/06/22 03:15:48 rin Exp $
|
||||
|
||||
NOOBJ= # defined
|
||||
|
||||
.include <bsd.own.mk>
|
||||
|
||||
.if ${MKSHARE} != "no"
|
||||
FILES= boards.plist
|
||||
FILESDIR= /usr/share/installboot/evbmips
|
||||
.endif
|
||||
|
||||
.include <bsd.prog.mk>
|
||||
43
share/installboot/evbmips/boards.plist
Normal file
43
share/installboot/evbmips/boards.plist
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
<!-- $NetBSD: boards.plist,v 1.1 2020/06/21 17:15:51 thorpej Exp $ -->
|
||||
<!--
|
||||
Copyright (c) 2020 The NetBSD Foundation, Inc.
|
||||
All rights reserved.
|
||||
|
||||
This code is derived from software contributed to The NetBSD Foundation
|
||||
by Jason R. Thorpe.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGE.
|
||||
-->
|
||||
<plist>
|
||||
<dict>
|
||||
<!--
|
||||
-- ingenic boards
|
||||
-->
|
||||
<key>img,ci20</key>
|
||||
<dict>
|
||||
<key>description</key>
|
||||
<string>MIPS Creator CI20</string>
|
||||
<key>u-boot-pkg</key>
|
||||
<string>ci20</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
@ -1,11 +1,40 @@
|
|||
# $NetBSD: Makefile,v 1.11 2011/03/06 18:15:30 bouyer Exp $
|
||||
# $NetBSD: Makefile,v 1.13 2020/06/21 17:17:01 thorpej Exp $
|
||||
|
||||
.include <bsd.hostinit.mk>
|
||||
|
||||
HOSTPROGNAME= ${_TOOL_PREFIX}installboot
|
||||
HOST_SRCDIR= usr.sbin/installboot
|
||||
|
||||
LIBPROP_INC= ${.CURDIR}/../../common/include
|
||||
HOST_CPPFLAGS+= -I${LIBPROP_INC}
|
||||
|
||||
HOST_CPPFLAGS+= -I. -I${.CURDIR} -I${.CURDIR}/../mips-elf2ecoff
|
||||
HOST_CPPFLAGS+= -I${TOOLDIR}/include/nbinclude
|
||||
|
||||
HOST_CPPFLAGS+= -DEVBOARDS_PLIST_BASE=\"${TOOLDIR}\"
|
||||
|
||||
LIBPROP_OBJ!= cd ${.CURDIR}/../libprop && ${PRINTOBJDIR}
|
||||
LDADD+= -L${LIBPROP_OBJ} -lprop
|
||||
|
||||
SHARE_SRCDIR= ${.CURDIR}/../../share
|
||||
HOST_SHAREDIR= ${TOOLDIR}/share
|
||||
|
||||
BOARDDB_SRCDIR= ${SHARE_SRCDIR}/installboot
|
||||
BOARDDB_DSTDIR= ${HOST_SHAREDIR}/installboot
|
||||
|
||||
BOARDDBS= evbarm evbmips
|
||||
|
||||
.for _d in ${BOARDDBS}
|
||||
install: .PHONY install.${_d}.boards.plist
|
||||
install.${_d}.boards.plist: .PHONY ${BOARDDB_DSTDIR}/${_d}/boards.plist
|
||||
${BOARDDB_DSTDIR}/${_d}/boards.plist: ${BOARDDB_SRCDIR}/${_d}/boards.plist
|
||||
${_MKTARGET_INSTALL}
|
||||
${HOST_INSTALL_DIR} ${HOST_SHAREDIR}
|
||||
${HOST_INSTALL_DIR} ${BOARDDB_DSTDIR}
|
||||
${HOST_INSTALL_DIR} ${BOARDDB_DSTDIR}/${_d}
|
||||
${HOST_INSTALL_FILE} -m ${NONBINMODE} ${.ALLSRC} ${.TARGET}
|
||||
.endfor
|
||||
|
||||
.include "${.CURDIR}/../Makefile.nbincludes"
|
||||
.include "${.CURDIR}/../Makefile.host"
|
||||
|
||||
|
|
|
|||
|
|
@ -1,13 +1,12 @@
|
|||
# $NetBSD: Makefile,v 1.50 2015/06/06 15:45:47 joerg Exp $
|
||||
# $NetBSD: Makefile,v 1.56 2020/09/06 07:20:31 mrg Exp $
|
||||
#
|
||||
|
||||
.include <bsd.own.mk>
|
||||
|
||||
PROG= installboot_nbsd
|
||||
MAN= installboot_nbsd.8
|
||||
PROG= installboot
|
||||
MAN= installboot.8
|
||||
SRCS= installboot.c sum.c machines.c fstypes.c install_master.c
|
||||
|
||||
|
||||
.if !defined(__MINIX)
|
||||
ARCH_XLAT= amd64-i386.c news68k-news.c newsmips-news.c
|
||||
ARCH_XLAT+= sun2-sun68k.c sun3-sun68k.c
|
||||
|
|
@ -17,24 +16,55 @@ ARCH_XLAT= amd64-i386.c
|
|||
|
||||
.if !defined(SMALLPROG) && !defined(ARCH_FILES)
|
||||
.if !defined(__MINIX)
|
||||
ARCH_FILES= alpha.c amiga.c emips.c ews4800mips.c hp300.c hppa.c i386.c
|
||||
ARCH_FILES+= landisk.c macppc.c news.c next68k.c pmax.c
|
||||
ARCH_FILES+= sparc.c sparc64.c sun68k.c vax.c x68k.c
|
||||
ARCH_FILES= alpha.c amiga.c
|
||||
ARCH_FILES+= emips.c evbarm.c evbmips.c ews4800mips.c
|
||||
ARCH_FILES+= hp300.c hppa.c
|
||||
ARCH_FILES+= i386.c
|
||||
ARCH_FILES+= landisk.c
|
||||
ARCH_FILES+= macppc.c
|
||||
ARCH_FILES+= news.c next68k.c
|
||||
ARCH_FILES+= pmax.c
|
||||
ARCH_FILES+= sparc.c sparc64.c sun68k.c
|
||||
ARCH_FILES+= vax.c
|
||||
ARCH_FILES+= x68k.c
|
||||
.else
|
||||
ARCH_FILES= i386.c
|
||||
ARCH_FILES+= i386.c
|
||||
.endif # !defined(__MINIX)
|
||||
.else
|
||||
ARCH_FILES?= ${ARCH_XLAT:M${MACHINE}-*:S/${MACHINE}-//}
|
||||
.if empty(ARCH_FILES)
|
||||
ARCH_FILES= ${MACHINE}.c
|
||||
.endif
|
||||
COPTS.machines.c+= -DSINGLE_ARCH=ib_mach_${MACHINE}
|
||||
.endif
|
||||
|
||||
SRCS+=${ARCH_FILES}
|
||||
|
||||
.if !empty(ARCH_FILES:C/(evbarm|evbmips)/evboard/:Mevboard.c)
|
||||
SRCS+=evboards.c
|
||||
.endif
|
||||
|
||||
.if !empty(ARCH_FILES:C/(evbarm|evbmips)/fdt/:Mfdt.c)
|
||||
FDTDIR= ${.CURDIR}/../../sys/external/bsd/libfdt/dist
|
||||
.PATH: ${FDTDIR}
|
||||
CPPFLAGS+= -DSUPPORT_FDT -I${FDTDIR}
|
||||
SRCS+=fdt.c fdt_ro.c fdt_strerror.c
|
||||
# XXX libfdt has some sign-comparison issues
|
||||
COPTS.fdt.c+= -Wno-error=sign-compare
|
||||
COPTS.fdt_ro.c+= -Wno-error=sign-compare
|
||||
COPTS.fdt_strerror.c+= -Wno-error=sign-compare
|
||||
.endif
|
||||
|
||||
|
||||
.if !defined(HOSTPROGNAME)
|
||||
.if !empty(ARCH_FILES:C/(evbarm|evbmips)/ofw/:Mofw.c)
|
||||
CPPFLAGS+= -DSUPPORT_OPENFIRMWARE
|
||||
.endif
|
||||
.endif
|
||||
|
||||
.if !defined(__MINIX)
|
||||
.if empty(ARCH_FILES:C/(macppc|news|sparc|sun68k|x68k)/stg2/:Mstg2.c)
|
||||
CPPFLAGS += -DNO_STAGE2
|
||||
CPPFLAGS+= -DNO_STAGE2
|
||||
.else
|
||||
SRCS+= bbinfo.c
|
||||
|
||||
|
|
@ -63,8 +93,18 @@ CPPFLAGS+= -I${.CURDIR} -I.
|
|||
COPTS.${f}.c+= -Wno-pointer-sign
|
||||
.endfor
|
||||
|
||||
.if !empty(SRCS:Mevboards.c)
|
||||
LDADD+= -lprop
|
||||
DPADD+= ${LIBPROP}
|
||||
.endif
|
||||
|
||||
LDADD+= -lutil
|
||||
DPADD+= ${LIBUTIL}
|
||||
.endif
|
||||
|
||||
.if !defined(__MINIX)
|
||||
CWARNFLAGS.clang+= -Wno-error=address-of-packed-member
|
||||
.endif # !defined(__MINIX)
|
||||
CWARNFLAGS.gcc+= ${GCC_NO_ADDR_OF_PACKED_MEMBER}
|
||||
|
||||
.include <bsd.prog.mk>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: alpha.c,v 1.21 2011/08/14 17:50:17 christos Exp $ */
|
||||
/* $NetBSD: alpha.c,v 1.22 2019/05/07 04:35:31 thorpej Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2002 The NetBSD Foundation, Inc.
|
||||
|
|
@ -95,7 +95,7 @@
|
|||
|
||||
#include <sys/cdefs.h>
|
||||
#if !defined(__lint)
|
||||
__RCSID("$NetBSD: alpha.c,v 1.21 2011/08/14 17:50:17 christos Exp $");
|
||||
__RCSID("$NetBSD: alpha.c,v 1.22 2019/05/07 04:35:31 thorpej Exp $");
|
||||
#endif /* !__lint */
|
||||
|
||||
#include <sys/param.h>
|
||||
|
|
@ -121,9 +121,14 @@ static void check_sparc(const struct alpha_boot_block * const,
|
|||
static int alpha_clearboot(ib_params *);
|
||||
static int alpha_setboot(ib_params *);
|
||||
|
||||
struct ib_mach ib_mach_alpha =
|
||||
{ "alpha", alpha_setboot, alpha_clearboot, no_editboot,
|
||||
IB_STAGE1START | IB_ALPHASUM | IB_APPEND | IB_SUNSUM };
|
||||
struct ib_mach ib_mach_alpha = {
|
||||
.name = "alpha",
|
||||
.setboot = alpha_setboot,
|
||||
.clearboot = alpha_clearboot,
|
||||
.editboot = no_editboot,
|
||||
.valid_flags = IB_STAGE1START | IB_ALPHASUM | IB_APPEND |
|
||||
IB_SUNSUM,
|
||||
};
|
||||
|
||||
static int
|
||||
alpha_clearboot(ib_params *params)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: amiga.c,v 1.9 2015/06/05 05:02:48 mlelstv Exp $ */
|
||||
/* $NetBSD: amiga.c,v 1.10 2019/05/07 04:35:31 thorpej Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1999, 2002 The NetBSD Foundation, Inc.
|
||||
|
|
@ -38,7 +38,7 @@
|
|||
|
||||
#include <sys/cdefs.h>
|
||||
#if !defined(__lint)
|
||||
__RCSID("$NetBSD: amiga.c,v 1.9 2015/06/05 05:02:48 mlelstv Exp $");
|
||||
__RCSID("$NetBSD: amiga.c,v 1.10 2019/05/07 04:35:31 thorpej Exp $");
|
||||
#endif /* !__lint */
|
||||
|
||||
#include <sys/param.h>
|
||||
|
|
@ -64,9 +64,13 @@ u_int32_t chksum(u_int32_t *, int);
|
|||
|
||||
static int amiga_setboot(ib_params *);
|
||||
|
||||
struct ib_mach ib_mach_amiga =
|
||||
{ "amiga", amiga_setboot, no_clearboot, no_editboot,
|
||||
IB_STAGE1START | IB_STAGE2START | IB_COMMAND };
|
||||
struct ib_mach ib_mach_amiga = {
|
||||
.name = "amiga",
|
||||
.setboot = amiga_setboot,
|
||||
.clearboot = no_clearboot,
|
||||
.editboot = no_editboot,
|
||||
.valid_flags = IB_STAGE1START | IB_STAGE2START | IB_COMMAND,
|
||||
};
|
||||
|
||||
static int
|
||||
amiga_setboot(ib_params *params)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: emips.c,v 1.1 2011/01/26 01:18:55 pooka Exp $ */
|
||||
/* $NetBSD: emips.c,v 1.2 2019/05/07 04:35:31 thorpej Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1999, 2002 The NetBSD Foundation, Inc.
|
||||
|
|
@ -105,7 +105,7 @@
|
|||
|
||||
#include <sys/cdefs.h>
|
||||
#if !defined(__lint)
|
||||
__RCSID("$NetBSD: emips.c,v 1.1 2011/01/26 01:18:55 pooka Exp $");
|
||||
__RCSID("$NetBSD: emips.c,v 1.2 2019/05/07 04:35:31 thorpej Exp $");
|
||||
#endif /* !__lint */
|
||||
|
||||
#include <sys/param.h>
|
||||
|
|
@ -125,10 +125,13 @@ __RCSID("$NetBSD: emips.c,v 1.1 2011/01/26 01:18:55 pooka Exp $");
|
|||
static int emips_clearboot(ib_params *);
|
||||
static int emips_setboot(ib_params *);
|
||||
|
||||
struct ib_mach ib_mach_emips =
|
||||
{ "emips", emips_setboot, emips_clearboot, no_editboot,
|
||||
IB_STAGE1START | IB_APPEND | IB_SUNSUM };
|
||||
|
||||
struct ib_mach ib_mach_emips = {
|
||||
.name = "emips",
|
||||
.setboot = emips_setboot,
|
||||
.clearboot = emips_clearboot,
|
||||
.editboot = no_editboot,
|
||||
.valid_flags = IB_STAGE1START | IB_APPEND | IB_SUNSUM,
|
||||
};
|
||||
|
||||
static int
|
||||
emips_clearboot(ib_params *params)
|
||||
|
|
|
|||
119
usr.sbin/installboot/arch/evbarm.c
Normal file
119
usr.sbin/installboot/arch/evbarm.c
Normal file
|
|
@ -0,0 +1,119 @@
|
|||
/* $NetBSD: evbarm.c,v 1.1 2019/05/07 05:02:42 thorpej Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2019 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to The NetBSD Foundation
|
||||
* by Jason R. Thorpe.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#if HAVE_NBTOOL_CONFIG_H
|
||||
#include "nbtool_config.h"
|
||||
#endif
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
#if !defined(__lint)
|
||||
__RCSID("$NetBSD: evbarm.c,v 1.1 2019/05/07 05:02:42 thorpej Exp $");
|
||||
#endif /* !__lint */
|
||||
|
||||
#include <err.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <limits.h>
|
||||
|
||||
#include "installboot.h"
|
||||
#include "evboards.h"
|
||||
|
||||
static int evbarm_setboot(ib_params *);
|
||||
static int evbarm_clearboot(ib_params *);
|
||||
static int evbarm_editboot(ib_params *);
|
||||
static void evbarm_usage(ib_params *);
|
||||
|
||||
struct ib_mach ib_mach_evbarm = {
|
||||
.name = "evbarm",
|
||||
.setboot = evbarm_setboot,
|
||||
.clearboot = evbarm_clearboot,
|
||||
.editboot = evbarm_editboot,
|
||||
.usage = evbarm_usage,
|
||||
.valid_flags = IB_BOARD | IB_DTB | IB_MEDIA,
|
||||
.mach_flags = MF_UBOOT,
|
||||
};
|
||||
|
||||
static int
|
||||
evbarm_setboot(ib_params *params)
|
||||
{
|
||||
evb_board board;
|
||||
int rv = 0;
|
||||
|
||||
if (!evb_db_load(params)) {
|
||||
warnx("Unable to load board db.");
|
||||
return 0;
|
||||
}
|
||||
|
||||
board = evb_db_get_board(params);
|
||||
if (board == NULL)
|
||||
goto out;
|
||||
|
||||
rv = evb_uboot_setboot(params, board);
|
||||
|
||||
out:
|
||||
if (params->mach_data) {
|
||||
prop_object_release(params->mach_data);
|
||||
params->mach_data = NULL;
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
||||
static int
|
||||
evbarm_clearboot(ib_params *params)
|
||||
{
|
||||
|
||||
return no_clearboot(params);
|
||||
}
|
||||
|
||||
static int
|
||||
evbarm_editboot(ib_params *params)
|
||||
{
|
||||
|
||||
return no_editboot(params);
|
||||
}
|
||||
|
||||
static void
|
||||
evbarm_usage(ib_params *params)
|
||||
{
|
||||
|
||||
if (!evb_db_load(params)) {
|
||||
warnx("Unable to load board db.");
|
||||
return;
|
||||
}
|
||||
|
||||
fprintf(stderr, "Known boards (for -o board=...) are:\n");
|
||||
evb_db_list_boards(params, stderr);
|
||||
|
||||
if (params->mach_data) {
|
||||
prop_object_release(params->mach_data);
|
||||
params->mach_data = NULL;
|
||||
}
|
||||
}
|
||||
119
usr.sbin/installboot/arch/evbmips.c
Normal file
119
usr.sbin/installboot/arch/evbmips.c
Normal file
|
|
@ -0,0 +1,119 @@
|
|||
/* $NetBSD: evbmips.c,v 1.1 2020/06/21 17:17:02 thorpej Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2019 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to The NetBSD Foundation
|
||||
* by Jason R. Thorpe.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#if HAVE_NBTOOL_CONFIG_H
|
||||
#include "nbtool_config.h"
|
||||
#endif
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
#if !defined(__lint)
|
||||
__RCSID("$NetBSD: evbmips.c,v 1.1 2020/06/21 17:17:02 thorpej Exp $");
|
||||
#endif /* !__lint */
|
||||
|
||||
#include <err.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <limits.h>
|
||||
|
||||
#include "installboot.h"
|
||||
#include "evboards.h"
|
||||
|
||||
static int evbmips_setboot(ib_params *);
|
||||
static int evbmips_clearboot(ib_params *);
|
||||
static int evbmips_editboot(ib_params *);
|
||||
static void evbmips_usage(ib_params *);
|
||||
|
||||
struct ib_mach ib_mach_evbmips = {
|
||||
.name = "evbmips",
|
||||
.setboot = evbmips_setboot,
|
||||
.clearboot = evbmips_clearboot,
|
||||
.editboot = evbmips_editboot,
|
||||
.usage = evbmips_usage,
|
||||
.valid_flags = IB_BOARD | IB_DTB | IB_MEDIA,
|
||||
.mach_flags = MF_UBOOT,
|
||||
};
|
||||
|
||||
static int
|
||||
evbmips_setboot(ib_params *params)
|
||||
{
|
||||
evb_board board;
|
||||
int rv = 0;
|
||||
|
||||
if (!evb_db_load(params)) {
|
||||
warnx("Unable to load board db.");
|
||||
return 0;
|
||||
}
|
||||
|
||||
board = evb_db_get_board(params);
|
||||
if (board == NULL)
|
||||
goto out;
|
||||
|
||||
rv = evb_uboot_setboot(params, board);
|
||||
|
||||
out:
|
||||
if (params->mach_data) {
|
||||
prop_object_release(params->mach_data);
|
||||
params->mach_data = NULL;
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
||||
static int
|
||||
evbmips_clearboot(ib_params *params)
|
||||
{
|
||||
|
||||
return no_clearboot(params);
|
||||
}
|
||||
|
||||
static int
|
||||
evbmips_editboot(ib_params *params)
|
||||
{
|
||||
|
||||
return no_editboot(params);
|
||||
}
|
||||
|
||||
static void
|
||||
evbmips_usage(ib_params *params)
|
||||
{
|
||||
|
||||
if (!evb_db_load(params)) {
|
||||
warnx("Unable to load board db.");
|
||||
return;
|
||||
}
|
||||
|
||||
fprintf(stderr, "Known boards (for -o board=...) are:\n");
|
||||
evb_db_list_boards(params, stderr);
|
||||
|
||||
if (params->mach_data) {
|
||||
prop_object_release(params->mach_data);
|
||||
params->mach_data = NULL;
|
||||
}
|
||||
}
|
||||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
#include <sys/cdefs.h>
|
||||
#if !defined(__lint)
|
||||
__RCSID("$NetBSD: ews4800mips.c,v 1.2 2006/02/18 10:08:07 dsl Exp $");
|
||||
__RCSID("$NetBSD: ews4800mips.c,v 1.3 2019/05/07 04:35:31 thorpej Exp $");
|
||||
#endif /* !__lint */
|
||||
|
||||
#include <sys/param.h>
|
||||
|
|
@ -16,8 +16,12 @@ __RCSID("$NetBSD: ews4800mips.c,v 1.2 2006/02/18 10:08:07 dsl Exp $");
|
|||
|
||||
static int ews4800mips_setboot(ib_params *);
|
||||
|
||||
struct ib_mach ib_mach_ews4800mips =
|
||||
{ "ews4800mips", ews4800mips_setboot, no_clearboot, no_editboot, 0};
|
||||
struct ib_mach ib_mach_ews4800mips = {
|
||||
.name = "ews4800mips",
|
||||
.setboot = ews4800mips_setboot,
|
||||
.clearboot = no_clearboot,
|
||||
.editboot = no_editboot,
|
||||
};
|
||||
|
||||
struct bbinfo_params ews4800mips_bbparams = {
|
||||
EWS4800MIPS_BBINFO_MAGIC,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: hp300.c,v 1.15 2013/06/14 03:54:43 msaitoh Exp $ */
|
||||
/* $NetBSD: hp300.c,v 1.16 2019/05/07 04:35:31 thorpej Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2003 The NetBSD Foundation, Inc.
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
|
||||
#include <sys/cdefs.h>
|
||||
#if !defined(__lint)
|
||||
__RCSID("$NetBSD: hp300.c,v 1.15 2013/06/14 03:54:43 msaitoh Exp $");
|
||||
__RCSID("$NetBSD: hp300.c,v 1.16 2019/05/07 04:35:31 thorpej Exp $");
|
||||
#endif /* !__lint */
|
||||
|
||||
/* We need the target disklabel.h, not the hosts one..... */
|
||||
|
|
@ -64,8 +64,13 @@ __RCSID("$NetBSD: hp300.c,v 1.15 2013/06/14 03:54:43 msaitoh Exp $");
|
|||
|
||||
static int hp300_setboot(ib_params *);
|
||||
|
||||
struct ib_mach ib_mach_hp300 =
|
||||
{ "hp300", hp300_setboot, no_clearboot, no_editboot, IB_APPEND };
|
||||
struct ib_mach ib_mach_hp300 = {
|
||||
.name = "hp300",
|
||||
.setboot = hp300_setboot,
|
||||
.clearboot = no_clearboot,
|
||||
.editboot = no_editboot,
|
||||
.valid_flags = IB_APPEND,
|
||||
};
|
||||
|
||||
static int
|
||||
hp300_setboot(ib_params *params)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: hppa.c,v 1.1 2014/02/24 07:23:44 skrll Exp $ */
|
||||
/* $NetBSD: hppa.c,v 1.2 2019/05/07 04:35:31 thorpej Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2002 The NetBSD Foundation, Inc.
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
|
||||
#include <sys/cdefs.h>
|
||||
#if !defined(__lint)
|
||||
__RCSID("$NetBSD: hppa.c,v 1.1 2014/02/24 07:23:44 skrll Exp $");
|
||||
__RCSID("$NetBSD: hppa.c,v 1.2 2019/05/07 04:35:31 thorpej Exp $");
|
||||
#endif /* !__lint */
|
||||
|
||||
/* We need the target disklabel.h, not the hosts one..... */
|
||||
|
|
@ -65,8 +65,12 @@ __RCSID("$NetBSD: hppa.c,v 1.1 2014/02/24 07:23:44 skrll Exp $");
|
|||
static int hppa_clearboot(ib_params *);
|
||||
static int hppa_setboot(ib_params *);
|
||||
|
||||
struct ib_mach ib_mach_hppa =
|
||||
{ "hppa", hppa_setboot, hppa_clearboot, no_editboot, 0};
|
||||
struct ib_mach ib_mach_hppa = {
|
||||
.name = "hppa",
|
||||
.setboot = hppa_setboot,
|
||||
.clearboot = hppa_clearboot,
|
||||
.editboot = no_editboot,
|
||||
};
|
||||
|
||||
static int
|
||||
hppa_clearboot(ib_params *params)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: i386.c,v 1.40 2013/06/14 03:54:43 msaitoh Exp $ */
|
||||
/* $NetBSD: i386.c,v 1.42 2019/05/07 04:35:31 thorpej Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2003 The NetBSD Foundation, Inc.
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
|
||||
#include <sys/cdefs.h>
|
||||
#if !defined(__lint)
|
||||
__RCSID("$NetBSD: i386.c,v 1.40 2013/06/14 03:54:43 msaitoh Exp $");
|
||||
__RCSID("$NetBSD: i386.c,v 1.42 2019/05/07 04:35:31 thorpej Exp $");
|
||||
#endif /* !__lint */
|
||||
|
||||
#include <sys/param.h>
|
||||
|
|
@ -75,27 +75,37 @@ static const struct console_name {
|
|||
static int i386_setboot(ib_params *);
|
||||
static int i386_editboot(ib_params *);
|
||||
|
||||
struct ib_mach ib_mach_i386 =
|
||||
{ "i386", i386_setboot, no_clearboot, i386_editboot,
|
||||
IB_RESETVIDEO | IB_CONSOLE | IB_CONSPEED | IB_CONSADDR |
|
||||
IB_KEYMAP | IB_PASSWORD | IB_TIMEOUT |
|
||||
struct ib_mach ib_mach_i386 = {
|
||||
.name = "i386",
|
||||
.setboot = i386_setboot,
|
||||
.clearboot = no_clearboot,
|
||||
.editboot = i386_editboot,
|
||||
.valid_flags = IB_RESETVIDEO | IB_CONSOLE | IB_CONSPEED |
|
||||
IB_CONSADDR | IB_KEYMAP | IB_PASSWORD |
|
||||
IB_TIMEOUT |
|
||||
#if !defined(__minix)
|
||||
IB_MODULES | IB_BOOTCONF |
|
||||
IB_STAGE1START };
|
||||
IB_MODULES | IB_BOOTCONF |
|
||||
IB_STAGE1START
|
||||
#else
|
||||
IB_MODULES | IB_BOOTCONF };
|
||||
IB_MODULES | IB_BOOTCONF
|
||||
#endif /* !defined(__minix) */
|
||||
};
|
||||
|
||||
struct ib_mach ib_mach_amd64 =
|
||||
{ "amd64", i386_setboot, no_clearboot, i386_editboot,
|
||||
IB_RESETVIDEO | IB_CONSOLE | IB_CONSPEED | IB_CONSADDR |
|
||||
IB_KEYMAP | IB_PASSWORD | IB_TIMEOUT |
|
||||
struct ib_mach ib_mach_amd64 = {
|
||||
.name = "amd64",
|
||||
.setboot = i386_setboot,
|
||||
.clearboot = no_clearboot,
|
||||
.editboot = i386_editboot,
|
||||
.valid_flags = IB_RESETVIDEO | IB_CONSOLE | IB_CONSPEED |
|
||||
IB_CONSADDR | IB_KEYMAP | IB_PASSWORD |
|
||||
IB_TIMEOUT |
|
||||
#if !defined(__minix)
|
||||
IB_MODULES | IB_BOOTCONF |
|
||||
IB_STAGE1START };
|
||||
IB_MODULES | IB_BOOTCONF |
|
||||
IB_STAGE1START
|
||||
#else
|
||||
IB_MODULES | IB_BOOTCONF };
|
||||
IB_MODULES | IB_BOOTCONF
|
||||
#endif /* !defined(__minix) */
|
||||
};
|
||||
|
||||
/*
|
||||
* Attempting to write the 'labelsector' (or a sector near it - within 8k?)
|
||||
|
|
@ -426,8 +436,19 @@ i386_setboot(ib_params *params)
|
|||
return 0;
|
||||
}
|
||||
|
||||
/* Find size of old BPB, and copy into new bootcode */
|
||||
if (!is_zero(disk_buf.b + 3 + 8, disk_buf.b[1] - 1 - 8)) {
|
||||
/*
|
||||
* Find size of old BPB, and copy into new bootcode
|
||||
*
|
||||
* The 2nd byte (b[1]) contains jmp short relative offset.
|
||||
* If it is zero or some invalid input that is smaller than 9,
|
||||
* it will cause overflow and call is_zero() with enormous size.
|
||||
* Add a paranoid check to prevent this scenario.
|
||||
*
|
||||
* Verify that b[0] contains JMP (0xeb) and b[2] NOP (0x90).
|
||||
*/
|
||||
if (disk_buf.b[0] == 0xeb && disk_buf.b[1] >= 9 &&
|
||||
disk_buf.b[2] == 0x90 &&
|
||||
!is_zero(disk_buf.b + 3 + 8, disk_buf.b[1] - 1 - 8)) {
|
||||
struct mbr_bpbFAT16 *bpb = (void *)(disk_buf.b + 3 + 8);
|
||||
/* Check enough space before the FAT for the bootcode */
|
||||
u = le16toh(bpb->bpbBytesPerSec)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: landisk.c,v 1.6 2013/10/19 17:08:15 christos Exp $ */
|
||||
/* $NetBSD: landisk.c,v 1.8 2019/05/07 04:35:31 thorpej Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2003 The NetBSD Foundation, Inc.
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
|
||||
#include <sys/cdefs.h>
|
||||
#if !defined(__lint)
|
||||
__RCSID("$NetBSD: landisk.c,v 1.6 2013/10/19 17:08:15 christos Exp $");
|
||||
__RCSID("$NetBSD: landisk.c,v 1.8 2019/05/07 04:35:31 thorpej Exp $");
|
||||
#endif /* !__lint */
|
||||
|
||||
#include <sys/param.h>
|
||||
|
|
@ -53,9 +53,13 @@ __RCSID("$NetBSD: landisk.c,v 1.6 2013/10/19 17:08:15 christos Exp $");
|
|||
|
||||
static int landisk_setboot(ib_params *);
|
||||
|
||||
struct ib_mach ib_mach_landisk =
|
||||
{ "landisk", landisk_setboot, no_clearboot, no_editboot,
|
||||
IB_TIMEOUT };
|
||||
struct ib_mach ib_mach_landisk = {
|
||||
.name = "landisk",
|
||||
.setboot = landisk_setboot,
|
||||
.clearboot = no_clearboot,
|
||||
.editboot = no_editboot,
|
||||
.valid_flags = IB_TIMEOUT,
|
||||
};
|
||||
|
||||
static int
|
||||
landisk_setboot(ib_params *params)
|
||||
|
|
@ -100,12 +104,18 @@ landisk_setboot(ib_params *params)
|
|||
goto done;
|
||||
}
|
||||
if (mbr.mbr_magic != le16toh(MBR_MAGIC)) {
|
||||
if (params->flags & IB_VERBOSE) {
|
||||
printf(
|
||||
"Ignoring MBR with invalid magic in sector 0 of `%s'\n",
|
||||
params->filesystem);
|
||||
const char *p = (const char *)&mbr;
|
||||
const char *e = p + sizeof(mbr);
|
||||
while (p < e && !*p)
|
||||
p++;
|
||||
if (p != e) {
|
||||
if (params->flags & IB_VERBOSE) {
|
||||
printf(
|
||||
"Ignoring MBR with invalid magic in sector 0 of `%s'\n",
|
||||
params->filesystem);
|
||||
}
|
||||
memset(&mbr, 0, sizeof(mbr));
|
||||
}
|
||||
memset(&mbr, 0, sizeof(mbr));
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: macppc.c,v 1.11 2008/05/24 19:15:21 tsutsui Exp $ */
|
||||
/* $NetBSD: macppc.c,v 1.12 2019/05/07 04:35:31 thorpej Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2002 The NetBSD Foundation, Inc.
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
|
||||
#include <sys/cdefs.h>
|
||||
#if !defined(__lint)
|
||||
__RCSID("$NetBSD: macppc.c,v 1.11 2008/05/24 19:15:21 tsutsui Exp $");
|
||||
__RCSID("$NetBSD: macppc.c,v 1.12 2019/05/07 04:35:31 thorpej Exp $");
|
||||
#endif /* !__lint */
|
||||
|
||||
#include <sys/param.h>
|
||||
|
|
@ -67,9 +67,13 @@ static int writeapplepartmap(ib_params *, struct bbinfo_params *, uint8_t *);
|
|||
static int macppc_clearboot(ib_params *);
|
||||
static int macppc_setboot(ib_params *);
|
||||
|
||||
struct ib_mach ib_mach_macppc =
|
||||
{ "macppc", macppc_setboot, macppc_clearboot, no_editboot,
|
||||
IB_STAGE2START };
|
||||
struct ib_mach ib_mach_macppc = {
|
||||
.name = "macppc",
|
||||
.setboot = macppc_setboot,
|
||||
.clearboot = macppc_clearboot,
|
||||
.editboot = no_editboot,
|
||||
.valid_flags = IB_STAGE2START,
|
||||
};
|
||||
|
||||
static int
|
||||
macppc_clearboot(ib_params *params)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: news.c,v 1.7 2008/04/28 20:24:16 martin Exp $ */
|
||||
/* $NetBSD: news.c,v 1.8 2019/05/07 04:35:31 thorpej Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2002 The NetBSD Foundation, Inc.
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
|
||||
#include <sys/cdefs.h>
|
||||
#if !defined(__lint)
|
||||
__RCSID("$NetBSD: news.c,v 1.7 2008/04/28 20:24:16 martin Exp $");
|
||||
__RCSID("$NetBSD: news.c,v 1.8 2019/05/07 04:35:31 thorpej Exp $");
|
||||
#endif /* !__lint */
|
||||
|
||||
#include <sys/param.h>
|
||||
|
|
@ -57,13 +57,21 @@ static int news68k_setboot(ib_params *);
|
|||
static int newsmips_clearboot(ib_params *);
|
||||
static int newsmips_setboot(ib_params *);
|
||||
|
||||
struct ib_mach ib_mach_news68k =
|
||||
{ "news68k", news68k_setboot, news68k_clearboot, no_editboot,
|
||||
IB_STAGE2START };
|
||||
struct ib_mach ib_mach_news68k = {
|
||||
.name = "news68k",
|
||||
.setboot = news68k_setboot,
|
||||
.clearboot = news68k_clearboot,
|
||||
.editboot = no_editboot,
|
||||
.valid_flags = IB_STAGE2START,
|
||||
};
|
||||
|
||||
struct ib_mach ib_mach_newsmips =
|
||||
{ "newsmips", newsmips_setboot, newsmips_clearboot, no_editboot,
|
||||
IB_STAGE2START };
|
||||
struct ib_mach ib_mach_newsmips = {
|
||||
.name = "newsmips",
|
||||
.setboot = newsmips_setboot,
|
||||
.clearboot = newsmips_clearboot,
|
||||
.editboot = no_editboot,
|
||||
.valid_flags = IB_STAGE2START,
|
||||
};
|
||||
|
||||
/*
|
||||
* news68k specific support
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: next68k.c,v 1.8 2013/06/14 03:54:43 msaitoh Exp $ */
|
||||
/* $NetBSD: next68k.c,v 1.9 2019/05/07 04:35:31 thorpej Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2003 The NetBSD Foundation, Inc.
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
|
||||
#include <sys/cdefs.h>
|
||||
#if !defined(__lint)
|
||||
__RCSID("$NetBSD: next68k.c,v 1.8 2013/06/14 03:54:43 msaitoh Exp $");
|
||||
__RCSID("$NetBSD: next68k.c,v 1.9 2019/05/07 04:35:31 thorpej Exp $");
|
||||
#endif /* !__lint */
|
||||
|
||||
#include <sys/param.h>
|
||||
|
|
@ -54,8 +54,12 @@ __RCSID("$NetBSD: next68k.c,v 1.8 2013/06/14 03:54:43 msaitoh Exp $");
|
|||
static uint16_t nextstep_checksum(const void *, const void *);
|
||||
static int next68k_setboot(ib_params *);
|
||||
|
||||
struct ib_mach ib_mach_next68k =
|
||||
{ "next68k", next68k_setboot, no_clearboot, no_editboot, 0};
|
||||
struct ib_mach ib_mach_next68k = {
|
||||
.name = "next68k",
|
||||
.setboot = next68k_setboot,
|
||||
.clearboot = no_clearboot,
|
||||
.editboot = no_editboot,
|
||||
};
|
||||
|
||||
static uint16_t
|
||||
nextstep_checksum(const void *vbuf, const void *vlimit)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: pmax.c,v 1.15 2013/10/21 15:37:46 christos Exp $ */
|
||||
/* $NetBSD: pmax.c,v 1.16 2019/05/07 04:35:31 thorpej Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1999, 2002 The NetBSD Foundation, Inc.
|
||||
|
|
@ -98,7 +98,7 @@
|
|||
|
||||
#include <sys/cdefs.h>
|
||||
#if !defined(__lint)
|
||||
__RCSID("$NetBSD: pmax.c,v 1.15 2013/10/21 15:37:46 christos Exp $");
|
||||
__RCSID("$NetBSD: pmax.c,v 1.16 2019/05/07 04:35:31 thorpej Exp $");
|
||||
#endif /* !__lint */
|
||||
|
||||
#include <sys/param.h>
|
||||
|
|
@ -121,9 +121,13 @@ static int load_bootstrap(ib_params *, char **,
|
|||
static int pmax_clearboot(ib_params *);
|
||||
static int pmax_setboot(ib_params *);
|
||||
|
||||
struct ib_mach ib_mach_pmax =
|
||||
{ "pmax", pmax_setboot, pmax_clearboot, no_editboot,
|
||||
IB_STAGE1START | IB_APPEND | IB_SUNSUM };
|
||||
struct ib_mach ib_mach_pmax = {
|
||||
.name = "pmax",
|
||||
.setboot = pmax_setboot,
|
||||
.clearboot = pmax_clearboot,
|
||||
.editboot = no_editboot,
|
||||
.valid_flags = IB_STAGE1START | IB_APPEND | IB_SUNSUM,
|
||||
};
|
||||
|
||||
|
||||
static int
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: sparc.c,v 1.11 2008/04/28 20:24:16 martin Exp $ */
|
||||
/* $NetBSD: sparc.c,v 1.12 2019/05/07 04:35:31 thorpej Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1998, 2002 The NetBSD Foundation, Inc.
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
|
||||
#include <sys/cdefs.h>
|
||||
#if !defined(__lint)
|
||||
__RCSID("$NetBSD: sparc.c,v 1.11 2008/04/28 20:24:16 martin Exp $");
|
||||
__RCSID("$NetBSD: sparc.c,v 1.12 2019/05/07 04:35:31 thorpej Exp $");
|
||||
#endif /* !__lint */
|
||||
|
||||
#include <sys/param.h>
|
||||
|
|
@ -65,9 +65,13 @@ static int sparc_setheader(ib_params *, struct bbinfo_params *, uint8_t *);
|
|||
static int sparc_clearboot(ib_params *);
|
||||
static int sparc_setboot(ib_params *);
|
||||
|
||||
struct ib_mach ib_mach_sparc =
|
||||
{ "sparc", sparc_setboot, sparc_clearboot, no_editboot,
|
||||
IB_STAGE2START };
|
||||
struct ib_mach ib_mach_sparc = {
|
||||
.name = "sparc",
|
||||
.setboot = sparc_setboot,
|
||||
.clearboot = sparc_clearboot,
|
||||
.editboot = no_editboot,
|
||||
.valid_flags = IB_STAGE2START,
|
||||
};
|
||||
|
||||
static int
|
||||
sparc_clearboot(ib_params *params)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: sparc64.c,v 1.18 2010/01/14 16:27:49 tsutsui Exp $ */
|
||||
/* $NetBSD: sparc64.c,v 1.19 2019/05/07 04:35:31 thorpej Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2002 The NetBSD Foundation, Inc.
|
||||
|
|
@ -61,7 +61,7 @@
|
|||
|
||||
#include <sys/cdefs.h>
|
||||
#if !defined(__lint)
|
||||
__RCSID("$NetBSD: sparc64.c,v 1.18 2010/01/14 16:27:49 tsutsui Exp $");
|
||||
__RCSID("$NetBSD: sparc64.c,v 1.19 2019/05/07 04:35:31 thorpej Exp $");
|
||||
#endif /* !__lint */
|
||||
|
||||
#include <sys/param.h>
|
||||
|
|
@ -79,8 +79,12 @@ __RCSID("$NetBSD: sparc64.c,v 1.18 2010/01/14 16:27:49 tsutsui Exp $");
|
|||
static int sparc64_clearboot(ib_params *);
|
||||
static int sparc64_setboot(ib_params *);
|
||||
|
||||
struct ib_mach ib_mach_sparc64 =
|
||||
{ "sparc64", sparc64_setboot, sparc64_clearboot, no_editboot, 0};
|
||||
struct ib_mach ib_mach_sparc64 = {
|
||||
.name = "sparc64",
|
||||
.setboot = sparc64_setboot,
|
||||
.clearboot = sparc64_clearboot,
|
||||
.editboot = no_editboot,
|
||||
};
|
||||
|
||||
static int
|
||||
sparc64_clearboot(ib_params *params)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: sun68k.c,v 1.21 2008/04/28 20:24:16 martin Exp $ */
|
||||
/* $NetBSD: sun68k.c,v 1.22 2019/05/07 04:35:31 thorpej Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2002 The NetBSD Foundation, Inc.
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
|
||||
#include <sys/cdefs.h>
|
||||
#if !defined(__lint)
|
||||
__RCSID("$NetBSD: sun68k.c,v 1.21 2008/04/28 20:24:16 martin Exp $");
|
||||
__RCSID("$NetBSD: sun68k.c,v 1.22 2019/05/07 04:35:31 thorpej Exp $");
|
||||
#endif /* !__lint */
|
||||
|
||||
#include <sys/param.h>
|
||||
|
|
@ -49,13 +49,21 @@ __RCSID("$NetBSD: sun68k.c,v 1.21 2008/04/28 20:24:16 martin Exp $");
|
|||
static int sun68k_clearboot(ib_params *);
|
||||
static int sun68k_setboot(ib_params *);
|
||||
|
||||
struct ib_mach ib_mach_sun2 =
|
||||
{ "sun2", sun68k_setboot, sun68k_clearboot, no_editboot,
|
||||
IB_STAGE2START };
|
||||
struct ib_mach ib_mach_sun2 = {
|
||||
.name = "sun2",
|
||||
.setboot = sun68k_setboot,
|
||||
.clearboot = sun68k_clearboot,
|
||||
.editboot = no_editboot,
|
||||
.valid_flags = IB_STAGE2START,
|
||||
};
|
||||
|
||||
struct ib_mach ib_mach_sun3 =
|
||||
{ "sun3", sun68k_setboot, sun68k_clearboot, no_editboot,
|
||||
IB_STAGE2START };
|
||||
struct ib_mach ib_mach_sun3 = {
|
||||
.name = "sun3",
|
||||
.setboot = sun68k_setboot,
|
||||
.clearboot = sun68k_clearboot,
|
||||
.editboot = no_editboot,
|
||||
.valid_flags = IB_STAGE2START,
|
||||
};
|
||||
|
||||
static struct bbinfo_params bbparams = {
|
||||
SUN68K_BBINFO_MAGIC,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: vax.c,v 1.18 2014/11/13 16:02:25 christos Exp $ */
|
||||
/* $NetBSD: vax.c,v 1.19 2019/05/07 04:35:31 thorpej Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1999, 2002 The NetBSD Foundation, Inc.
|
||||
|
|
@ -68,7 +68,7 @@
|
|||
|
||||
#include <sys/cdefs.h>
|
||||
#if !defined(__lint)
|
||||
__RCSID("$NetBSD: vax.c,v 1.18 2014/11/13 16:02:25 christos Exp $");
|
||||
__RCSID("$NetBSD: vax.c,v 1.19 2019/05/07 04:35:31 thorpej Exp $");
|
||||
#endif /* !__lint */
|
||||
|
||||
#include <sys/param.h>
|
||||
|
|
@ -100,9 +100,13 @@ static int load_bootstrap(ib_params *, char **,
|
|||
static int vax_clearboot(ib_params *);
|
||||
static int vax_setboot(ib_params *);
|
||||
|
||||
struct ib_mach ib_mach_vax =
|
||||
{ "vax", vax_setboot, vax_clearboot, no_editboot,
|
||||
IB_STAGE1START | IB_APPEND | IB_SUNSUM };
|
||||
struct ib_mach ib_mach_vax = {
|
||||
.name = "vax",
|
||||
.setboot = vax_setboot,
|
||||
.clearboot = vax_clearboot,
|
||||
.editboot = no_editboot,
|
||||
.valid_flags = IB_STAGE1START | IB_APPEND | IB_SUNSUM,
|
||||
};
|
||||
|
||||
static int
|
||||
vax_clearboot(ib_params *params)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: x68k.c,v 1.4 2008/04/28 20:24:16 martin Exp $ */
|
||||
/* $NetBSD: x68k.c,v 1.5 2019/05/07 04:35:31 thorpej Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2002 The NetBSD Foundation, Inc.
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
|
||||
#include <sys/cdefs.h>
|
||||
#if !defined(__lint)
|
||||
__RCSID("$NetBSD: x68k.c,v 1.4 2008/04/28 20:24:16 martin Exp $");
|
||||
__RCSID("$NetBSD: x68k.c,v 1.5 2019/05/07 04:35:31 thorpej Exp $");
|
||||
#endif /* !__lint */
|
||||
|
||||
#include <sys/param.h>
|
||||
|
|
@ -59,9 +59,13 @@ static int x68k_clearheader(ib_params *, struct bbinfo_params *, uint8_t *);
|
|||
static int x68k_clearboot(ib_params *);
|
||||
static int x68k_setboot(ib_params *);
|
||||
|
||||
struct ib_mach ib_mach_x68k =
|
||||
{ "x68k", x68k_setboot, x68k_clearboot, no_editboot,
|
||||
IB_STAGE1START | IB_STAGE2START };
|
||||
struct ib_mach ib_mach_x68k = {
|
||||
.name = "x68k",
|
||||
.setboot = x68k_setboot,
|
||||
.clearboot = x68k_clearboot,
|
||||
.editboot = no_editboot,
|
||||
.valid_flags = IB_STAGE1START | IB_STAGE2START,
|
||||
};
|
||||
|
||||
static struct bbinfo_params bbparams = {
|
||||
X68K_BBINFO_MAGIC,
|
||||
|
|
|
|||
1974
usr.sbin/installboot/evboards.c
Normal file
1974
usr.sbin/installboot/evboards.c
Normal file
File diff suppressed because it is too large
Load Diff
69
usr.sbin/installboot/evboards.h
Normal file
69
usr.sbin/installboot/evboards.h
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
/* $NetBSD: evboards.h,v 1.2 2019/09/19 01:25:29 thorpej Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2019 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to The NetBSD Foundation
|
||||
* by Jason R. Thorpe.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef installboot_evboards_h_included
|
||||
#define installboot_evboards_h_included
|
||||
|
||||
#include <stdio.h>
|
||||
#include <prop/proplib.h>
|
||||
|
||||
typedef prop_dictionary_t evb_board;
|
||||
typedef prop_array_t evb_ubinstall;
|
||||
typedef prop_object_iterator_t evb_ubsteps;
|
||||
typedef prop_dictionary_t evb_ubstep;
|
||||
|
||||
bool evb_db_load(ib_params *);
|
||||
evb_board evb_db_get_board(ib_params *);
|
||||
void evb_db_list_boards(ib_params *, FILE *);
|
||||
|
||||
const char * evb_board_get_description(ib_params *, evb_board);
|
||||
const char * evb_board_get_uboot_pkg(ib_params *, evb_board);
|
||||
const char * evb_board_get_uboot_path(ib_params *, evb_board);
|
||||
evb_ubinstall evb_board_get_uboot_install(ib_params *, evb_board);
|
||||
prop_array_t evb_board_copy_uboot_media(ib_params *, evb_board);
|
||||
|
||||
evb_ubsteps evb_ubinstall_get_steps(ib_params *, evb_ubinstall);
|
||||
|
||||
evb_ubstep evb_ubsteps_next_step(ib_params *, evb_ubsteps);
|
||||
|
||||
const char * evb_ubstep_get_file_name(ib_params *, evb_ubstep);
|
||||
uint64_t evb_ubstep_get_file_offset(ib_params *, evb_ubstep);
|
||||
uint64_t evb_ubstep_get_file_size(ib_params *, evb_ubstep);
|
||||
uint64_t evb_ubstep_get_image_offset(ib_params *, evb_ubstep);
|
||||
uint64_t evb_ubstep_get_input_block_size(ib_params *, evb_ubstep);
|
||||
uint64_t evb_ubstep_get_input_pad_size(ib_params *, evb_ubstep);
|
||||
uint64_t evb_ubstep_get_output_size(ib_params *, evb_ubstep);
|
||||
uint64_t evb_ubstep_get_output_block_size(ib_params *, evb_ubstep);
|
||||
bool evb_ubstep_preserves_partial_block(ib_params *, evb_ubstep);
|
||||
|
||||
int evb_uboot_setboot(ib_params *, evb_board);
|
||||
|
||||
#endif /* installboot_evboards_h_included */
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
.\" $NetBSD: installboot_nbsd.8,v 1.79 2011/11/03 20:09:18 martin Exp $
|
||||
.\" $NetBSD: installboot.8,v 1.101 2021/02/25 03:44:27 rin Exp $
|
||||
.\"
|
||||
.\" Copyright (c) 2002-2009 The NetBSD Foundation, Inc.
|
||||
.\" Copyright (c) 2002-2019 The NetBSD Foundation, Inc.
|
||||
.\" All rights reserved.
|
||||
.\"
|
||||
.\" This code is derived from software contributed to The NetBSD Foundation
|
||||
|
|
@ -27,11 +27,11 @@
|
|||
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
.\" POSSIBILITY OF SUCH DAMAGE.
|
||||
.\"
|
||||
.Dd August 3, 2011
|
||||
.Dd February 25, 2021
|
||||
.Dt INSTALLBOOT 8
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm installboot_nbsd
|
||||
.Nm installboot
|
||||
.Nd install disk bootstrap software
|
||||
.
|
||||
.Sh SYNOPSIS
|
||||
|
|
@ -39,6 +39,7 @@
|
|||
.Op Fl fnv
|
||||
.Op Fl B Ar s2bno
|
||||
.Op Fl b Ar s1bno
|
||||
.Op Fl m Ar machine
|
||||
.Op Fl o Ar options
|
||||
.Op Fl t Ar fstype
|
||||
.Ar filesystem
|
||||
|
|
@ -47,18 +48,16 @@
|
|||
.Nm
|
||||
.Fl c
|
||||
.Op Fl fnv
|
||||
.Op Fl m Ar machine
|
||||
.Op Fl o Ar options
|
||||
.Op Fl t Ar fstype
|
||||
.Ar filesystem
|
||||
.Nm
|
||||
.Fl e
|
||||
.Op Fl fnv
|
||||
.Op Fl m Ar machine
|
||||
.Op Fl o Ar options
|
||||
.Ar bootstrap
|
||||
.Nm
|
||||
.Fl m(aster)
|
||||
.Ar device
|
||||
.Ar masterboot
|
||||
.
|
||||
.Sh DESCRIPTION
|
||||
The
|
||||
|
|
@ -105,7 +104,6 @@ Copy the secondary bootstrap (usually
|
|||
or
|
||||
.Pa /usr/mdec/boot )
|
||||
to the root directory of the target file system.
|
||||
.Pp
|
||||
.
|
||||
.It
|
||||
Use
|
||||
|
|
@ -132,9 +130,30 @@ single bootstrap file is used.
|
|||
The single bootstrap is installed like the primary bootstrap on
|
||||
other platforms:
|
||||
.Sy next68k .
|
||||
.Pp
|
||||
.El
|
||||
.Pp
|
||||
Some platforms, typically embedded system platforms, are umbrella platforms
|
||||
that support many different individual board types, each with their own
|
||||
boot loader binary and installation procedure requirements.
|
||||
On these platforms, it may be necessary to provide specific board type
|
||||
information to
|
||||
.Nm .
|
||||
Information about known boards and their requirements is loaded from a
|
||||
database at run-time.
|
||||
Sometimes these platforms also require the use of 3rd-party boot loader
|
||||
software, such as
|
||||
.Sy U-boot .
|
||||
To support these platforms,
|
||||
.Nm
|
||||
scans known locations for these 3rd-party boot loader packages for
|
||||
database overlays that contain additional board-specific boot loader
|
||||
installation information in a file called
|
||||
.Sq installboot.plist .
|
||||
.Pp
|
||||
The following platforms have this requirement and utilize this database
|
||||
overlay feature:
|
||||
.Sy evbarm .
|
||||
.Pp
|
||||
The options and arguments recognized by
|
||||
.Nm
|
||||
are as follows:
|
||||
|
|
@ -166,6 +185,7 @@ at block number
|
|||
.Ar s1bno
|
||||
instead of the default location for the machine and file system type.
|
||||
.Sy [ alpha ,
|
||||
.Sy i386/amd64 (bootxx_fat16 only) ,
|
||||
.Sy pmax ,
|
||||
.Sy vax ]
|
||||
.
|
||||
|
|
@ -174,7 +194,7 @@ Clear (remove) any existing bootstrap instead of installing one.
|
|||
.
|
||||
.It Fl e
|
||||
Edit the options of an existing bootstrap.
|
||||
This can be use to change the options in bootxx_xxxfs files,
|
||||
This can be used to change the options in bootxx_xxxfs files,
|
||||
raw disk partitions, and the
|
||||
.Pa pxeboot_ia32.bin
|
||||
file.
|
||||
|
|
@ -190,6 +210,40 @@ Forces
|
|||
.Nm
|
||||
to ignore some errors.
|
||||
.
|
||||
.It Fl m Ar machine
|
||||
Use
|
||||
.Ar machine
|
||||
as the target machine type.
|
||||
The default machine is determined from
|
||||
.Xr uname 3
|
||||
and then
|
||||
.Ev MACHINE .
|
||||
The following machines are currently supported by
|
||||
.Nm :
|
||||
.Bd -ragged -offset indent
|
||||
.Sy alpha ,
|
||||
.Sy amd64 ,
|
||||
.Sy amiga ,
|
||||
.Sy evbarm ,
|
||||
.Sy ews4800mips ,
|
||||
.Sy hp300 ,
|
||||
.Sy hppa ,
|
||||
.Sy i386 ,
|
||||
.Sy landisk ,
|
||||
.Sy macppc ,
|
||||
.Sy news68k ,
|
||||
.Sy newsmips ,
|
||||
.Sy next68k ,
|
||||
.Sy pmax ,
|
||||
.Sy sparc ,
|
||||
.Sy sparc64 ,
|
||||
.Sy sun2 ,
|
||||
.Sy sun3 ,
|
||||
.Sy vax ,
|
||||
.Sy x68k
|
||||
.Ed
|
||||
.
|
||||
.
|
||||
.It Fl n
|
||||
Do not write to
|
||||
.Ar filesystem .
|
||||
|
|
@ -207,7 +261,7 @@ Supported options are (with the machines for they are valid in brackets):
|
|||
.Sy [ alpha ]
|
||||
Recalculate and restore the Alpha checksum.
|
||||
This is the default for
|
||||
.Nx Ns Tn /alpha .
|
||||
.Nx Ns /alpha .
|
||||
.
|
||||
.It Sy append
|
||||
.Sy [ alpha ,
|
||||
|
|
@ -219,6 +273,15 @@ to the end of
|
|||
.Ar filesystem ,
|
||||
which must be a regular file in this case.
|
||||
.
|
||||
.It Sy board=<board name>
|
||||
.Sy [ evbarm ]
|
||||
Specify the board type used to determine the correct boot loader image
|
||||
and installation procedure.
|
||||
If omitted,
|
||||
.Nm
|
||||
will attempt to guess the board type based on system information if run
|
||||
natively.
|
||||
.
|
||||
.It Sy bootconf
|
||||
.Sy [ amd64 ,
|
||||
.Sy i386 ]
|
||||
|
|
@ -226,27 +289,40 @@ which must be a regular file in this case.
|
|||
.Dq boot.cfg
|
||||
file.
|
||||
.
|
||||
.It Sy command=\*[Lt]boot command\*[Gt]
|
||||
.It Sy command=<boot command>
|
||||
.Sy [ amiga ]
|
||||
Modify the default boot command line.
|
||||
.
|
||||
.It Sy console=\*[Lt]console name\*[Gt]
|
||||
.It Sy console=<console name>
|
||||
.Sy [ amd64 ,
|
||||
.Sy i386 ]
|
||||
Set the console device, \*[Lt]console name\*[Gt] must be one of:
|
||||
pc, com0, com1, com2, com3, com0kbd, com1kbd, com2kbd or com3kbd.
|
||||
Set the console device, <console name> must be one of:
|
||||
pc, com0, com1, com2, com3, com0kbd, com1kbd, com2kbd, com3kbd or auto.
|
||||
.
|
||||
.It Sy ioaddr=\*[Lt]ioaddr\*[Gt]
|
||||
.It Sy dtb=/path/to/dtb/file
|
||||
.Sy [ evbarm ]
|
||||
Attempt to determine the board type from information in the device tree
|
||||
blob file at
|
||||
.Pa /path/to/dtb/file .
|
||||
If both
|
||||
.Sy board
|
||||
and
|
||||
.Sy dtb
|
||||
options are specified,
|
||||
.Sy board
|
||||
takes precendence.
|
||||
.
|
||||
.It Sy ioaddr=<ioaddr>
|
||||
.Sy [ amd64 ,
|
||||
.Sy i386 ]
|
||||
Set the IO address to be used for the console serial port.
|
||||
Defaults to the IO address used by the system BIOS for the specified port.
|
||||
.
|
||||
.It Sy keymap=\*[Lt]keymap\*[Gt]
|
||||
.It Sy keymap=<keymap>
|
||||
.Sy [ amd64 ,
|
||||
.Sy i386 ]
|
||||
Set a boot time keyboard translation map.
|
||||
Each character in \*[Lt]keymap\*[Gt] will be replaced by the one following it.
|
||||
Each character in <keymap> will be replaced by the one following it.
|
||||
For example, an argument of
|
||||
.Dq zyz
|
||||
would swap the lowercase letters
|
||||
|
|
@ -254,12 +330,22 @@ would swap the lowercase letters
|
|||
and
|
||||
.Sq z .
|
||||
.
|
||||
.It Sy media=<media type>
|
||||
.Sy [ evbarm ]
|
||||
Some boards require a different boot loader binary and/or installation
|
||||
procedure depending on what type of media will be used to boot the system.
|
||||
For such boards, this option is required, and omitting it will display a
|
||||
usage message that lists the valid media types for the board.
|
||||
For boards that do not require special media handling, this option is
|
||||
not allowed.
|
||||
Common values: sdmmc, emmc, usb.
|
||||
.
|
||||
.It Sy modules
|
||||
.Sy [ amd64 ,
|
||||
.Sy i386 ]
|
||||
(Don't) load kernel modules.
|
||||
.
|
||||
.It Sy password=\*[Lt]password\*[Gt]
|
||||
.It Sy password=<password>
|
||||
.Sy [ amd64 ,
|
||||
.Sy i386 ]
|
||||
Set the password which must be entered before the boot menu can be accessed.
|
||||
|
|
@ -269,7 +355,7 @@ Set the password which must be entered before the boot menu can be accessed.
|
|||
.Sy i386 ]
|
||||
Reset the video before booting.
|
||||
.
|
||||
.It Sy speed=\*[Lt]baud rate\*[Gt]
|
||||
.It Sy speed=<baud rate>
|
||||
.Sy [ amd64 ,
|
||||
.Sy i386 ]
|
||||
Set the baud rate for the serial console.
|
||||
|
|
@ -281,14 +367,14 @@ BIOS) will be used.
|
|||
.Sy pmax ,
|
||||
.Sy vax ]
|
||||
Recalculate and restore the Sun and
|
||||
.Nx Ns Tn /sparc
|
||||
.Nx Ns /sparc
|
||||
compatible checksum.
|
||||
.Em Note :
|
||||
The existing
|
||||
.Nx Ns Tn /sparc
|
||||
.Nx Ns /sparc
|
||||
disklabel should use no more than 4 partitions.
|
||||
.
|
||||
.It Sy timeout=\*[Lt]seconds\*[Gt]
|
||||
.It Sy timeout=<seconds>
|
||||
.Sy [ amd64 ,
|
||||
.Sy i386 ]
|
||||
Set the timeout before the automatic boot begins to the given number of seconds.
|
||||
|
|
@ -379,7 +465,7 @@ These are:
|
|||
.El
|
||||
.Pp
|
||||
.Nm
|
||||
exits 0 on success, and \*[Gt]0 if an error occurs.
|
||||
exits 0 on success, and >0 if an error occurs.
|
||||
.
|
||||
.Sh ENVIRONMENT
|
||||
.Nm
|
||||
|
|
@ -387,6 +473,21 @@ uses the following environment variables:
|
|||
.
|
||||
.Bl -tag -width "MACHINE"
|
||||
.
|
||||
.It Ev INSTALLBOOT_UBOOT_PATHS
|
||||
A colon-separated list of search paths to scan for
|
||||
.Sy U-boot
|
||||
packages with
|
||||
.Nm installboot
|
||||
installation overlays.
|
||||
If multiple overlays are found, overlays from paths closer to the front
|
||||
of the list take precedence.
|
||||
If not specified, the default path is
|
||||
.Pa /usr/pkg/share/u-boot .
|
||||
This environment variable is only used on platforms that support
|
||||
using
|
||||
.Sy U-boot :
|
||||
.Sy evbarm .
|
||||
.
|
||||
.It Ev MACHINE
|
||||
Default value for
|
||||
.Ar machine ,
|
||||
|
|
@ -399,7 +500,6 @@ overriding the result from
|
|||
Most
|
||||
.Nx
|
||||
ports will contain variations of the following files:
|
||||
.Pp
|
||||
.Bl -tag -width /usr/mdec/bootxx_ustarfs
|
||||
.
|
||||
.It Pa /usr/mdec/bootxx_ Ns Sy FSTYPE
|
||||
|
|
@ -409,8 +509,7 @@ Installed into the bootstrap area of the file system by
|
|||
.Nm .
|
||||
.
|
||||
.It Pa /usr/mdec/bootxx_fat16
|
||||
Primary bootstrap for
|
||||
.Tn MS-DOS
|
||||
Primary bootstrap for MS-DOS
|
||||
.Sy FAT16
|
||||
file systems.
|
||||
This differs from
|
||||
|
|
@ -421,14 +520,21 @@ any
|
|||
It also uses the information in the
|
||||
.Ql Boot Parameter Block
|
||||
to get the media and filesytem properties.
|
||||
The
|
||||
.Ql hidden sectors
|
||||
field of the BPB must be the offset of the partition in the disk.
|
||||
This can be set using the
|
||||
.Fl b Ar s1bno
|
||||
option.
|
||||
.
|
||||
.It Pa /usr/mdec/bootxx_ffsv1
|
||||
Primary bootstrap for
|
||||
.Sy FFSv1
|
||||
file systems
|
||||
(the "traditional"
|
||||
.Nx
|
||||
file system).
|
||||
(the
|
||||
.Ql traditional
|
||||
file system prior to
|
||||
.Nx 6.0 ) .
|
||||
Use
|
||||
.Xr dumpfs 8
|
||||
to confirm the file system format is
|
||||
|
|
@ -437,7 +543,8 @@ to confirm the file system format is
|
|||
.It Pa /usr/mdec/bootxx_ffsv2
|
||||
Primary bootstrap for
|
||||
.Sy FFSv2
|
||||
file systems.
|
||||
file systems (the default file system for some platforms as of
|
||||
.Nx 6.0 ) .
|
||||
Use
|
||||
.Xr dumpfs 8
|
||||
to confirm the file system format is
|
||||
|
|
@ -455,8 +562,7 @@ file systems
|
|||
(the default LFS version).
|
||||
.
|
||||
.It Pa /usr/mdec/bootxx_msdos
|
||||
Primary bootstrap for
|
||||
.Tn MS-DOS
|
||||
Primary bootstrap for MS-DOS
|
||||
.Sy FAT
|
||||
file systems.
|
||||
.
|
||||
|
|
@ -489,50 +595,126 @@ is not found.
|
|||
.
|
||||
.El
|
||||
.
|
||||
.Ss Nx Ns Tn /macppc files
|
||||
.Ss Nx Ns /evbarm files
|
||||
The
|
||||
.Nx Ns /evbarm
|
||||
platform covers a wide variety of board types, many of which use
|
||||
.Sy U-boot .
|
||||
Running
|
||||
.Nm
|
||||
with no options will display a list of known boards.
|
||||
Using the verbose option will also display information about which
|
||||
.Sy U-boot
|
||||
package needs to be installed to support that board, and if the required
|
||||
.Sy U-boot
|
||||
package is installed, the path at which it is located.
|
||||
.Bl -tag -width /usr/pkg/share/u-boot
|
||||
.It Pa /usr/pkg/share/u-boot
|
||||
The default location scanned for
|
||||
.Sy U-boot
|
||||
packages with installation overlays.
|
||||
.It Pa /usr/share/installboot/evbarm/boards.plist
|
||||
Base board database, used to provide information about which
|
||||
.Sy U-boot
|
||||
package is required for a given board.
|
||||
.El
|
||||
.
|
||||
.Ss Nx Ns /evbmips files
|
||||
.
|
||||
The
|
||||
.Nx Ns /evbmips
|
||||
bootstrap files currently only apply to the SBMIPS kernels for the
|
||||
SiByte/Broadcom BCM1250 and BCM1480 CPUs.
|
||||
.Bl -tag -width /usr/mdec/sbmips/bootxx_cd9660
|
||||
.
|
||||
.It Pa /usr/mdec/sbmips/boot
|
||||
.Nx Ns /evbmips
|
||||
secondary bootstrap for
|
||||
.Sy FFSv1 ,
|
||||
.Sy FFSv2 ,
|
||||
.Sy LFSv1 ,
|
||||
and
|
||||
.Sy LFSv2 .
|
||||
.It Pa /usr/mdec/sbmips/bootxx_cd9660
|
||||
SBMIPS primary bootstrap for ISO 9660 file system.
|
||||
.It Pa /usr/mdec/sbmips/bootxx_ffs
|
||||
SBMIPS primary bootstrap for FFSv1 and FFSv2 file system.
|
||||
.It Pa /usr/mdec/sbmips/bootxx_lfs
|
||||
SBMIPS primary bootstrap for LFSv1 and LFSv2 file system.
|
||||
.It Pa /usr/mdec/sbmips/netboot
|
||||
SBMIPS primary bootstrap for network root.
|
||||
.Pp
|
||||
Note that
|
||||
.Nm
|
||||
does not currently support evbmips directly.
|
||||
.
|
||||
.El
|
||||
.
|
||||
.Ss Nx Ns /hppa files
|
||||
.
|
||||
.Bl -tag -width /usr/mdec/bootxx_ustarfs
|
||||
.
|
||||
.It Pa /usr/mdec/xxboot
|
||||
.Nx Ns /hppa
|
||||
primary bootstrap for
|
||||
.Sy FFSv1 ,
|
||||
.Sy FFSv2 ,
|
||||
.Sy LFSv1 ,
|
||||
and
|
||||
.Sy LFSv2 .
|
||||
.It Pa /usr/mdec/cdboot
|
||||
.Nx Ns /hppa
|
||||
primary bootstrap for ISO 9660 file system.
|
||||
.It Pa /usr/mdec/sdboot
|
||||
Synonym for
|
||||
.Pa /usr/mdec/xxboot
|
||||
.
|
||||
.El
|
||||
.
|
||||
.Ss Nx Ns /macppc files
|
||||
.
|
||||
.Bl -tag -width /usr/mdec/bootxx_ustarfs
|
||||
.
|
||||
.It Pa /usr/mdec/bootxx
|
||||
.Nx Ns Tn /macppc
|
||||
.Nx Ns /macppc
|
||||
primary bootstrap.
|
||||
.
|
||||
.It Pa /usr/mdec/ofwboot
|
||||
.Nx Ns Tn /macppc
|
||||
.Nx Ns /macppc
|
||||
secondary bootstrap.
|
||||
.
|
||||
.It Pa /ofwboot
|
||||
Installed copy of
|
||||
.Nx Ns Tn /macppc
|
||||
.Nx Ns /macppc
|
||||
secondary bootstrap.
|
||||
.
|
||||
.El
|
||||
.
|
||||
.Ss Nx Ns Tn /next68k files
|
||||
.Ss Nx Ns /next68k files
|
||||
.
|
||||
.Bl -tag -width /usr/mdec/bootxx_ustarfs
|
||||
.
|
||||
.It Pa /usr/mdec/boot
|
||||
.Nx Ns Tn /next68k
|
||||
.Nx Ns /next68k
|
||||
bootstrap.
|
||||
.
|
||||
.El
|
||||
.
|
||||
.Ss Nx Ns Tn /sparc64 files
|
||||
.Ss Nx Ns /sparc64 files
|
||||
.
|
||||
.Bl -tag -width /usr/mdec/bootxx_ustarfs
|
||||
.
|
||||
.It Pa /usr/mdec/bootblk
|
||||
.Nx Ns Tn /sparc64
|
||||
.Nx Ns /sparc64
|
||||
primary bootstrap.
|
||||
.
|
||||
.It Pa /usr/mdec/ofwboot
|
||||
.Nx Ns Tn /sparc64
|
||||
.Nx Ns /sparc64
|
||||
secondary bootstrap.
|
||||
.
|
||||
.It Pa /ofwboot
|
||||
Installed copy of
|
||||
.Nx Ns Tn /sparc64
|
||||
.Nx Ns /sparc64
|
||||
secondary bootstrap.
|
||||
.
|
||||
.El
|
||||
|
|
@ -542,7 +724,7 @@ secondary bootstrap.
|
|||
.Ss common
|
||||
Verbosely install the Berkeley Fast File System primary bootstrap on to disk
|
||||
.Sq sd0 :
|
||||
.Dl Ic installboot_nbsd -v /dev/rsd0c /usr/mdec/bootxx_ffs
|
||||
.Dl Ic installboot -v /dev/rsd0c /usr/mdec/bootxx_ffs
|
||||
Note: the
|
||||
.Dq whole disk
|
||||
partition (c on some ports, d on others) is used here, since the a partition
|
||||
|
|
@ -554,37 +736,85 @@ would not be able to access it.
|
|||
.Pp
|
||||
Remove the primary bootstrap from disk
|
||||
.Sq sd1 :
|
||||
.Dl Ic installboot_nbsd -c /dev/rsd1c
|
||||
.Dl Ic installboot -c /dev/rsd1c
|
||||
.
|
||||
.Ss Nx Ns Tn /amiga
|
||||
.Ss Nx Ns /amiga
|
||||
Modify the command line to change the default from "netbsd -ASn2" to
|
||||
"netbsd -S":
|
||||
.Dl Ic installboot_nbsd -m amiga -o command="netbsd -S" /dev/rsd0a /usr/mdec/bootxx_ffs
|
||||
.Dl Ic installboot -m amiga -o command="netbsd -S" /dev/rsd0a /usr/mdec/bootxx_ffsv1
|
||||
.
|
||||
.Ss Nx Ns Tn /ews4800mips
|
||||
.Ss Nx Ns /evbarm
|
||||
Install the
|
||||
.Sy U-boot
|
||||
boot loader for a Pinebook into an image that will be written to
|
||||
an SDMMC card:
|
||||
.Dl Ic installboot -m evbarm -o board=pine64,pinebook arm64.img
|
||||
.Pp
|
||||
Install / update the
|
||||
.Sy U-boot
|
||||
boot loader for the current running system on the eMMC device
|
||||
.Sq ld0
|
||||
and display verbose information about the procedure:
|
||||
.Dl Ic installboot -v /dev/rld0c
|
||||
.Pp
|
||||
Install a specific
|
||||
.Sy U-boot
|
||||
package for a BeagleBone Black into an image that will be written
|
||||
to an SDMMC card:
|
||||
.Dl Ic installboot -m evbarm -o board=ti,am335x-bone-black armv7.img \
|
||||
/path/to/experimental/u-boot/package
|
||||
.
|
||||
.Ss Nx Ns /ews4800mips
|
||||
Install the System V Boot File System primary bootstrap on to disk
|
||||
.Sq sd0 ,
|
||||
with the secondary bootstrap
|
||||
.Sq Pa /boot
|
||||
already present in the SysVBFS partition on the disk:
|
||||
.Dl Ic installboot_nbsd /dev/rsd0c /usr/mdec/bootxx_bfs
|
||||
.
|
||||
.Ss Nx Ns Tn /i386 and Nx Ns Tn /amd64
|
||||
Install new boot blocks on an existing mounted root file system on
|
||||
.Dl Ic installboot /dev/rsd0p /usr/mdec/bootxx_bfs
|
||||
.Bd -ragged -offset indent-two -compact
|
||||
.Em Note :
|
||||
On
|
||||
.Nx Ns /ews4800mips
|
||||
the p partition is the
|
||||
.Dq whole disk
|
||||
(i.e., raw) partition.
|
||||
.Ed
|
||||
.Ss Nx Ns /i386 and Nx Ns /amd64
|
||||
Install new boot blocks on an existing
|
||||
.Sy FFSv2
|
||||
mounted root file system on
|
||||
.Sq wd0 ,
|
||||
setting the timeout to five seconds, after copying a new secondary
|
||||
bootstrap:
|
||||
setting the timeout to five seconds, after installing an MBR bootcode and
|
||||
copying a new secondary bootstrap:
|
||||
.Dl Ic fdisk -c /usr/mdec/mbr /dev/rwd0d
|
||||
.Bd -ragged -offset indent-two -compact
|
||||
.Em Note :
|
||||
See
|
||||
.Xr fdisk 8
|
||||
and
|
||||
.Xr x86/mbr 8
|
||||
for more details.
|
||||
.Ed
|
||||
.Dl Ic cp /usr/mdec/boot /boot
|
||||
.Dl Ic installboot_nbsd -v -o timeout=5 /dev/rwd0a /usr/mdec/bootxx_ffsv1
|
||||
.
|
||||
.Dl Ic installboot -v -o timeout=5 /dev/rwd0a /usr/mdec/bootxx_ffsv2
|
||||
.Bd -ragged -offset indent-two -compact
|
||||
.Em Note :
|
||||
Pre
|
||||
.Nx 6.0
|
||||
systems used
|
||||
.Sy FFSv1
|
||||
file systems on these platforms; double check with
|
||||
.Xr dumpfs 8
|
||||
to be sure to use the correct secondary bootstrap.
|
||||
.Ed
|
||||
.Pp
|
||||
Create a bootable CD-ROM with an ISO9660
|
||||
Create a bootable CD-ROM with an ISO 9660
|
||||
file system for an i386 system with a serial console:
|
||||
.Dl Ic mkdir cdrom
|
||||
.Dl Ic cp sys/arch/i386/compile/mykernel/netbsd cdrom/netbsd
|
||||
.Dl Ic cp /usr/mdec/boot cdrom/boot
|
||||
.Dl Ic cp /usr/mdec/bootxx_cd9660 bootxx
|
||||
.Dl Ic installboot_nbsd -o console=com0,speed=19200 -m i386 -e bootxx
|
||||
.Dl Ic installboot -o console=com0,speed=19200 -m i386 -e bootxx
|
||||
.Dl Ic makefs -t cd9660 -o 'bootimage=i386;bootxx,no-emul-boot' boot.iso \
|
||||
cdrom
|
||||
.
|
||||
|
|
@ -602,9 +832,9 @@ which is not a problem for a floppy disk.
|
|||
.Ed
|
||||
.Dl Ic mount /dev/fd0a /mnt
|
||||
.Dl Ic cp /usr/mdec/boot /mnt/boot
|
||||
.Dl Ic gzip -9 \*[Lt] sys/arch/i386/compile/mykernel/netbsd \*[Gt] /mnt/netbsd.gz
|
||||
.Dl Ic gzip -9 < sys/arch/i386/compile/mykernel/netbsd > /mnt/netbsd.gz
|
||||
.Dl Ic umount /mnt
|
||||
.Dl Ic installboot_nbsd -v /dev/rfd0a /usr/mdec/bootxx_ffsv1
|
||||
.Dl Ic installboot -v /dev/rfd0a /usr/mdec/bootxx_ffsv1
|
||||
.
|
||||
.Pp
|
||||
Create a bootable FAT file system on
|
||||
|
|
@ -632,7 +862,7 @@ changed to this value.
|
|||
.Dl Ic cp /usr/mdec/boot /mnt/boot
|
||||
.Dl Ic cp path/to/kernel /mnt/netbsd
|
||||
.Dl Ic umount /mnt
|
||||
.Dl Ic installboot_nbsd -t raw /dev/rwd1a /usr/mdec/bootxx_msdos
|
||||
.Dl Ic installboot -t raw /dev/rwd1a /usr/mdec/bootxx_msdos
|
||||
.Pp
|
||||
Make the existing FAT16 filesystem on
|
||||
.Sq sd0e
|
||||
|
|
@ -643,7 +873,7 @@ sectors and that the manufacturer correctly initialised the file system.
|
|||
.Dl Ic cp /usr/mdec/boot /mnt/boot
|
||||
.Dl Ic cp path/to/kernel /mnt/netbsd
|
||||
.Dl Ic umount /mnt
|
||||
.Dl Ic installboot_nbsd /dev/rsd0e /usr/mdec/bootxx_fat16
|
||||
.Dl Ic installboot /dev/rsd0e /usr/mdec/bootxx_fat16
|
||||
It may also be necessary to use
|
||||
.Nm fdisk
|
||||
to make the device itself bootable.
|
||||
|
|
@ -651,8 +881,8 @@ to make the device itself bootable.
|
|||
.Pp
|
||||
Switch the existing installed bootstrap to use a serial console without
|
||||
reinstalling or altering other options such as timeout.
|
||||
.Dl Ic installboot_nbsd -e -o console=com0 /dev/rwd0a
|
||||
.Ss Nx Ns Tn /macppc
|
||||
.Dl Ic installboot -e -o console=com0 /dev/rwd0a
|
||||
.Ss Nx Ns /macppc
|
||||
Note the
|
||||
.Nm
|
||||
utility is only required for macppc machines with OpenFirmware version 2
|
||||
|
|
@ -662,10 +892,10 @@ map.
|
|||
.Pp
|
||||
Install the Berkeley Fast File System primary bootstrap on to disk
|
||||
.Sq wd0 :
|
||||
.Dl Ic installboot_nbsd /dev/rwd0c /usr/mdec/bootxx /ofwboot
|
||||
.Dl Ic installboot /dev/rwd0c /usr/mdec/bootxx /ofwboot
|
||||
.Pp
|
||||
The secondary
|
||||
.Nx Ns Tn /macppc
|
||||
.Nx Ns /macppc
|
||||
bootstrap is located in
|
||||
.Pa /usr/mdec/ofwboot .
|
||||
.Pp
|
||||
|
|
@ -674,23 +904,22 @@ The primary bootstrap requires the raw
|
|||
for the secondary bootstrap, not
|
||||
.Pa ofwboot.xcf ,
|
||||
which is used for the OpenFirmware to load kernels.
|
||||
.Ss Nx Ns Tn /next68k
|
||||
.Ss Nx Ns /next68k
|
||||
Install the bootstrap on to disk
|
||||
.Sq sd0 :
|
||||
.Dl Ic installboot_nbsd /dev/rsd0c /usr/mdec/boot
|
||||
.Pp
|
||||
.Dl Ic installboot /dev/rsd0c /usr/mdec/boot
|
||||
.
|
||||
.Ss Nx Ns Tn /pmax
|
||||
.Ss Nx Ns /pmax
|
||||
Install the Berkeley Fast File System primary bootstrap on to disk
|
||||
.Sq sd0 :
|
||||
.Dl Ic installboot_nbsd /dev/rsd0c /usr/mdec/bootxx_ffs
|
||||
.Dl Ic installboot /dev/rsd0c /usr/mdec/bootxx_ffs
|
||||
.Pp
|
||||
.Nx Ns Tn /pmax
|
||||
.Nx Ns /pmax
|
||||
requires that this file system starts at block 0 of the disk.
|
||||
.Pp
|
||||
Install the ISO 9660 primary bootstrap in the file
|
||||
.Pa /tmp/cd-image :
|
||||
.Dl Ic installboot_nbsd -m pmax /tmp/cd-image /usr/mdec/bootxx_cd9660
|
||||
.Dl Ic installboot -m pmax /tmp/cd-image /usr/mdec/bootxx_cd9660
|
||||
.Pp
|
||||
Make an ISO 9660 filesystem in the file
|
||||
.Pa /tmp/cd-image
|
||||
|
|
@ -704,33 +933,33 @@ and the secondary bootstrap
|
|||
.Dl ...
|
||||
.Dl 48 51 iso-source-dir/bootxx_cd9660
|
||||
.Dl ...
|
||||
.Dl Ic installboot_nbsd -b `expr 48 \e* 4` /tmp/cd-image /usr/mdec/bootxx_cd9660
|
||||
.Dl Ic installboot -b `expr 48 \e* 4` /tmp/cd-image /usr/mdec/bootxx_cd9660
|
||||
.
|
||||
.Ss Nx Ns Tn /sparc
|
||||
.Ss Nx Ns /sparc
|
||||
Install the Berkeley Fast File System primary bootstrap on to disk
|
||||
.Sq sd0 ,
|
||||
with the secondary bootstrap
|
||||
.Sq Pa /boot
|
||||
already present:
|
||||
.Dl Ic installboot_nbsd /dev/rsd0c /usr/mdec/bootxx /boot
|
||||
.Dl Ic installboot /dev/rsd0c /usr/mdec/bootxx /boot
|
||||
.
|
||||
.Ss Nx Ns Tn /sparc64
|
||||
.Ss Nx Ns /sparc64
|
||||
Install the primary bootstrap on to disk
|
||||
.Sq sd0 :
|
||||
.Dl Ic installboot_nbsd /dev/rsd0c /usr/mdec/bootblk
|
||||
.Dl Ic installboot /dev/rsd0c /usr/mdec/bootblk
|
||||
.Pp
|
||||
The secondary
|
||||
.Nx Ns Tn /sparc64
|
||||
.Nx Ns /sparc64
|
||||
bootstrap is located in
|
||||
.Pa /usr/mdec/ofwboot .
|
||||
.
|
||||
.Ss Nx Ns Tn /sun2 and Nx Ns Tn /sun3
|
||||
.Ss Nx Ns /sun2 and Nx Ns /sun3
|
||||
Install the Berkeley Fast File System primary bootstrap on to disk
|
||||
.Sq sd0 ,
|
||||
with the secondary bootstrap
|
||||
.Sq Pa /boot
|
||||
already present:
|
||||
.Dl Ic installboot_nbsd /dev/rsd0c /usr/mdec/bootxx /boot
|
||||
.Dl Ic installboot /dev/rsd0c /usr/mdec/bootxx /boot
|
||||
.
|
||||
.Sh SEE ALSO
|
||||
.Xr uname 3 ,
|
||||
|
|
@ -738,7 +967,8 @@ already present:
|
|||
.Xr disklabel 8 ,
|
||||
.Xr dumpfs 8 ,
|
||||
.Xr fdisk 8 ,
|
||||
.Xr pxeboot 8
|
||||
.Xr x86/mbr 8 ,
|
||||
.Xr x86/pxeboot 8
|
||||
.
|
||||
.Sh HISTORY
|
||||
This implementation of
|
||||
|
|
@ -747,25 +977,40 @@ appeared in
|
|||
.Nx 1.6 .
|
||||
.
|
||||
.Sh AUTHORS
|
||||
.An -nosplit
|
||||
The machine independent portion of this implementation of
|
||||
.Nm
|
||||
was written by Luke Mewburn.
|
||||
was written by
|
||||
.An Luke Mewburn .
|
||||
The following people contributed to the various machine dependent
|
||||
back-ends:
|
||||
Simon Burge (pmax),
|
||||
Chris Demetriou (alpha),
|
||||
Matthew Fredette (sun2, sun3),
|
||||
Matthew Green (sparc64),
|
||||
Ross Harvey (alpha),
|
||||
Michael Hitch (amiga),
|
||||
Paul Kranenburg (sparc),
|
||||
David Laight (i386),
|
||||
Christian Limpach (next68k),
|
||||
Luke Mewburn (macppc),
|
||||
Matt Thomas (vax),
|
||||
Izumi Tsutsui (news68k, newsmips),
|
||||
.An Simon Burge
|
||||
(pmax),
|
||||
.An Chris Demetriou
|
||||
(alpha),
|
||||
.An Matthew Fredette
|
||||
(sun2, sun3),
|
||||
.An Matthew Green
|
||||
(sparc64),
|
||||
.An Ross Harvey
|
||||
(alpha),
|
||||
.An Michael Hitch
|
||||
(amiga),
|
||||
.An Paul Kranenburg
|
||||
(sparc),
|
||||
.An David Laight
|
||||
(i386),
|
||||
.An Christian Limpach
|
||||
(next68k),
|
||||
.An Luke Mewburn
|
||||
(macppc),
|
||||
.An Matt Thomas
|
||||
(vax),
|
||||
.An Izumi Tsutsui
|
||||
(news68k, newsmips),
|
||||
and
|
||||
UCHIYAMA Yasushi (ews4800mips).
|
||||
.An UCHIYAMA Yasushi
|
||||
(ews4800mips).
|
||||
.
|
||||
.Sh BUGS
|
||||
There are not currently primary bootstraps to support all file systems
|
||||
|
|
@ -784,9 +1029,9 @@ In this case, the
|
|||
.Fl t Ar raid
|
||||
option must be provided.
|
||||
.
|
||||
.Ss Nx Ns Tn /alpha
|
||||
.Ss Nx Ns /alpha
|
||||
The
|
||||
.Nx Ns Tn /alpha
|
||||
.Nx Ns /alpha
|
||||
primary bootstrap program can only load the secondary bootstrap program
|
||||
from file systems starting at the beginning (block 0) of disks.
|
||||
Similarly, the secondary bootstrap program can only load kernels from
|
||||
|
|
@ -796,11 +1041,11 @@ The size of primary bootstrap programs is restricted to 7.5KB, even
|
|||
though some file systems (e.g., ISO 9660) are able to accommodate larger
|
||||
ones.
|
||||
.
|
||||
.Ss Nx Ns Tn /hp300
|
||||
.Ss Nx Ns /hp300
|
||||
The disk must have a boot partition large enough to hold the bootstrap code.
|
||||
Currently the primary bootstrap must be a LIF format file.
|
||||
.
|
||||
.Ss Nx Ns Tn /i386 and Nx Ns Tn /amd64
|
||||
.Ss Nx Ns /i386 and Nx Ns /amd64
|
||||
The bootstrap must be installed in the
|
||||
.Nx
|
||||
partition that starts at the beginning of the mbr partition.
|
||||
|
|
@ -814,7 +1059,7 @@ The size of primary bootstrap programs is restricted to 8KB, even
|
|||
though some file systems (e.g., ISO 9660) are able to accommodate larger
|
||||
ones.
|
||||
.
|
||||
.Ss Nx Ns Tn /macppc
|
||||
.Ss Nx Ns /macppc
|
||||
Due to restrictions in
|
||||
.Nm
|
||||
and the secondary bootstrap implementation, file systems where kernels exist
|
||||
|
|
@ -826,17 +1071,17 @@ doesn't recognize an existing Apple partition map on the disk
|
|||
and always writes a faked map to make disks bootable.
|
||||
.Pp
|
||||
The
|
||||
.Nx Ns Tn /macppc
|
||||
.Nx Ns /macppc
|
||||
bootstrap program can't load kernels from
|
||||
.Sy FFSv2
|
||||
partitions.
|
||||
.Ss Nx Ns Tn /next68k
|
||||
.Ss Nx Ns /next68k
|
||||
The size of bootstrap programs is restricted to the free space before
|
||||
the file system at the beginning of the disk minus 8KB.
|
||||
.
|
||||
.Ss Nx Ns Tn /pmax
|
||||
.Ss Nx Ns /pmax
|
||||
The
|
||||
.Nx Ns Tn /pmax
|
||||
.Nx Ns /pmax
|
||||
secondary bootstrap program can only load kernels from file
|
||||
systems starting at the beginning of disks.
|
||||
.Pp
|
||||
|
|
@ -844,17 +1089,17 @@ The size of primary bootstrap programs is restricted to 7.5KB, even
|
|||
though some file systems (e.g., ISO 9660) are able to accommodate larger
|
||||
ones.
|
||||
.
|
||||
.Ss Nx Ns Tn /sun2 and Nx Ns Tn /sun3
|
||||
.Ss Nx Ns /sun2 and Nx Ns /sun3
|
||||
The
|
||||
.Nx Ns Tn /sun2
|
||||
.Nx Ns /sun2
|
||||
and
|
||||
.Nx Ns Tn /sun3
|
||||
.Nx Ns /sun3
|
||||
secondary bootstrap program can only load kernels from file
|
||||
systems starting at the beginning of disks.
|
||||
.
|
||||
.Ss Nx Ns Tn /vax
|
||||
.Ss Nx Ns /vax
|
||||
The
|
||||
.Nx Ns Tn /vax
|
||||
.Nx Ns /vax
|
||||
secondary bootstrap program can only load kernels from file systems
|
||||
starting at the beginning of disks.
|
||||
.Pp
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: installboot.c,v 1.39 2015/07/25 10:37:22 mlelstv Exp $ */
|
||||
/* $NetBSD: installboot.c,v 1.40 2019/05/07 05:02:42 thorpej Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2002 The NetBSD Foundation, Inc.
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
|
||||
#include <sys/cdefs.h>
|
||||
#if !defined(__lint)
|
||||
__RCSID("$NetBSD: installboot.c,v 1.39 2015/07/25 10:37:22 mlelstv Exp $");
|
||||
__RCSID("$NetBSD: installboot.c,v 1.40 2019/05/07 05:02:42 thorpej Exp $");
|
||||
#endif /* !__lint */
|
||||
|
||||
#include <sys/param.h>
|
||||
|
|
@ -56,6 +56,7 @@ __RCSID("$NetBSD: installboot.c,v 1.39 2015/07/25 10:37:22 mlelstv Exp $");
|
|||
#endif
|
||||
|
||||
#include "installboot.h"
|
||||
#include "evboards.h"
|
||||
|
||||
static void getmachine(ib_params *, const char *, const char *);
|
||||
static void getfstype(ib_params *, const char *, const char *);
|
||||
|
|
@ -92,6 +93,9 @@ const struct option {
|
|||
{ "timeout", IB_TIMEOUT, OPT_INT, OFFSET(timeout) },
|
||||
{ "modules", IB_MODULES, OPT_BOOL, 0 },
|
||||
{ "bootconf", IB_BOOTCONF, OPT_BOOL, 0 },
|
||||
{ "board", IB_BOARD, OPT_STRING, OFFSET(board) },
|
||||
{ "dtb", IB_DTB, OPT_STRING, OFFSET(dtb) },
|
||||
{ "media", IB_MEDIA, OPT_WORD, OFFSET(media) },
|
||||
{ .name = NULL },
|
||||
};
|
||||
#undef OFFSET
|
||||
|
|
@ -302,16 +306,32 @@ main(int argc, char *argv[])
|
|||
}
|
||||
}
|
||||
|
||||
assert(params->machine != NULL);
|
||||
|
||||
if (argc >= 2) {
|
||||
if ((params->s1fd = open(argv[1], O_RDONLY, 0600)) == -1)
|
||||
err(1, "Opening primary bootstrap `%s'", argv[1]);
|
||||
if (fstat(params->s1fd, ¶ms->s1stat) == -1)
|
||||
err(1, "Examining primary bootstrap `%s'", argv[1]);
|
||||
if (!S_ISREG(params->s1stat.st_mode))
|
||||
errx(1, "`%s' must be a regular file", argv[1]);
|
||||
if (!S_ISREG(params->s1stat.st_mode)) {
|
||||
/*
|
||||
* If the platform uses u-boot, then the stage1
|
||||
* spec might be the directory where the u-boot
|
||||
* binaries for the system are located.
|
||||
*/
|
||||
if (params->machine->mach_flags & MF_UBOOT) {
|
||||
if (!S_ISDIR(params->s1stat.st_mode)) {
|
||||
errx(1, "`%s' must be a regular file "
|
||||
"or a directory", argv[1]);
|
||||
}
|
||||
(void) close(params->s1fd);
|
||||
params->s1fd = -1;
|
||||
} else {
|
||||
errx(1, "`%s' must be a regular file", argv[1]);
|
||||
}
|
||||
}
|
||||
params->stage1 = argv[1];
|
||||
}
|
||||
assert(params->machine != NULL);
|
||||
|
||||
if (params->flags & IB_VERBOSE) {
|
||||
printf("File system: %s\n", params->filesystem);
|
||||
|
|
@ -321,9 +341,11 @@ main(int argc, char *argv[])
|
|||
params->fstype->name, params->fstype->blocksize,
|
||||
params->fstype->needswap);
|
||||
if (!(params->flags & IB_EDIT))
|
||||
printf("Primary bootstrap: %s\n",
|
||||
printf("Primary bootstrap: %s%s\n",
|
||||
(params->flags & IB_CLEAR) ? "(to be cleared)"
|
||||
: params->stage1 ? params->stage1 : "(none)" );
|
||||
: params->stage1 ? params->stage1 : "(none)",
|
||||
S_ISDIR(params->s1stat.st_mode) ? " (directory)"
|
||||
: "");
|
||||
if (params->stage2 != NULL)
|
||||
printf("Secondary bootstrap: %s\n", params->stage2);
|
||||
}
|
||||
|
|
@ -335,9 +357,18 @@ main(int argc, char *argv[])
|
|||
op = "Clear";
|
||||
rv = params->machine->clearboot(params);
|
||||
} else {
|
||||
if (argc < 2)
|
||||
errx(EXIT_FAILURE, "Please specify the primary "
|
||||
"bootstrap file");
|
||||
if (argc < 2) {
|
||||
/*
|
||||
* If the platform uses u-boot, then the stage1 spec is
|
||||
* optional iff they specified a board (because we can
|
||||
* infer a default location for u-boot binaries if the
|
||||
* board type is given).
|
||||
*/
|
||||
if (!(params->machine->mach_flags & MF_UBOOT)) {
|
||||
errx(EXIT_FAILURE,
|
||||
"Please specify the primary bootstrap file");
|
||||
}
|
||||
}
|
||||
op = "Set";
|
||||
rv = params->machine->setboot(params);
|
||||
}
|
||||
|
|
@ -354,7 +385,7 @@ main(int argc, char *argv[])
|
|||
}
|
||||
if (close(params->fsfd) == -1)
|
||||
err(1, "Closing file system `%s'", params->filesystem);
|
||||
if (argc == 2)
|
||||
if (params->s1fd != -1)
|
||||
if (close(params->s1fd) == -1)
|
||||
err(1, "Closing primary bootstrap `%s'",
|
||||
params->stage1);
|
||||
|
|
@ -607,5 +638,8 @@ usage(void)
|
|||
machine_usage();
|
||||
fstype_usage();
|
||||
options_usage();
|
||||
if (installboot_params.machine != NULL &&
|
||||
installboot_params.machine->usage != NULL)
|
||||
installboot_params.machine->usage(&installboot_params);
|
||||
exit(1);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: installboot.h,v 1.39 2014/02/24 07:23:44 skrll Exp $ */
|
||||
/* $NetBSD: installboot.h,v 1.42 2020/06/21 17:17:02 thorpej Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2002 The NetBSD Foundation, Inc.
|
||||
|
|
@ -67,8 +67,19 @@ typedef enum {
|
|||
IB_CONSADDR = 1<<20, /* i386 console io address */
|
||||
IB_MODULES = 1<<21, /* i386: load modules */
|
||||
IB_BOOTCONF = 1<<22, /* i386: read boot.conf */
|
||||
|
||||
IB_BOARD = 1<<23, /* evb*: board specification */
|
||||
IB_DTB= 1<<24, /* evb*: device tree blob */
|
||||
|
||||
/* IB_MEDIA is required for some evb*, but not all. */
|
||||
IB_MEDIA = 1<<25, /* evb*: boot media type */
|
||||
} ib_flags;
|
||||
|
||||
typedef enum {
|
||||
|
||||
MF_UBOOT = 1<<0, /* platform (maybe) uses u-boot */
|
||||
} m_flags;
|
||||
|
||||
typedef struct {
|
||||
ib_flags flags; /* flags (see above) */
|
||||
struct ib_mach *machine; /* machine details (see below) */
|
||||
|
|
@ -91,6 +102,12 @@ typedef struct {
|
|||
const char *password; /* boot password */
|
||||
int timeout; /* interactive boot timeout */
|
||||
const char *keymap; /* keyboard translations */
|
||||
const char *board; /* board specification */
|
||||
const char *dtb; /* dtb specification */
|
||||
const char *media; /* boot media type */
|
||||
|
||||
/* temporary working data */
|
||||
void *mach_data; /* platform-specific data */
|
||||
} ib_params;
|
||||
|
||||
typedef struct {
|
||||
|
|
@ -103,7 +120,9 @@ struct ib_mach {
|
|||
int (*setboot) (ib_params *);
|
||||
int (*clearboot) (ib_params *);
|
||||
int (*editboot) (ib_params *);
|
||||
void (*usage) (ib_params *);
|
||||
ib_flags valid_flags;
|
||||
m_flags mach_flags;
|
||||
};
|
||||
|
||||
struct ib_fs {
|
||||
|
|
@ -166,14 +185,17 @@ void install_master(const char *device, char *masterboot, char **guide);
|
|||
int isoption(const char *option, const char *test);
|
||||
|
||||
/* minixfs3.c */
|
||||
int minixfs3_is_minix_partition(ib_params *params);
|
||||
int minixfs3_has_bootblock_space(ib_params *params);
|
||||
|
||||
int minixfs3_is_minix_partition(ib_params *params);
|
||||
int minixfs3_has_bootblock_space(ib_params *params);
|
||||
|
||||
/* machines.c */
|
||||
#if !defined(__minix)
|
||||
extern struct ib_mach ib_mach_alpha;
|
||||
extern struct ib_mach ib_mach_amd64;
|
||||
extern struct ib_mach ib_mach_amiga;
|
||||
extern struct ib_mach ib_mach_emips;
|
||||
extern struct ib_mach ib_mach_evbarm;
|
||||
extern struct ib_mach ib_mach_evbmips;
|
||||
extern struct ib_mach ib_mach_ews4800mips;
|
||||
extern struct ib_mach ib_mach_hp300;
|
||||
extern struct ib_mach ib_mach_hppa;
|
||||
|
|
@ -190,5 +212,9 @@ extern struct ib_mach ib_mach_sun2;
|
|||
extern struct ib_mach ib_mach_sun3;
|
||||
extern struct ib_mach ib_mach_vax;
|
||||
extern struct ib_mach ib_mach_x68k;
|
||||
#else
|
||||
extern struct ib_mach ib_mach_amd64;
|
||||
extern struct ib_mach ib_mach_i386;
|
||||
#endif /* !defined(__minix) */
|
||||
|
||||
#endif /* _INSTALLBOOT_H */
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: machines.c,v 1.39 2014/02/24 07:23:44 skrll Exp $ */
|
||||
/* $NetBSD: machines.c,v 1.43 2020/06/21 17:17:02 thorpej Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2002-2005 The NetBSD Foundation, Inc.
|
||||
|
|
@ -35,60 +35,40 @@
|
|||
|
||||
#include <sys/cdefs.h>
|
||||
#if !defined(__lint)
|
||||
__RCSID("$NetBSD: machines.c,v 1.39 2014/02/24 07:23:44 skrll Exp $");
|
||||
__RCSID("$NetBSD: machines.c,v 1.43 2020/06/21 17:17:02 thorpej Exp $");
|
||||
#endif /* !__lint */
|
||||
|
||||
#include <sys/types.h>
|
||||
#include "installboot.h"
|
||||
|
||||
/*
|
||||
* Define these here so they end up as zero-filled bss if installboot
|
||||
* isn't built with all the architectures defined.
|
||||
* A lot simpler that conditionally including the definitions themselves.
|
||||
*/
|
||||
struct ib_mach
|
||||
ib_mach_alpha,
|
||||
ib_mach_amd64,
|
||||
ib_mach_amiga,
|
||||
ib_mach_emips,
|
||||
ib_mach_ews4800mips,
|
||||
ib_mach_hp300,
|
||||
ib_mach_hppa,
|
||||
ib_mach_i386,
|
||||
ib_mach_landisk,
|
||||
ib_mach_macppc,
|
||||
ib_mach_news68k,
|
||||
ib_mach_newsmips,
|
||||
ib_mach_next68k,
|
||||
ib_mach_pmax,
|
||||
ib_mach_sparc,
|
||||
ib_mach_sparc64,
|
||||
ib_mach_sun2,
|
||||
ib_mach_sun3,
|
||||
ib_mach_vax,
|
||||
ib_mach_x68k;
|
||||
|
||||
struct ib_mach * const machines[] = {
|
||||
&ib_mach_alpha,
|
||||
#ifdef SINGLE_ARCH
|
||||
&SINGLE_ARCH,
|
||||
#else
|
||||
//__MINIX
|
||||
// &ib_mach_alpha,
|
||||
&ib_mach_amd64,
|
||||
&ib_mach_amiga,
|
||||
&ib_mach_emips,
|
||||
&ib_mach_ews4800mips,
|
||||
&ib_mach_hp300,
|
||||
&ib_mach_hppa,
|
||||
// &ib_mach_amiga,
|
||||
// &ib_mach_emips,
|
||||
// &ib_mach_evbarm,
|
||||
// &ib_mach_evbmips,
|
||||
// &ib_mach_ews4800mips,
|
||||
// &ib_mach_hp300,
|
||||
// &ib_mach_hppa,
|
||||
&ib_mach_i386,
|
||||
&ib_mach_landisk,
|
||||
&ib_mach_macppc,
|
||||
&ib_mach_news68k,
|
||||
&ib_mach_newsmips,
|
||||
&ib_mach_next68k,
|
||||
&ib_mach_pmax,
|
||||
&ib_mach_sparc,
|
||||
&ib_mach_sparc64,
|
||||
&ib_mach_sun2,
|
||||
&ib_mach_sun3,
|
||||
&ib_mach_vax,
|
||||
&ib_mach_x68k,
|
||||
// &ib_mach_landisk,
|
||||
// &ib_mach_macppc,
|
||||
// &ib_mach_news68k,
|
||||
// &ib_mach_newsmips,
|
||||
// &ib_mach_next68k,
|
||||
// &ib_mach_pmax,
|
||||
// &ib_mach_sparc,
|
||||
// &ib_mach_sparc64,
|
||||
// &ib_mach_sun2,
|
||||
// &ib_mach_sun3,
|
||||
// &ib_mach_vax,
|
||||
// &ib_mach_x68k,
|
||||
#endif
|
||||
NULL
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user