PDA

View Full Version : Compiling kernel for byteswapping & tivo support



Sleeper
12-13-2003, 12:09 PM
I have compiled a 2.4.22 kernel with the following changes to mac.c


if (be16_to_cpu(md->signature) != MAC_DRIVER_MAGIC) {

replaced with

if (be16_to_cpu(md->signature) != 0x1492) {



secsize = be16<something>

replacedwith

secsize = 512;


I would like to be able to access Series 1 drives as well as Series 2 drives.

Are there any other changes that I need to make to the mac.c code?

Can I support byteswapping by passing the hdX=swapdata boot parameter to the kernel or are there additional kernel compilation steps needed?

Sleeper

compwiz312
12-25-2003, 04:40 PM
Sleeper, just wondering if you figured this out with the byteswapping and all as I want to update my 2.4.20 Redhat kernel with Tivo support, but would also like it to run Series 1 drives. Also, do you know is there any way to togle (can't spell, I know...) the byteswap parameter once the kernel has been booted (I want to use my external USB enclosure to modify the drives without having to reboot to modify S1s versus S2s).

Thanks,
Justin

Sleeper
12-25-2003, 11:21 PM
Sleeper, just wondering if you figured this out with the byteswapping and all as I want to update my 2.4.20 Redhat kernel with Tivo support, but would also like it to run Series 1 drives. Also, do you know is there any way to togle (can't spell, I know...) the byteswap parameter once the kernel has been booted (I want to use my external USB enclosure to modify the drives without having to reboot to modify S1s versus S2s).

Thanks,
Justin

I would suggest grep'ing through the kernel sources for "byteswap" and see how it is implemented. I think what you want to do is unload the driver and then reload it with byteswapping. Alos, I don't know if byteswapping will work on a scsi device.

compwiz312
12-26-2003, 12:04 AM
Sleeper, I know this is a lot to ask, but I don't really know C that well, so do you think you could possibly do that? It doesn't really matter what version you do, either 2.4 or 2.6 as I can run either one (still trying to figure out unresolved symbols with the new 2.6.0 kernel).

Thanks,
Justin

Sleeper
12-26-2003, 12:16 AM
compwiz312,

Boot with your series 1 drive in you USB case. Boot knoppix byteswap=/dev/sda

See what happens. Look in dmesg to see if it correctly recognized the drive.

AVD
01-16-2004, 09:51 PM
can you hack a ide cable to perform byteswapping?

mrblack51
01-16-2004, 11:52 PM
can you hack a ide cable to perform byteswapping?

even if you could, that wouldnt be very smart...lets see - 1 hour+ of soldering or 30 seconds to reboot and use the correct param

Sleeper
01-16-2004, 11:59 PM
even if you could, that wouldnt be very smart...lets see - 1 hour+ of soldering or 30 seconds to reboot and use the correct param

Yeah, I was going to ask him why he would ever do a thing like that. Perhaps he has a rational reason.

Actually, if he uses an older cable, it might be possible to slice the cable with a razor blade, flip part of it upside down and reinstall the IDE header. I would have to look at the pinout to verify, but what is the point?