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
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
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
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
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
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
- Adjust the Makefile similar to the changes done in r23520.
- Split out the standalone part into a separate source file.
- Put telechips.o inside the archive instead of building it separately for rbutil. It is part of mktccboot.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23522 a1c6a512-1295-4272-9138-f99709370657
Also remove filename itseld as it is not being considered. The output patched
firmware filename is taken from the original firmware file.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23468 a1c6a512-1295-4272-9138-f99709370657