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>

next in thread | previous in thread | raw e-mail | index | archive | help
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'v=
e=20
> > been starting this 10.4-RELEASE server at the loader OK prompt using=20
> > 'set currdev=3Ddisk0s1a' and then boot. Here is the server system...
> >=20
> > root@dev:~ # gpart show
> > =3D>=A0=A0=A0=A0=A0 63=A0 41942977=A0 ada0=A0 MBR=A0 (20G)
> >  =A0=A0=A0=A0=A0=A0=A0 63=A0 41929587=A0=A0=A0=A0 1=A0 freebsd=A0 [acti=
ve]=A0 (20G)
> >  =A0 41929650=A0=A0=A0=A0 13390=A0=A0=A0=A0=A0=A0=A0 - free -=A0 (6.5M)
> >=20
> > =3D>=A0=A0=A0=A0=A0=A0 0=A0 41929587=A0 ada0s1=A0 BSD=A0 (20G)
> >  =A0=A0=A0=A0=A0=A0=A0=A0 0=A0=A0 1024000=A0=A0=A0=A0=A0=A0 1=A0 freebs=
d-ufs=A0 (500M)
> >  =A0=A0 1024000=A0=A0=A0 524288=A0=A0=A0=A0=A0=A0 2=A0 freebsd-swap=A0 =
(256M)
> >  =A0=A0 1548288=A0 20480000=A0=A0=A0=A0=A0=A0 4=A0 freebsd-ufs=A0 (9.8G)
> >  =A0 22028288=A0 19901299=A0=A0=A0=A0=A0=A0 5=A0 freebsd-ufs=A0 (9.5G)
> >=20
> > I've tried the following to install the boot code, but still ending up=
=20
> > at the loader prompt...
> >=20
> > root@dev:~ # gpart bootcode -b /boot/mbr ada0
> > bootcode written to ada0
> >=20
> > I also tried with ada0s1 with same result. Clearly I don't understand=20
> > how to get this done, can someone help?
> >=20
>=20
> Hi Robert,
>=20
> /boot/mbr needs you to set ada0s1 as the active partition. The easier=20
> solution in your case perhaps is:
>=20
> 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_m=
br

:-)



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



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