Delete the DOS dir to mirror what we do with NANO_WORLDDIR.

Copy ubldr and ubldr.bin to the dos partition when we're making it.
Minor style fixes.
This commit is contained in:
Warner Losh 2015-12-22 19:40:34 +00:00
parent 459d04a5ee
commit cf296cf3d7
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=292616

View File

@ -106,18 +106,16 @@ NANO_FAT_DIR=${NANO_OBJ}/_.fat
customize_cmd cust_allow_ssh_root
add_etc_make_conf()
{
add_etc_make_conf ( ) (
touch ${NANO_WORLDDIR}/etc/make.conf
}
)
customize_cmd add_etc_make_conf
cust_install_machine_files()
{
cust_install_machine_files ( ) (
echo "cd ${NANO_CFG_BASE}/Files"
cd ${NANO_CFG_BASE}/Files
find . -print | grep -Ev '/(CVS|\.svn|\.hg|\.git)' | cpio -dumpv ${NANO_WORLDDIR}
}
)
customize_cmd cust_install_files
customize_cmd cust_install_machine_files
@ -181,8 +179,7 @@ WITHOUT_RCS=true
NANO_PACKAGE_ONLY=1
# install a package from a pre-built binary
do_add_pkg ()
{
do_add_pkg ( ) (
# Need to create ${NANO_OBJ}/ports in this add_pkg_${port} function
set -x
mkdir -p ${NANO_OBJ}/ports/distfiles
@ -200,11 +197,10 @@ do_add_pkg ()
rmdir ${NANO_WORLDDIR}/usr/ports/distfiles
rmdir ${NANO_WORLDDIR}/usr/ports
set +x
}
)
# Build a port (with the side effect of creating a package)
do_add_port ()
{
do_add_port ( ) (
local port_path
port_path=$1
shift
@ -245,11 +241,12 @@ do_add_port ()
umount ${NANO_WORLDDIR}/usr/ports
umount ${NANO_WORLDDIR}/usr/src
set +x
}
)
# Need to check if this function works with cross-compiling architecture!!!!
# Recursive complex fonction: Generate one function for each ports
add_port () {
# writes shell functions called later, so don't do in subshell.
add_port ( ) {
local port_path=$1
local port=`echo $1 | sed -e 's/\//_/'`
shift
@ -262,7 +259,7 @@ add_port () {
if [ -f ${NANO_OBJ}/ports/packages/All/${PKG_NAME}.txz ]; then
# Pkg file found: Generate add_pkg_NAME function
eval "
add_pkg_${port} () {
add_pkg_${port} ( ) {
do_add_pkg ${PKG_NAME}
}
customize_cmd add_pkg_${port}
@ -270,7 +267,7 @@ add_port () {
else
# No pkg file: Generate add_port_NAME function
eval "
add_port_${port} () {
add_port_${port} ( ) {
do_add_port ${port_path} $*
}
customize_cmd add_port_${port}
@ -329,7 +326,7 @@ create_diskimage_mbr ( ) (
if [ -z "${NANO_CFGDIR}" ]; then
echo "Faking cfg dir, it's empty"
NANO_CFGDIR=${NANO_OBJ}/_.empty
mkdir ${NANO_CFGDIR}
mkdir -p ${NANO_CFGDIR}
fi
# XXX -F cfg-mtree
eval "${NANO_MAKEFS_UFS}" -s ${NANO_SLICE_CFG_SIZE} \
@ -377,8 +374,7 @@ create_diskimage_mbr ( ) (
) > ${NANO_OBJ}/_.di 2>&1
)
die()
{
die( ) {
echo "$*"
exit 1
}
@ -435,19 +431,17 @@ $var=$val"
fi
done
save_build ( )
{
save_build ( ) (
VERSION_FILE=${NANO_WORLDDIR}/etc/version
if [ "${SVNREVISION}" = "${REVISION}" ]; then
echo "${NANO_NAME}" > "${VERSION_FILE}"
else
echo "${NANO_NAME} (${SVNREVISION})" > "${VERSION_FILE}"
fi
}
)
customize_cmd save_build
shrink_md_fbsize ( )
{
shrink_md_fbsize ( ) (
# We have a lot of little files on our memory disks. Let's decrease
# the block and frag size to fit more little files on them (this
# halves our space requirement by ~50% on /etc and /var on 8.x --
@ -455,17 +449,25 @@ shrink_md_fbsize ( )
# are 4 times larger).
sed -i '' -e 's,-S -i 4096,-S -i 4096 -b 4096 -f 512,' \
${NANO_WORLDDIR}/etc/rc.initdiskless
}
)
customize_cmd shrink_md_fbsize
customize_cmd cust_comconsole
dos_boot_part ( )
(
dos_boot_part ( ) (
local d=/usr/local/share/u-boot/${NANO_BOOT_PKG}
# For now, just copy all the files. However, for iMX6 and Allwinner,
# we'll need to put a special boot block at a fixed location
# on the disk as well.
rm -rf ${NANO_FAT_DIR}
mkdir ${NANO_FAT_DIR}
cp ${d}/* ${NANO_FAT_DIR}
cp ${d}/* ${NANO_FAT_DIR}
# Also copy ubldr. u-boot will load it and it will load the kernel
# from the ufs partition
cp ${NANO_WORLDDIR}/boot/ubldr ${NANO_FAT_DIR}
cp ${NANO_WORLDDIR}/boot/ubldr.bin ${NANO_FAT_DIR}
)
if [ -n "$NANO_BOOT_PKG" ]; then
@ -480,8 +482,7 @@ if [ -n "$NANO_BOOT_PKG" ]; then
customize_cmd dos_boot_part
fi
product_custom ( )
(
product_custom ( ) (
# not quie ready to tweak these in nopriv build
if [ -z ${NANO_NOPRIV_BUILD} ]; then
# Last second tweaks -- generally not needed
@ -493,6 +494,12 @@ product_custom ( )
chown root:wheel ${NANO_WORLDDIR}/
chown root:wheel ${NANO_WORLDDIR}/usr
fi
local rc=${NANO_WORLDDIR}/etc/rc.conf
echo "hostname=nanobsd-${NANO_NAME}" > $rc
echo "growfs_enable=YES" >> $rc
echo "growfs_type=nanobsd-pingpong" >> $rc
echo "ntpdate_enable=YES" >> $rc
echo "ntpdate_hosts=0.freebsd.pool.ntp.org 1.freebsd.pool.ntp.org" >> $rc
)
late_customize_cmd product_custom
@ -504,7 +511,8 @@ late_customize_cmd product_custom
# For each architecture, we have a standard set of settings to the extent
# it makes sense. For architectures that don't have a standard environment
# cfg files need to either define a lot of settings, provide their own disk
# imaging, or set which of the variants we support.
# imaging, or set which of the variants we support. No subshells, since we
# set global variables
#
std_aarch64 ( ) {