query re: dual-boot on two separate HDDs

Frank Fenderbender frankfenderbender at council124.org
Wed Jun 26 03:49:09 UTC 2019

I bought a Dell Precision 5820 Tower  XCTO Base
	RAM:                8 slots / 128GB maximum / 16GB per slot (I went with 32GB)
        CPU/chipset:  Intel Core i7-9800X 3.8GHz, 4.5GHz Turbo, 8C, 16.5MB Cache, HT, (165W, DDR4-2666 Non-ECC
	HDD: 		 (2) 3.5" 1TB 7200rpm SATA Hard Drives
	OS:                   Ubuntu Linux 16.04
	Video card:     Radeon Pro WX 2100, 2GB, DP, 2 mDP (5820T)
	Monitor:           Dell 22" - Model P2219H

I am adding the FreeBSD 12 install to the 2nd hard drive.
Often, the dual-boot instructions appear to be for a same-drive, different partition configuration.
I give each OS its own [whole] drive, in an attempt to assist in the avoidance of segmentation faults, corruptions, performance hits, and the like, often used by data, applications, and OS slam-dancing, as in a crowded "mosh pit".

So, with many well-meaning ways to botch this, I thought maybe someone had performed a similar sequence of steps that:
	adds FreeBSD to a second drive
	edits the GRUB/bootloader cfg file(s)

I am uncertain if Grub gets called by the BIOS call to the bootloader, and so, is specific to Ubuntu?
I would expect it to be dealing with partition choices on one drive, rather than stipulating starting a boot on another drive. 

	Configuring Ubuntu Linux GRUB/GRUB2 to load FreeBSD using partitions on one HDD

Am I going to have to change the BIOS (or UEFI) boot order every time I want to change which OS comes up when [re]booted?
That is labor intensive, and I suspect that someone has shaken off the archaic ness of it with some other methods or pre-OS boot-up selection tool, I hope?

Isn't there a boot option key that will bring up a simple selection menu BEFORE one or another default OS has taken control?
Perhaps smarter firmware?
Maybe I could always have BIOS boot from a USB stick that contains code to toggle which is going to be considered the primary HDD, 
acting as the director to one of two (or N) primary HDDs? I dunno, and reiterate, that I am currently in open eyes and ears mode.....

It seems to me that whatever is already sending the boot process to one drive, than that is where the change and menu need to exist, not on the one drive within its "default" boot OS; I do not want a default OS, if possible. I would like my menu to exist 'outside' of either (or "any", in the case of 2+ OS boot options) OS and internal hard drive.
This Dell system can handle 4 HDDs, so I could have a data HDD for each, keeping the OS drives clean, or add external USB HDDs along with two more OS internal HDDs (for instance, adding two more platforms as further ways of testing code for platform-independence, such as Project Trident, CentOS, Debian, and/or DragonflyBSD added to this and a second workstation).
I am not telling Ubuntu's loader to look at a second possibility. I guess that what I want is the system's BIOS to provide the menu, read the OS boot selection, and load up an OS appropriately? Does that sound sane and possible?

I hope that my understanding of what is/can be done is near-to-correct, and if not, appreciate steps (or a URL) that educates me and shows me a path of steps) which provides a near-traceover for setting this up.

As to the FreeBSD, I am going with the Auto-UFS [non-ZFS/] default install to avoid complicating things with dependency issues, following the selections listed in Michael Bernal's "A Comprehensive Installation & Configuration Guide to the BSD Variants" (2018):
	Welcome screen:			Install
	Keymap selection:		Continue with default keymap
	Set hostname:			*******
	Optional components:		[  ] Base system (debugging)
							[  ] Additional Documentation
							[  ] Kernel (debugging)
							[x] Ports tree
							[  ] System source tree
							[  ] Test suite
	Partitioning your disk(s)	[x] Auto (UFS) Guided Disk Setup
	Selecting the entire disk	[x] Entire disk
							[  ] Partition
	Selecting a partition scheme
	NOTE: 	I am unclear re: 'GPT vs. MBR'?
			All my Mac internal and shared USB drives are set up as GPT.
			I do not trust Apple w/anything except running fashion shows, denying/ignoring bug 
			existences, and refusing both QA & pre-release testing
			Their "FAT32" is nowhere compatible with that used by Linux and Windows, 
			but this is not an Apple claiming their "MBR and GPT methodology is correct, so...
			So, your suggestions/advice is appreciated for this selection....

							[  ] APM - Apple Partition Map
							[  ] BSD - BSD labels
							[  ] GPT - GUID Partition Table					<<<		any [dis]advantages ??
							[  ] MBR - DOS Partitions						<<<		any [dis]advantages ??
							[  ] PC98 - NEC PC9801 Partition Table
							[  ] VTOC8 - Sun VTOC8 Partition Table

	Review your partition setup
							[x] Finish

	Commit changes or revert & exit
							[x] Commit
	Installation process begins
	Enter password:
	Select network interface to configure
							[OK] there is only one NIC
	Configuring IPv4 & DHCP
			Configure IPv4?	[Yes]
			Use DHCP?		[No]
			Static IP address	*.*.*.*
			Subnet Mask
			Default Router	*.*.*.*
	Recursive name servers,
	Region					[2] America - North and South
	Select country or region	[49] United States of America
	Time zone				[21] Pacific
		NOTE: 	I am unclear re: two options here, so opinions will help
	Service to start at boot	[  ] Local caching validating resources			<<<		any [dis]advantages ??
							[x] Secure shell daemon
							[  ] PS/2 mouse pointer on console
							[  ] Synchronize system and network time		<<<		any [dis]advantages ??
							[  ] Adjust CPU frequency dynamically if supported
							[x] Enable kernel crash dumps to /usr/crash
	System hardening options
							[  ] Hide processes running as other users
							[  ] Hide processes running as other groups
							[  ] Disable reading kernel message buffer for unprivileged users
							[  ] Disable process debugging facilities for unprivileged users
							[  ] Randomize the PID of newly created processes
							[  ] Insert stack guard page ahead of the growable segments
							[  ] Clean the /tmp filesystem on system startup
							[x] Disable opening Syslogd network socket (disables remote logging)
							[x] Disable Sendmail service
	Finishing up (order of options presumes that the step returns until exited...)
							[4] Apply configuration and exit installer
							[1] Add a user to the system
							[  ] Change root password
							[  ] Set system hostname
							[  ] Networking configuration
							[  ] Set daemons to run on starting
							[2] Set security options
							[  ] Set system timezone
							[3] Install FreeBSD Handbook (requires network)

If there are 'dual-boot' setup steps before and/or after the FreeBSD install, please indicate them, as well as their place in the overall sequence. 
If you prefer to confer offline, than that is fine by me. Just send me a direct email and we can avoid a back-and-forth Q&A stack of email that may arise, 
Thanks very much. ;-)

frankfenderbender at council124.org

More information about the freebsd-questions mailing list