alexxgg
batocera img is composed of 1 partition named RECALBOX
which contains the files necessary to boot, mainly 3 files :
- linux : the kernel (without the modules)
- initrd.gz : the init filesystem to mount the squashfs image
- recalbox : the root file system (in squashfs format)
when batocera boots, it looks for a partition RECALBOX, then looks the next partition (with parted) :
- if there is free space, it create a new partition called share that fits all the free space
- if a partiton is found (or if it has just been created), it uses it as a data partition (and mount it as /recalbox/share)
note that batocera and recalbox doesn't work as the same at all.
on recalbox, there is no squashfs image, it is a real partition (thus, there are 3 partitions, BOOT, RECALBOX and SHARE) while on batocera, all the system is on the BOOT partition (the squashfs file partition is on the BOOT partition), and data are on SHARE partition.
note that on boot, there is an other important file : recalbox-boot.ini, which contains SHARE=INTERNAL or SHARE=something else in case your shared data are on an external usb key or a nas, but this monting is handle by batocera starting scripts
interesting links :
- initial ram disk : https://github.com/batocera-linux/batocera.linux/blob/master/package/batocera/recalbox-initramfs/init
- external mounting : https://github.com/batocera-linux/batocera.linux/blob/master/board/recalbox/fsoverlay/etc/init.d/S11share
important rpi config.txt :
https://github.com/batocera-linux/batocera.linux/blob/master/board/recalbox/rpi/config.txt#L41
kernel=boot/linux
initramfs boot/initrd.gz
can you list me what is not working correctly ?
with config.txt having :
kernel=boot/linux
initramfs boot/initrd.gz
files boot/linux and boot/initrd.gz and boot/recalbox present, batocera is supposed to start.
if the shared partition is not found, check what is partition RECALBOX+1
if it starts, df /recalbox/share => if the partition type is tmpfs, it's because the share was not mounting correctly.