Subject: Re: disklabelling an ide drive
To: None <fredb@immanent.net>
From: schaecsn <schaecsn@gmx.net>
List: port-mac68k
Date: 08/27/2002 01:30:34
Hi,
What a suprise, sysinstall "reordered" the partitions. reviewing my installation process I must admit that it was me who made it complicated. It is indeed easy to install netbsd on the mac.
Frederick and Takeshi, thank you so much for your help!
- Stefan
# Date: Mon, 26 Aug 2002 20:06:56 -0500 (CDT)
# From: Frederick Bruckman <fredb@immanent.net>
# cc: ie9t-sbgk@asahi-net.or.jp, <port-mac68k@netbsd.org>
#
# On Mon, 26 Aug 2002, schaecsn wrote:
#
# > # schaecsn> - Netbsd looks for the root filesystem on wd0a - mine is
# > at wd0b. Since it's not found on wd0a I get prompted in the middle
# > of the boot process to enter the proper root filesystem. the same is
# > true for swap. Is there a way (bootoption ?) to tell netbsd to look
# > for root and swap at wd0b/wd0d?
#
# Partition "a" is the partition with the BZB_ROOTFS bit set, *not*
# the first partition on the disk (unless the bit isn't set for any
# partition). Likewise, partition "b" is the partition with the
# BZB_TYPESWAP bit set. All you need to do is set the bits. The
# partition editor in "sysinstall" should be able to do that for you.
#
# It's possible to edit your partition table with a binary editor, but
# I wouldn't recommended it without another disk to boot from:
#
# dd if=/dev/rwd0c bs=4k count=1 of=map.bin
# bvi table.bin
# :set cm=16
#
# ["bvi" is available in pkgsrc.]
#
# Now the partition entries start with the magic signature "PM" on 512
# byte boundaries (0x200,0x400,0x600). The partition type is set by
# bytes start+0x90,start+0x91. It'll be 0xC000 for "Root & Usr",
# "0x8000" for "Root", and only "0x4000" for "Usr". In other words,
# the most significant bit causes disklabel to slot it as "a". Once
# "a" is filled, the first partition encountered with the second most
# significant bit set becomes "g".
#
# A partition become "b" by virtue of having start+0x8D set to 0x03.
# (That byte should be set to 0x01 for the filesystems.)
#
# Only after searching for the special cases does the kernel disklabel
# code start filling in the remaining slots with the remaining
# partitions. All these numbers, by the way, can be gleaned from
# <machine/disklabel.h>.
#
# After editing the map, you can copy it back to disk with
#
# dd if=map.bin bs=4k count=1 of=/dev/rwd0c conv=notrunc
#
# repeat until the you hear the disk seek, indicating the cache has been
# flushed. See if "disklabel" returns different results. If you had
# partitions mounted on that disk, watch it panic(). ;-)
#
#
# Frederick
#
--
___ ___ __ | Name: Stefan Schäckeler
/ / / /____ (__)__ ___ | E-mail: schaecsn@gmx.de
/ /_/ / _ \/ /\ \/ / | day: Windows 2000, HP-UX 11
\___,__/__//__/__/ /__/\__\ | night: Linux 2.4, NetBSD-Alpha 1.5.2