[syslinux] [How-To?] Using Syslinux AltMBR + TrueCrypt System Encryption (RFE: swap drive ID's)

groups, freeman freeman_groups at reason.dyndns.org
Sat May 30 04:06:24 PDT 2009


H. Peter Anvin wrote:
> freeman wrote:
>> This might seem to be simply an extension of the "swap" option for
>> chain.c32, since AIUI this swap option seems to only force the boot
>> device to *become* 0x80, but not let the boot device abandon
>> identification 0x80 and make some other device possess that drive id.
> "swap" does exactly that ... it swaps two drive IDs.  On the tech level
> it actually contains a full remapping table and it can in theory handle
> any arbitrary mapping.
>
> What are you looking for, specifically?  It's probably quite trivial to
> do, as long as it can be quantified.
I have a notebook PC with internal PATA IDE and normally boot from that.

If the IDE becomes corrupted I may rescue it by booting from a USB fob 
and using a particular rescue utility to repair the data on the IDE.

I'm wanting to boot from a 1.44MB 'floppy image' file that's stored on 
that USB fob:
    kernel memdisk
    append initrd=/images/tc/tc_d500.img floppy

(FWIW: The floppy image is a no-filesys-installed type - it's a 
loadable-binary sort of thing).

However... because I booted from the USB fob, the fob is device 0x80 
(the the PATA drive is 0x81, AIUI). My floppy-image that does the rescue 
is hard-coded to repair only device 0x80 though.

So in a way it seems to me that I seek implementation of the 'swap' 
option in memdisk so that I can have the USB fob become 0x81, and the 
PATA drive will then become 0x80?
*********

I tried various permutations with chain.c32 (for its 'swap' option) but 
none of them worked, e.g.:
    kernel /utils/syslinux/chain.c32
    append hd1 1 file=/IMAGES/TC/TC_D500.img swap

- it would seem that my 'file=' boot loader would load but then 
immediately complain that 'detected corruption necessitates booting the 
rescue disk' (perhaps because it couldn't find expected data on 0x80 - 
does 'swap' work in conjunction with 'file=').

Or is there another way to skin this cat? I don't have to boot into a 
full 1.44MB boot image, I can use an image as little as 252kb (i.e. 
small enough for chain.c32 to load, etc).

Thx for any help or info!

scott




More information about the Syslinux mailing list