NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
install/59600: sysinst does not correctly recognize the partition on x68k.
>Number: 59600
>Category: install
>Synopsis: sysinst does not correctly recognize the partition on x68k.
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: install-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sun Aug 17 02:45:00 +0000 2025
>Originator: Tetsuya Isaki
>Release: NetBSD 10.1
>Organization:
NetBSD
>Environment:
Installing NetBSD/x68k-10.1
>Description:
10.1 installer does not correctly recognize x68k (Human68k?) partition.
This site https://stdkmd.net/xeij/netbsd.htm (written in Japanese)
describes try to run NetBSD/x68k 10.1 on XEiJ emulator.
On this page, in step 4, create a hard disk image by specifying a
capacity of 2000MB in the "File" menu in XEiJ. Then, XEiJ will
actually create 2000MB plus 32KB (4096064 sectors) disk image. It
also writes the Human68k boot block and partition table.
In step 5, install into the disk image.
In the 10th screenshot of this step, you can see that the number of
sectors is incorrect. sysinst seems to recognize it as 8192064 sectors
(=4000MB plus 32KB), although kernel recognizes sd0 as 4096064 sectors.
Here is a hand-copied core part from the 10th screenshot.
| Size (sec) Filesystem
| --------------------------- - -----------
| a: 1167360 (8126528) + /
| b: 65536 <swap>
| c: 0 /tmp (mfs)
| d: 0 /usr
| e: 0 /var
| --------------------------- - -----------
And here is the related part of dmesg.
sd0 at scsibus0 target 0 lun0: <...> disk fixed
sd0: fabricating a geometry
sd0: 2000 MB, 2000 cyl, 64 head, 32 sec, 512 bytes/sect x 4096064 sectors
sd0: async, 8-bit transfers
# By the way, there also seem to be some issues during the recovery
# process from here (11th and subsequent photo), but I won't go into
# detail here.
According to analysis by @est_suzume%misskey.io@localhost, only following
16 bytes affects.
00000800: 58 36 38 4B 00 00 00 20 00 1F 40 20 00 1F 40 20 |X68K... ..@ ..@ |
Human68k partition table is located at offset 0x800 from the beginning
of the disk. 'X68K' is the signaure. The first partition starts from
0x810. So totally it means "Human68k partition table exists but empty".
When this region is zero-filled, sysinst works correctly.
However, with just these 16 bytes, the above issue occurs.
>How-To-Repeat:
If you use XEiJ:
1) Install XEiJ 0.25.08.08 or later (with the latest OpenJDK).
See https://stdkmd.net/xeij/?lang=en (in English).
2) Read https://stdkmd.net/xeij/netbsd.html (in Japanese),
and follow the instruction.
or you can reproduce by using nono:
1) Install pkgsrc/emulators/nono.
2) Download sysinst[12].fs from
https://cdn.netbsd.org/pub/NetBSD/NetBSD-10.1/x68k/installation/floppy/
3) Prepare magic'ed disk image.
% dd if=/dev/zero bs=32k count=64001 of=NetBSD-10.1.hds
% printf 'X68K\0\0\0 \0\x1f@ \0\x1f@ ' | \
dd of=NetBSD-10.1.hds bs=1 count=16 seek=2048 conv=notrunc
4) Run nono.
% cat nono.cfg
vmtype=x68030
extram-size=128
spc0-id0-image=hd,NetBSD-10.1.hds
% nono --create-sram # will create SRAM.DAT in this directory.
% nono -f --fd0 sysinst1.fs --fd1 sysinst2.fs
5) Follow the steps in sysinst:
a: Install NetBSD to hard disk
b: Yes
a: sd0 (2.0G, ...)
a: Set sizes of NetBSD partitions
>Fix:
I don't know..
Home |
Main Index |
Thread Index |
Old Index