On OS X HFS is a valid filesystem on an Ipod. When resolving device node to
mountpoints and vice versa also check mounts of hfs partitions. This results in
trying to install the bootloader on a MacPod to show the (intended) MacPod
warning instead of failing with a "could not open ipod" error because no valid
device node could be retrieved. Also, be more strict on matching to prevent
problems with one name being a subset of another.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24802 a1c6a512-1295-4272-9138-f99709370657
Previously MacPods were detected but the mountpoint can't get resolved due to
the different partition layout, thus having a MacPod would only detect the Ipod
itself but not the mountpoint. Rockbox does not support MacPods, so inform the
user as soon as possible.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24799 a1c6a512-1295-4272-9138-f99709370657
We checked if the new firmware block (bootloader+ucl function+packed
bootloader & OF) fit in the OF file, but not if it would run properly.
For example the Clipv2 OF is bigger than 0x50000 bytes uncompressed, but
it fitted in this space when packed and concatenated to a packed
bootloader + ucl function and dualboot code (but we use 1MB of RAM and
not 0x50000 anyway).
Now we check that both bootloader and OF are small enough to be unpacked
at runtime: the unpacked data must be smaller than available memory and
not overlap with ucl function and packed data (although the unpacked and
packed data could probably overlap a bit, I don't know how to calculate
this and this could be quite complex).
total_size() is replaced by check_sizes() which will perform all the
checks and set an error string if the firmware can't be patched.
(both mkamsboot and rbutilqt modified accordingly)
The second problem is that dualboot.S assumed r3 and r5 were left
untouched in the device specific checks. This was undocumented and very
error prone when modifying these checks.
r3 is the last byte of packed copy (bootloader or OF)
r5 is the entry point of uclunpack function derived from r3, so move r5
calculation after the device specific code.
Even if r3 is currently unused in the device specific code, we store it
in memory after copying the ucl function, when it points to the last byte
of packed data (not yet copied at this point since we didn't chose if we
boot the OF or the bootloader), and restore it just before using it so no
restriction is placed on registers usage in device specific code.
Add a new variable ucl_dest in dualboot.S set by mkamsboot.c, which
represents the last bound of buffer where we copy the ucl function, and
then the packed data (bootloader or OF).
RAM_SIZE definition is moved from dualboot.S to mkamsboot.c new
model_memory_size(), where it is a bit better documented.
Tested on e200v2 and Clip+
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24772 a1c6a512-1295-4272-9138-f99709370657
Also only use 0x50000 bytes of memory since the files just fit in.
TODO: make mkamsboot abort if the decompressed OF or bootloader doesn't
fit in RAM / or overlap on compressed data or uclunpack function
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24727 a1c6a512-1295-4272-9138-f99709370657
This removes the need for copying these files to ../ and removes the
risk of only copying one of the files (which led to bricking 2 c200v2
already)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24719 a1c6a512-1295-4272-9138-f99709370657
This makes it possible for native dialogs to get used on Windows and OS X. The
mountpoint selection dialog needs special handling and still uses the
BrowseDirtree class for now.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24703 a1c6a512-1295-4272-9138-f99709370657
The Install class has been renamed recently to InstallWindow. Rename the
form too so it uses the same class basename again.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24698 a1c6a512-1295-4272-9138-f99709370657
- handle disabled platforms also for for variant and base groups.
- make variant detection more strict to prevent variants that are a substring
of other variants to match. Happened e.g. for iriverh10 and iriverh100.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24625 a1c6a512-1295-4272-9138-f99709370657
ipodInitialize() is not supposed to close but only to open the disk handle. Fixes a segfault when trying to install the ipod bootloader on windows.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24608 a1c6a512-1295-4272-9138-f99709370657
Dualboot works on the sansa clip+ by holding either the left "|<<" or home buttons.
The USB pin is still undiscovered at this point and should replace the home button when found.
By including the home button for dualboot we avoid bricking due to a single button failure.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24561 a1c6a512-1295-4272-9138-f99709370657
Note that disabled targets support is not intended for use by end users.
This is to make development (and testing of svn) easier and should get
disabled for releases.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24513 a1c6a512-1295-4272-9138-f99709370657
Bootloader installation for the D2 is still not end-user ready for the upcoming release.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24467 a1c6a512-1295-4272-9138-f99709370657
Doing so removes the need to loop over all targets to fill in values for
target variants in ServerInfo.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24427 a1c6a512-1295-4272-9138-f99709370657
The About menu name was off since the introduction of the
Troubleshooting submenu. Renaming it should make it more obvious to look
at it in case of problems.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24418 a1c6a512-1295-4272-9138-f99709370657
This implements the basic functionality for sending inquiries on OS X.
The current implementation has some limitations:
- it will not respect the selected device but pick the first Ipod found.
- it is inefficient due to the way ipodpatcher expects this which doesn't
really match how it works on OS X.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24382 a1c6a512-1295-4272-9138-f99709370657
With the separation of the SystemInfo values accessing all the values
will create traces, making them rather noisy due to unnecessary multiple
accesses.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24373 a1c6a512-1295-4272-9138-f99709370657
Rbutil's (internal) platform names are now identical to the configure
model names except for the cases where further differentiation is
needed. In those cases the platform name is now the configure name with
an additional postfix, separated by a dot. This makes it possible
getting the configure name from the platform name.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24371 a1c6a512-1295-4272-9138-f99709370657
Similar to removing the separate CREDITS file for the manual remove the
rbutil one as discussed on IRC.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24329 a1c6a512-1295-4272-9138-f99709370657
Small script to generate an overview of the current translation status
of Rockbox Utility. The sources are retrieved from svn for this, so it
doesn't mess up with a working copy. Current limitations:
- expects lupdate-qt4 and lrelease-qt4 to be in the PATH. Doesn't try to
find them using other names.
- always works on SVN HEAD.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24290 a1c6a512-1295-4272-9138-f99709370657
Flyspray: FS#10737
Author: Daniel Kluz
Also add russian translation to project file
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24245 a1c6a512-1295-4272-9138-f99709370657
UNTESTED, could ver well brick your Clip+
If it works, booting should just be delayed by a small delay (perhaps
not noticeable)
Hopefully the Clipv2 checks will work for Clip+ and then we'll be able
to test the other Clipv2 code (LCD/button)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24219 a1c6a512-1295-4272-9138-f99709370657
Don't set the layout direction when setting the starting folder, that might not get set at all.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24190 a1c6a512-1295-4272-9138-f99709370657
- The platforms section holds all players that should be considered as available. Correct mismatches.
- Correct a couple of buildserver and configure modelnames that still used old values.
Fixes several supported players not showing up in the configuration.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24101 a1c6a512-1295-4272-9138-f99709370657
libspeex is split into libspeex and libspeexdsp. We need both, so check
for them the same time instead of trying to respect the fact that old
versions didn't have the libspeexdsp part. Should fix issues with
distributions that have libspeex and libspeexdsp split into separate
packages and only the libspeex one is installed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23872 a1c6a512-1295-4272-9138-f99709370657
- make the deploy script work on OS X.
- use macdeployqt for copying Frameworks macdeployqt is part of Qt, at least since 4.5.
- add a workaround for Qt not copying icons and plist file correctly when building out of tree.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23789 a1c6a512-1295-4272-9138-f99709370657
When building various libraries for Rockbox Utility make sure they use the same compiler as Qt. Pass Qt's CC instead of explicitly setting it. This fixes issues linking on OS X (with recent XCode building universal binaries requires the use of gcc-4-0 while the default one is 4.2).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23779 a1c6a512-1295-4272-9138-f99709370657
Building universal libraries needs to take TARGET_DIR into account as when set the individual libraries are placed into the build output folder and didn't got found anymore.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23778 a1c6a512-1295-4272-9138-f99709370657
OS X requires to unmount the player during bootloader installation on Sansas / Ipods. The system remounts the player automatically after a short while.
Not waiting for the system to remount the player will result in a changed mount point, making the small / full install write the main build to the wrong
location.
This currently waits up to 60 seconds for the player to get remounted until it errors out. This value seems to be sufficient, if it's not please report
so we can adjust it. Also, the waiting can't be interrupted right now.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23716 a1c6a512-1295-4272-9138-f99709370657
- adjust the regex to figure the correct drive from the partition name.
- move the check for an old bootloader into the first installation step -- it's a fatal problem so it should appear as soon as possible.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23715 a1c6a512-1295-4272-9138-f99709370657
- when scanning for Ipods save the complete ipod_t structure on match. Only saving the disk name can result in the structure holding a disk name not matching the rest of the structure. This lead to wrong detection of macpod on OS X, as Mac drives might get detected later.
- reopen the Ipod in RW mode on scanning on W32 only. On OS X reopening also unmounts the player, which in turn makes resolving the mount point fail.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23707 a1c6a512-1295-4272-9138-f99709370657
The OF could have been stored by the user with a different name
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23700 a1c6a512-1295-4272-9138-f99709370657