1
Starting Development and Compiling / Re: rockboxdev.sh doesn't seem to run on Mac OS?
« Last post by speachy on September 27, 2023, 08:48:52 PM »I made the greadlink changes myself and then gave up when I patched everything and realised as chris said, that the cross compilation fails. I went down the rabbit hole and tried different compilers but eventually got out of my depth.
I have a toolchain bump to GCC 8.5 sitting in gerrit, that should have a better shot of successfully building on MacOS. (I've been holding it off until we get the 4.0 release out)
(See https://gerrit.rockbox.org/r/c/rockbox/+/4676 )
2
Starting Development and Compiling / Re: rockboxdev.sh doesn't seem to run on Mac OS?
« Last post by rockbox_dev123 on September 27, 2023, 02:47:05 PM »I made the greadlink changes myself and then gave up when I patched everything and realised as chris said, that the cross compilation fails. I went down the rabbit hole and tried different compilers but eventually got out of my depth.
There is a Docker image for compiling rockbox called which can be used ("built1n/rbclient").
However, this container is using a very old version of Debian and it actually ships the wrong version of the cross compilation binaries for arm targets anyway...
Here is my docker-compose setup for building rockbox:
This container will then happily idle forever until you run:
Once inside the debian container, you can run this script to build rockbox for you:
There is a Docker image for compiling rockbox called which can be used ("built1n/rbclient").
However, this container is using a very old version of Debian and it actually ships the wrong version of the cross compilation binaries for arm targets anyway...
Here is my docker-compose setup for building rockbox:
Code: [Select]
rockbox_build:
image: debian
container_name: rockbox_build
entrypoint: /bin/bash
command: "-c 'while true; do sleep 60; done'"
volumes:
- ${docker_config_path}/rockbox_build:/config
restart: unless-stopped
This container will then happily idle forever until you run:
Code: [Select]
docker exec -it rockbox_build bash
Once inside the debian container, you can run this script to build rockbox for you:
Code: [Select]
#!/usr/bin/env bash
github_user_name="rockbox"
github_repo_name="rockbox"
#target="ipod6g"
arm_targets=("ipodvideo" "ipod6g")
rockbox_dir="/config/rockbox"
build_dir="${rockbox_dir}/build"
cd /config || exit
install_dependencies()
{
apt update
apt-get install -y \
build-essential \
git \
perl \
curl \
texinfo \
flex \
bison \
bzip2 \
gzip \
zip \
patch \
automake \
libtool \
libtool-bin \
autoconf \
libmpc-dev \
gawk \
python3 \
python3-lzo \
python3-setuptools \
mtd-utils \
xorriso \
wget \
subversion \
libncurses5-dev \
texlive-latex-base \
texlive-binaries \
texlive-latex-extra \
tex4ht \
texlive-fonts-recommended \
lmodern \
texlive-base \
libsdl1.2-dev \
libsdl1.2debian
#latex-xcolor \
}
update_git_repo()
{
if [[ ! -d "$rockbox_dir" ]]
then
git clone "https://github.com/${github_user_name}/${github_repo_name}.git"
else
cd "$rockbox_dir" || exit
#git pull origin master
git remote update
if git status | grep -q 'Your branch is behind'
then
git pull origin master
cd /config || exit
fi
fi
}
check_gcc_version()
{
if ! command -v arm-elf-eabi-gcc >/dev/null || ! arm-elf-eabi-gcc -v 2>&1 | grep -q 'version 4.9.4'; then return 1; fi
}
initialise_toolchain()
{
cd "$rockbox_dir" || exit
#shellcheck disable=SC2016
sed -i 's/tool="$tool -fLo "/tool="$tool -fLko "/' ./tools/rockboxdev.sh ## patch curl to allow invalid certs
#shellcheck disable=SC2016
sed -i 's/tool="$tool-T 60 -O "/tool="$tool --no-check-certificate -T 60 -O "/' ./tools/rockboxdev.sh ## patch wget to allow invalid certs
mkdir -p "$rockbox_cross_compiler_dir"
./tools/rockboxdev.sh --target="a" "--prefix=$rockbox_cross_compiler_dir"
}
verify_toolchain()
{
## Check if the cross compilation binary exists, and if it is the right version.
## The rbclient docker image supplies the older version of 4.4.4 instead of 4.9.4
## 1) Check if the image has the right version (with default PATH)
## 2) Check if we have previously compiled the toolchain to a dir
## 3) Finally, compile the toolchain if necessary.
if ! check_gcc_version
then
rockbox_cross_compiler_dir="/config/toolchain"
export PATH="${rockbox_cross_compiler_dir}/bin:$PATH"
if ! check_gcc_version
then
initialise_toolchain
fi
fi
}
build_rockbox()
{
target="$1"
mkdir -p "$build_dir" && cd "$build_dir" || exit
## Build rockbox
../tools/configure --target="$target" --type="n"
make clean
make -j"$(nproc)"
## Make the zip
zip_name="rockbox-full.zip"
make fullzip
custom_zip_name="$(basename "$zip_name" .zip)-$target-$github_user_name-$(date +'%Y%m%d').zip"
cp "$zip_name" "/config/$custom_zip_name"
}
build_bootloader()
{
target="$1"
mkdir -p "$build_dir" && cd "$build_dir" || exit
## Make the bootloader
../tools/configure --target="$target" --type="b"
make clean
make -j"$(nproc)"
cp "bootloader-$target.ipod" "/config/bootloader-$target-$github_user_name-$(date +'%Y%m%d').ipod"
}
install_dependencies
update_git_repo
verify_toolchain
for build_target in "${arm_targets[@]}"
do
build_rockbox "$build_target"
build_bootloader "$build_target"
done
3
Repairing and Upgrading Rockbox Capable Players / Re: Best/Simplest Uprgrades for iRiver IHP-140
« Last post by bluebrother on September 27, 2023, 02:11:31 PM »The battery ie easy enough to swap; IIRC it's the same size and connetor as the 3rd gen ipod but with the pins reversed.
It is. I did that replacement years ago.
Quote
AFAIK rockbox on the iHP-140 is quite stable, but you'll need the latest bootloader that fixes several issues with non-HDD.
It's stable since 15ish or so years -- been using it long on mine (though with HDD, the SSD mod is another story)
Quote
There's no way to upgrade the USB transfer speed; it's slow USB 1.1 only. Well, it's theoretically possible to replace the chips responsible for the USB mode, but that's a pretty serious undertaking. Depending on the exact CF->SD adapter you choose you may be able to cut a hole in the case to make the card swappable, but I wouldn't count on it.
It uses a hardware chip for USB, and it's USB 2.0. Unless you transfer lots of data frequently that's not too bad -- the limiting factor for me was always the HDD.
4
Repairing and Upgrading Rockbox Capable Players / Re: SanDisk Sansa Clip+ Recovery nand
« Last post by vitt13 on September 27, 2023, 01:59:47 PM »Well I tried to restore the player again last weekend.
I passed all the steps from https://www.rockbox.org/wiki/SansaAMSJTAG.html (halt device, upload firmware, resume execution) but it was unsuccessful.
It looks I encountered almost the same failures that dongs https://www.rockbox.org/irc/log-20161231 overcame in the past.
The J-link clone works well, the CPU core ARM926EJ-S is detected.
Next he wrote about memory remapping.
And I again postponed further attempts, since my knowledge of debugging is very superficial. I'm still reading a voluminous topic from the archives.
I passed all the steps from https://www.rockbox.org/wiki/SansaAMSJTAG.html (halt device, upload firmware, resume execution) but it was unsuccessful.
It looks I encountered almost the same failures that dongs https://www.rockbox.org/irc/log-20161231 overcame in the past.
The J-link clone works well, the CPU core ARM926EJ-S is detected.
Next he wrote about memory remapping.
Quote
if I jump to 0x0 and start executing from there, it runs, then gets stuck in a endless loop somewehre in 0x80004xxx or somesh*I guess my next step also has to be memory remap and load Rockbox bootloader.
And I again postponed further attempts, since my knowledge of debugging is very superficial. I'm still reading a voluminous topic from the archives.
5
Repairing and Upgrading Rockbox Capable Players / Re: Best/Simplest Uprgrades for iRiver IHP-140
« Last post by speachy on September 27, 2023, 12:45:49 PM »The battery ie easy enough to swap; IIRC it's the same size and connetor as the 3rd gen ipod but with the pins reversed.
AFAIK rockbox on the iHP-140 is quite stable, but you'll need the latest bootloader that fixes several issues with non-HDD. And you can go up to 2TB in theory. That said, the stock firmware has some pretty major problems with non-HDDs -- I don't recall if it's due to sheer capacity or an outright incompatibility with SSDs.
As for the actual storage, with a passive HDD->CF adapter you can use any CF card, and with an iFlash adapter you can use SD cards too. I know some folks made some "SSDs" that plugged directly in but those just use the CF->SD adapter chipset with permenantly soldered storage.
There's no way to upgrade the USB transfer speed; it's slow USB 1.1 only. Well, it's theoretically possible to replace the chips responsible for the USB mode, but that's a pretty serious undertaking. Depending on the exact CF->SD adapter you choose you may be able to cut a hole in the case to make the card swappable, but I wouldn't count on it.
AFAIK rockbox on the iHP-140 is quite stable, but you'll need the latest bootloader that fixes several issues with non-HDD. And you can go up to 2TB in theory. That said, the stock firmware has some pretty major problems with non-HDDs -- I don't recall if it's due to sheer capacity or an outright incompatibility with SSDs.
As for the actual storage, with a passive HDD->CF adapter you can use any CF card, and with an iFlash adapter you can use SD cards too. I know some folks made some "SSDs" that plugged directly in but those just use the CF->SD adapter chipset with permenantly soldered storage.
There's no way to upgrade the USB transfer speed; it's slow USB 1.1 only. Well, it's theoretically possible to replace the chips responsible for the USB mode, but that's a pretty serious undertaking. Depending on the exact CF->SD adapter you choose you may be able to cut a hole in the case to make the card swappable, but I wouldn't count on it.
6
Starting Development and Compiling / Re: rockboxdev.sh doesn't seem to run on Mac OS?
« Last post by chris_s on September 27, 2023, 12:44:30 PM »I would recommend spinning up either the latest ARM server versions of Debian or Ubuntu in VMWare Fusion (which is free for personal use) and you'll be up and running in no time. You can ssh into the VM or just use Fusion's own file sharing mechanism to transfer files back and forth. Optionally install a desktop environment as well, if you intend to use the simulator on Linux.
https://blogs.vmware.com/teamfusion/2023/07/vmware-fusion-2023-tech-preview.html
https://blogs.vmware.com/teamfusion/2023/07/vmware-fusion-2023-tech-preview.html
7
Starting Development and Compiling / Re: rockboxdev.sh doesn't seem to run on Mac OS?
« Last post by chris_s on September 27, 2023, 12:24:58 PM »You can replace readlink with greadlink and it should output something at least, but actually compiling the cross compiler will still fail on Apple Silicon at least.
8
Starting Development and Compiling / Re: rockboxdev.sh doesn't seem to run on Mac OS?
« Last post by speachy on September 27, 2023, 12:23:15 PM »to be honest, I don't expect rockoxdev.sh (or compiling rockbox even after a toolchain is present) to work on Macs; they have some pretty major differences in their environments from modern-ish Linux system and none of the active developers even have access to a mac, much less are able to test things out there.
But the fact you saw no output at all to be surprising, at minumum there should be _some_ output, even if only an error message.
Try running it with 'bash -x rockboxdev.sh' instead and see where it stops.
But the fact you saw no output at all to be surprising, at minumum there should be _some_ output, even if only an error message.
Try running it with 'bash -x rockboxdev.sh' instead and see where it stops.
9
Starting Development and Compiling / rockboxdev.sh doesn't seem to run on Mac OS?
« Last post by Mudb0y on September 27, 2023, 11:57:21 AM »When I try to run tools/rockboxdev.sh on my M2 MacBook Pro running Senoma, I get no output from my terminal. I ran it both as sudo and a normal user. I seem to have all the dependencies installed. Is there any recent Mac OS build issues I should be aware of?
10
Rockbox General Discussion / Re: iPod 6 Classic with Rockbos is not recognized by Windows 10 after adding files
« Last post by QRDeNameland on September 26, 2023, 03:18:16 PM »...
I had it working before with something like 550 GB of music files, so counterfeit sd cards is not the problem. I think it also rules out incompatibility, I'm not getting a 'red X' or anything like that, it does in fact boot into Rockbox well enough to get to Committing Database phase, and just can't get past it. I suppose it's *possible* that somehow one of the cards got dislodged, but being that I am getting the same failure mode after rebuilding it, it seems very unlikely.