1
19.7 Legacy Series / Re: Install Problems
« on: January 19, 2020, 09:39:40 pm »
I fixed this. The problem is the installation combinations are very limited - either 64bit GPT or MBR, or 32bit MBR. I needed 32bit GPT.
Fixed it by running a 32bit and a 64bit install in VMware Workstation and examining the build logs, extracting the commands and running a GPT config followed by a OS config. Missing bits around GPT boot came from the gpart man page.
GPT config script:
OS install:
These have the benefit of running much quicker than the standard GUI based stuff. In particular the cpdup command replace the standard -vvv (which produces log output for every file copied) with -d (output just for each directory).
Cheers
Tim
Fixed it by running a 32bit and a 64bit install in VMware Workstation and examining the build logs, extracting the commands and running a GPT config followed by a OS config. Missing bits around GPT boot came from the gpart man page.
GPT config script:
Code: [Select]
#
# gpt version of i386 install
#
# Format Disk as GPT
/sbin/gpart destroy -F ada0
/sbin/gpart create -s gpt ada0
#
# Install protective mbr
/sbin/gpart bootcode -b /boot/pmbr ada0
#
# Create Partition p1
/sbin/gpart add -t freebsd-boot -a 4k -s 512K -l bootfs ada0
/sbin/gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 ada0
#
# Create Partition p2, and format
/sbin/gpart add -t freebsd-ufs -a 4K -s 80G -l rootfs ada0
/sbin/newfs /dev/ada0p2
/sbin/tunefs -L OPNsense /dev/ada0p2
OS install:
Code: [Select]
#
# just the install os bit
#
# gpt version of i386 install
#
# Install OS
/usr/sbin/pstat -s -k
#/sbin/mount -o async
/sbin/mount -o async /dev/ada0p2 /mnt/
/usr/local/bin/cpdup -d -o /.cshrc /mnt/.cshrc
/usr/local/bin/cpdup -d -o /.profile /mnt/.profile
/usr/local/bin/cpdup -d -o /COPYRIGHT /mnt/COPYRIGHT
/usr/local/bin/cpdup -d -o /bin /mnt/bin
/usr/local/bin/cpdup -d -o /boot /mnt/boot
/usr/local/bin/cpdup -d -o /conf /mnt/conf
/usr/local/bin/cpdup -d -o /dev /mnt/dev
/usr/local/bin/cpdup -d -o /etc /mnt/etc
/usr/local/bin/cpdup -d -o /home /mnt/home
/usr/local/bin/cpdup -d -o /lib /mnt/lib
/usr/local/bin/cpdup -d -o /libexec /mnt/libexec
/usr/local/bin/cpdup -d -o /media /mnt/media
/usr/local/bin/cpdup -d -o /proc /mnt/proc
/usr/local/bin/cpdup -d -o /rescue /mnt/rescue
/usr/local/bin/cpdup -d -o /root /mnt/root
/usr/local/bin/cpdup -d -o /sbin /mnt/sbin
/usr/local/bin/cpdup -d -o /sys /mnt/sys
/bin/mkdir -p /mnt/usr/
/usr/local/bin/cpdup -d -o /usr/bin /mnt/usr/bin
/bin/mkdir -p /mnt/usr/
/bin/mkdir -p /mnt/usr/
/usr/local/bin/cpdup -d -o /usr/include /mnt/usr/include
/bin/mkdir -p /mnt/usr/
/usr/local/bin/cpdup -d -o /usr/lib /mnt/usr/lib
/bin/mkdir -p /mnt/usr/
/bin/mkdir -p /mnt/usr/
/usr/local/bin/cpdup -d -o /usr/libdata /mnt/usr/libdata
/bin/mkdir -p /mnt/usr/
/usr/local/bin/cpdup -d -o /usr/libexec /mnt/usr/libexec
/bin/mkdir -p /mnt/usr/
/usr/local/bin/cpdup -d -o /usr/local /mnt/usr/local
/bin/mkdir -p /mnt/usr/
/usr/local/bin/cpdup -d -o /usr/obj /mnt/usr/obj
/bin/mkdir -p /mnt/usr/
/usr/local/bin/cpdup -d -o /usr/sbin /mnt/usr/sbin
/bin/mkdir -p /mnt/usr/
/usr/local/bin/cpdup -d -o /usr/share /mnt/usr/share
/bin/mkdir -p /mnt/usr/
/usr/local/bin/cpdup -d -o /usr/src /mnt/usr/src
/usr/local/bin/cpdup -d -o /var /mnt/var
/bin/rm -rf /mnt/tmp
/bin/mkdir -p /mnt/tmp
/bin/chmod 1777 /mnt/tmp
/bin/mkdir -p /mnt//mnt
/bin/echo '# Device Mountpoint FStype OptionsDump Pass#' >/mnt/etc/fstab
/bin/echo '/dev/gpt/rootfs / ufs rw,noatime 1 1' >>/mnt//etc/fstab
/bin/echo >>/mnt//etc/rc.conf
/bin/echo '# -- BEGIN BSD Installer automatically generated configuration -- #' >>/mnt//etc/rc.conf
/bin/echo '# -- Written on '`date`'-- #' >>/mnt//etc/rc.conf
/bin/echo "keymap='uk'" >>/mnt//etc/rc.conf
/bin/echo '# -- END of BSD Installer automatically generated configuration -- #' >>/mnt//etc/rc.conf
#
# Post-installation tasks
/usr/sbin/pstat -s -k
These have the benefit of running much quicker than the standard GUI based stuff. In particular the cpdup command replace the standard -vvv (which produces log output for every file copied) with -d (output just for each directory).
Cheers
Tim