Subject: None
To: None <netbsd-users@netbsd.org>
From: Nenad Crnko <nc@pcmagic.net>
List: netbsd-users
Date: 04/09/2005 17:18:39
On 04/08/2005 Oliver Fuchs wrote:
> 2) Deleting the installed netbsd 1.6.1 system and partitioning the
> wd1 disk with netbsd 2.0 sysinst I was not able to boot into netbsd
> 2.0 neither from installed bootselector on wd0 (it gives me the
> message "no operating system" and then directly "press any key to
> reboot") nor from the installation cd with boot hd1a:).
Can you tell us exactly how have you deleted 1.6.1? What commands
have you used?

I do recall some difficulties in my embedded system where trivial
approach would sometimes not be able to to bring an arbitrarily
badly corrupted disk into a sane state. So I used a brute force of
  dd if=/dev/zero of=/dev/rwd1d bs=1m count=1
before creating a new fs. I have not investigated the actual mode
of failure.

>> 
>> We have missed the opportunity to get the content from wd1 mbr when
>> your system still failed to boot. It would have been useful to get it
>> like so:
>>   # dd if=/dev/wd1d of=/tmp/funny_mbr count=1
>> or
>>   # dd if=/dev/wd0d count=1 | hexdump -C

another typo -------^
it, of course, should have been wd1d
>
>I tried it now (the first one) and it shows me besides others:
>
>        Invalid partition table
>        No operating system
>        Error loading operating system

Ok, try reading raw device. This must succeed:
   # dd if=/dev/rwd1d count=1 of=/tmp/funny_mbr.txt

Hexdump is probably not available during installation, so you can
do it later on another machine.

In order to get a copy of the wd1 mbr, you can probably
ftp or scp it to another machine, or copy it to a floppy
or a flash disk. The latter you could do like this:
 if you have a compact flash:
   # mount_msdos /dev/sd0e /mnt
 else if floppy:
   # mount_msdos /dev/fd0a /mnt
 endif

   # dd if=/dev/rwd1d count=1 of=/mnt/funny_mbr
   # umount /mnt

If you have another unix machine running sshd you could:
   # dd if=/dev/rwd1d count=1 of=/tmp/funny_mbr
   # scp /tmp/funny_mbr.txt IP_of_the_other_machine:/tmp/

Once you get the file to another machine do:
   # hexdump -C funny_mbr > funny_mbr.txt

> But what I do not understand is that I was able to install netbsd
> 1.6.1 without problems when the disk wd1 was partitioned with FreeBSD
> 5.3 sysinstall.

It is not impossible that any bug or problem is only exposed under specific
circumstances and only in a particular version of software. Bugs that are
easy to encounter usually do not survive for long in open source software.