On Tue, Nov 11, 2014 at 04:10:48PM +0200, Nikos Skalkotos wrote:
> Hello all,
>
> I have a kernel page fault in OpenBSD 5.6 100% reproducible (I think I
> can reproduce it in older versions too).
>
> I've created an OpenBSD installation in Linux through kvm on a 1GB hard
> disk with just a root partition (a), by booting the install56.iso cdrom
> with a command like this:
>
> # kvm -smp 1 -m 2048 -boot d -drive \
> file=/dev/images/openbsd-5.6,format=raw,cache=none,if=virtio -cdrom
> /tmp/install56.iso -vnc :0
>
> The system boots fine with a command like this:
> # kvm -m 2048 -drive file=/dev/images/openbsd,format=raw,cache=none,if=virtio
>
> If I then copy it into a 100GB volume:
> # dd if=/dev/images/openbsd of=/dev/images/tmp1 bs=4M
>
> And try to boot it, it still boots fine. I then boot into the VM's
> rescue disk:
>
> > boot bsd.rd
>
> and press S to get a shell
>
> I mount the root partition and grab growfs program:
> # mount /dev/sd0a /mnt
> # cp /mnt/sbin/growfs .
> # umount /mnt
>
> Fix the MBR to use the entire disk:
> # fdisk -i wd0
I assume that wd0 should be sd0?
>
> And change the disklabel:
>
> # disklabel -E sd0
>
> Change the OpenBSD boundaries to cover the whole disk:
> > b
> Starting sector: [64]
> Size ('*' for entire disk):[] *
>
> and then grow the root partition to make it 100GB log:
> > c
> partition to change size: [] a
>
> Then grow the underlying FFS file system:
>
> # growfs /dev/sd0a
>
> If I then reboot, the ffs driver crashes with errors like this:
>
> uvm_fault(0xffffffff81dcddc0, 0xc000068, 0, 2) -> e
> kernel: page fault trap, code=0
> Stopped at ffs_vget+0x115: addb %al, 0(%rcx,%rax,1)
> ddb>
>
> Am I missing something or is this a kernel/growfs bug?
>
> Thank you in advance,
>
> Nikos Skalkotos
What does fsck say after you have grown the fs?
Yoy probably need to force fsck, see BUGS section of growfs(8).
-Otto