Re: [PATCH 0/2] cdrom: gdrom: fix block I/O and capacity setting

Florian Fuchs
2026-04-06T00:58:26Z

Hi Adrian,

On 05 Apr 16:09, John Paul Adrian Glaubitz wrote:
> Hi Florian,
>
> On Sun, 2026-04-05 at 10:23 +0200, Florian Fuchs wrote:
> > Hi all,
> >
> > This series fixes a gdrom driver Oops due to bad MMIO register access and
> > fixes the missing updates of the block layer gendisk capacity that
> > prevented ISO9660 mounts from working.
> >
> > The change was tested on real Sega Dreamcast devices (PAL-E, NTSC-J)
> > with physical CD-R discs and with GDEMU emulated discs. Before: Oops on
> > mount and an unusable drive. After: Successfully able to mount and use
> > the inserted medium.
> >
> > Thanks,
> > Florian
> >
> > Florian Fuchs (2):
> > cdrom: gdrom: replace port I/O with MMIO accessors
> > cdrom: gdrom: update gendisk capacity on open
> >
> > drivers/cdrom/gdrom.c | 39 +++++++++++++++++++++++++++++++++++----
> > 1 file changed, 35 insertions(+), 4 deletions(-)
> >
> >
> > base-commit: 6de23f81a5e08be8fbf5e8d7e9febc72a5b5f27f
>
> Thanks a lot for the series! Can you give me any hints on what's the best method
> these days to boot a Linux kernel on Dreamcast these days? I have the hardware,
> but I never tried to boot Linux on it. An emulator might be even better.
>
> Adrian
>
> --
> .''`. John Paul Adrian Glaubitz
> : :' : Debian Developer
> `. `' Physicist
> `- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913

I haven't found any DC emulator that can boot linux currently, sadly. I
analyzed a bit with gxemul/lxdream, with the goal of booting it in the
future, but, currently it traps in the pcpu setup. (might be some
kconfig related, missing features of the emulators or sth.)

On the hardware:
You can either burn CDs, emulate the GDROM with a hardware modification
kit "GDEMU" with sdcards or push the executable over serial cable (or
via network).

- fastest test-iteration is via gdemu/sd-card or via serial-cable, that
may take just a few minutes to transfer
- via serial, requires a serial console "coders" cable for the DC/USB and
needs a CDROM with dcload-serial [1] CDI burned on it, then the
executable can be pushed over serial to the DC. I currently use
sh-boot [2] as the very thin bootloader which might not be necessary,
but I haven't got it done otherwise, yet.
- to boot an already built CDI (Dreamcast selfboot image), you can burn
it on a CD, either with helper binaries [3] or manual using wodim, it
needs special crafted CD-layout [4], but there are tools for it [5].

There are different tools from the DC homebrew community, that help with
creating bootable CDs/Images, please ping me anytime if I can give you any
further information or a test CDI.

Florian

[1] https://github.com/KallistiOS/dcload-serial
[2] https://github.com/foxdrodd/sh-boot/blob/main/tools/dreamcast/Makefile
[3] https://github.com/alex-free/dreamcast-cdi-burner/
[4] https://mc.pp.se/dc/cdr.html
[5] https://github.com/KallistiOS/KallistiOS/tree/master/utils