Rockbox Development > Starting Development and Compiling

Customizing Rockbox - Need Help Please

<< < (2/4) > >>

nls:
I don't even know if you can have two different apple firmwares on the same ipod, but changing two dirnames and inverting the firmware boot selection should be pretty easy.

rangi_chip:

--- Quote from: nls on October 30, 2008, 10:29:11 AM ---I don't even know if you can have two different apple firmwares on the same ipod, but changing two dirnames and inverting the firmware boot selection should be pretty easy.

--- End quote ---

You can definitely have two different Apple firmwares on the one iPod.
I had it so I had one firmware in the RAM that read its music from one directory ("iPod_Contro1") and I had another firmware on the harddrive that read it's music from another directory ("iPod_Contro2").

I used Loader2 to run these and it worked. I just hated the ugly boot menu at the start.
I wanted a discreet boot of the alternative firmware, hence this thread  :)

EDIT
What about this edit of the bootloader...

--- Code: ---pinfo = disk_partinfo(1);
    printf("Partition 1: 0x%02x %ld MB",
           pinfo->type, pinfo->size / 2048);

    if (button_was_held) {
        printf("Loading Alternative Firmware...");   
        rc=load_raw_firmware(loadbuffer, "/alternativeos.bin");
   
        if (rc == EOK) {
            return (void*)DRAM_START;
        } else if (rc == EFILE_NOT_FOUND) {
            printf("Failed to load Alternative Firmware");
            printf("Loading Original Firmware..."); 
            haveretailos = (memcmp((void*)(DRAM_START+0x20),"portalplayer",12)==0);
            if (haveretailos) {
                return (void*)DRAM_START;
            }
        } else if (rc < EFILE_NOT_FOUND) {
            printf("No firmware detected");
        }
       
    } else if (btn==BUTTON_MENU) {
        printf("Loading Rockbox...");
        rc=load_firmware(loadbuffer, BOOTFILE, MAX_LOADSIZE);
        if (rc < EOK) {
            printf("Error!");
            printf("Can't load rockbox.ipod:");
            printf(strerror(rc));
        } else {
            return (void*)DRAM_START;
        }
    } else {
        printf("Loading Original Firmware...");
            haveretailos = (memcmp((void*)(DRAM_START+0x20),"portalplayer",12)==0);
            if (haveretailos) {
                return (void*)DRAM_START;
            }
        } else if (rc < EFILE_NOT_FOUND) {
            printf("No firmware detected");
        }
    }
--- End code ---

Boot Alternative OS if hold button is on while booting
Boot Rockbox if menu button is on while booting
Boot Original OS if neither hold button or menu button is on while booting

Am I way off with this?

This way i get my two Ipod music directories and Rockbox which I am discovering is very cool!

bluebrother:
Well, first of all I really don't understand why you would want a reversed boot order. The reasons why it wouldn't make a real difference have been posted in these forums several times. I also don't get the point in renaming folders upon startup -- Rockbox can access any folder, so why rename them? And for the original firmware you would only break it finding its database (thus music).

rangi_chip:

--- Quote from: bluebrother on October 30, 2008, 07:33:30 PM ---I also don't get the point in renaming folders upon startup -- Rockbox can access any folder, so why rename them?(thus music). And for the original firmware you would only break it finding its database (thus music).
--- End quote ---

There's two ways of achieving the same thing I want.

I want my iPod to have a dual boot with two seperate music directories.
This can be achieved like so...

One:
When the bootloader is run, swapping these two folders
"iPod_Control" becomes "Music1"
"Music2" becomes "iPod_Control"

And then vice-versa the next time the bootloader is run
"iPod_Control" becomes "Music2"
"Music1" becomes "iPod_Control"

This essentially is swapping the iPod_Control directory every time the bootloader is run. This means it swaps the database. This is one way of doing it.

Two:
I use the Rockbox bootloader to run two Apple firmwares.
One which is stored in the RAM and which looks at "iPod_Contro1" for it's database and the other which is stored on the harddrive and which looks at "iPod_Contro2" for it's database.

This method I'd prefer. Because then I can run Rockbox too, which I like.

gratt:
You could also just write a plugin for rockbox
that renames your folders.
Boot rockbox and run the plugin anytime.
Then you get everything you want and rockbox.
GRaTT

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version