Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 29 Apr 2018 23:05:40 +0200
From:      Polytropon <freebsd@edvax.de>
To:        Manish Jain <jude.obscure@yandex.com>
Cc:        Robert Fitzpatrick <robert@webtent.org>, FreeBSD <freebsd-questions@freebsd.org>
Subject:   Re: Restoring bootcode
Message-ID:  <20180429230540.c93489c9.freebsd@edvax.de>
In-Reply-To: <ac24f0a3-59d6-6b14-0342-e935c29bf5fe@yandex.com>
References:  <5AE5F327.3050702@webtent.org> <ac24f0a3-59d6-6b14-0342-e935c29bf5fe@yandex.com>

index | next in thread | previous in thread | raw e-mail

On Sun, 29 Apr 2018 23:48:04 +0530, Manish Jain wrote:
> On 04/29/18 22:00, Robert Fitzpatrick via freebsd-questions wrote:
> > Something happens to the bootcode since an upgrade a while back and I've 
> > been starting this 10.4-RELEASE server at the loader OK prompt using 
> > 'set currdev=disk0s1a' and then boot. Here is the server system...
> > 
> > root@dev:~ # gpart show
> > =>      63  41942977  ada0  MBR  (20G)
> >          63  41929587     1  freebsd  [active]  (20G)
> >    41929650     13390        - free -  (6.5M)
> > 
> > =>       0  41929587  ada0s1  BSD  (20G)
> >           0   1024000       1  freebsd-ufs  (500M)
> >     1024000    524288       2  freebsd-swap  (256M)
> >     1548288  20480000       4  freebsd-ufs  (9.8G)
> >    22028288  19901299       5  freebsd-ufs  (9.5G)
> > 
> > I've tried the following to install the boot code, but still ending up 
> > at the loader prompt...
> > 
> > root@dev:~ # gpart bootcode -b /boot/mbr ada0
> > bootcode written to ada0
> > 
> > I also tried with ada0s1 with same result. Clearly I don't understand 
> > how to get this done, can someone help?
> > 
> 
> Hi Robert,
> 
> /boot/mbr needs you to set ada0s1 as the active partition. The easier 
> solution in your case perhaps is:
> 
> gpart bootcode -b /boot/boot0 ada0
> gpart bootcode -b /boot/boot ada0s1

As this seems to be a MBR setup, the commands should probably be:

	# gpart bootcode -b /boot/mbr ada0
	# gpart set -a active -i 1 ada0
	# gpart bootcode -b /boot/boot ada0s1

Step 1 will add the regular MBR boot code, assuming this is a
FreeBSD-only system (no boot manager required).

Step 2 covers the case where the "active" flag has accidentally
been cleared; make sure it is set again (so the system will
recognize the partition s1 as being active, and attempt booting
by transfering control to it).

Step 3 will install the kernel loading mechanism for the slice
that hosts the FreeBSD partitions (and therefore continue booting
the kernel from /boot/kernel/kernel on /dev/ada0s1a, its default
location).

See "man 8 boot" and "man gpart" (sec. EXAMPLES).

Further reading:

http://www.wonkity.com/~wblock/docs/html/disksetup.html#_the_old_standard_mbr

:-)



-- 
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20180429230540.c93489c9.freebsd>