[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Partitioning Atari Falcon in order to run linux/m68k



Thorsten,

IDE disks on Falcon are quirky in that the IDE bus interface is little endian by definition, but has been implemented in big endian bus byte order on Falcon. Data written to disk will end up byte swapped. Reading these disks on any other
architecture requires that data be swapped back.

Is this true? I had the swapped data on a CF card first (since ARAnyM
likes to swap them by default) but had to unswap them. I don’t remember
if that was a Falcon or TT, though… Ragnar would know I think.


I've always taken the comment "Atari has a byte-swapped IDE interface" in drivers/ide/falconide.c to mean that the bus interface bas been implemented swapped. What it _does_ appear to signify is that filesystem data to and from disk need to be handled differently from CD, floppy or tape data. The latter are explicitly swapped to/from LE to CPU byte order. The former seems to be written to disk without swapping. See falconide_[in|out]put_data().

The only way this can be explained is by the LE IDE interface connected to the BE data bus 1:1 so data from the IDE interface appears in LE byte order. That's the correct way to implement LE devices on BE bus machines. The convention for storing data on the IDE disks then seems to have done away with the need for conversion from 16 bit LE order, so everything on disk (partition table, filesystem metadata, file data) ends up in opposite byte order.

See http://newsgroups.derkeiler.com/Archive/De/de.comp.sys.atari/2009-08/ msg00009.html - hddriver has an option to generate PC compatible IDE format disks but these would be useless on m68k Linux as it is.

In the old days, the Linux IDE driver used to have a 'swap' option for just

Wasn’t that just for ext2fs internal data structures (read: fs metadata)
with data being written properly? This got, indeed, removed, but you do
not need that any more either.

That is not what I meant - I had in fact totally erased that episode from my memory. Ext2fs for m68k had indeed been big-endian initially but got converted to little-endian eventually.


All my efforts to boot linux ended in kernel panic: no init found.

Looks as though there's nothing installed on the partition you are trying to

Or forgot the ‘p’ flag to tar, or used the wrong root= option (there’s
hda, nfhd8p, sda at least), or did not use an initrd with kernel >= 3.8
or something.

There’s a ready-made ext2fs image in the same directory where I put
the tarball.

True, many ways to go wrong there. I'll have to get a spare IDE disk (again) to play around with a few install options myself.

Cheers,

	Michael


bye,
//mirabilos
--
  “Having a smoking section in a restaurant is like having
          a peeing section in a swimming pool.”
						-- Edward Burr


--
To UNSUBSCRIBE, email to debian-68k-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org Archive: http://lists.debian.org/ [🔎] Pine.BSM.4.64L.1312140119240.3565@herc.mirbsd.org


Reply to: