tiny.img not working in guin-1.5

2006-09-14
2013-02-08
  • Well, I am not sure people have noticed, but the tiny.img way to boot with Gujin is not working in the latest release.
    tiny.img is used to initialise a floppy disk or a USB disk with a FAT12/16 filesystem, and the bootloader will boot the first vmlinuz/initrd found without user intervention - there isn't any menu unlike boot.bin, but tiny.img it is used with instboot the same way.
    To make it work, you will need to recompile with 3 modifications:
    1: in fs.c, after #include "vmlinuz.h", add:
    unsigned char DISK_readsector (struct diskparam_str *dp, int partition,
           unsigned long long lba, unsigned number, farptr buffer);
    2: replace in this file all the "DI.readsector" by "DISK_readsector"
    3: replace in gzlib.c the line 658:
    crc32val = crc32 (crc32val, (unsigned char *)LOADER.curfileload->load_address, LOADER.fileload[filecpt].uncompressed_size);
       by:
    crc32val = crc32 (crc32val, (unsigned char *)linear2dsrelative(LOADER.curfileload->load_address), LOADER.curfileload->uncompressed_size);

    Those modifications shall not be done for generating boot.bin or tiny.exe.
    Please tell me if those modifications do not work for you.

    Considering the probable low number of user of tiny.img, I will probably not redo a release just for that.

    Etienne.