@pixel: The easiest and safest way we usually handle persistence here at my office is to use a drive's ID (UUID) in the command-line.
blkid | grep mmcblk
This should give you a list of any drive/partition that is seen by the operating system (with "mmcblk" in it)
In the command line (ie: boot commands) you would enter
tce=UUID="abcdef..."
..where obviously "abcdef..." would be the ID retrieved from the blkid command above it.
This can be repeated for the /home and /opt directories as well where
opt=UUID="ID String"
home=UUID="ID String"
You may also use the drive/partition's LABEL (tce=LABEL="Something") but this isn't fool-proof.
Additionally, if you simply create /mnt/mmcblk0p1/tce in most occasions TinyCore will search for and find it, even when it's not entered as a boot command, but again, this isn't fool-proof.
Your mmcblk0p1/tce directory should be chown'ed by tc:staff recursively if you're using the default user setup.
NOW, one thing I have noticed with a few machines is MMC block devices are sometimes NOT detected in the hardware layer FAST enough for the boot process to complete successfully.
In this case you want to set USB WAIT TIMEOUT to about 15 seconds (much more than necessary, but well within reason) as a boot command with the same UUID as your tce=UUID so that you know the device is "online" after a warm/cold boot.
Here's an example configuration from and x64 machine with an odd, onboard M.2 SATA/PICe hybrid slot which the kernel supports and detects... but it's not "ready" for the kernel to communicate with for a number of seconds after BIOS completes its start-up. This configuration sets both tce and /opt as persistent locations on the drive AND allows for up to 15 seconds to pass while it scans for its given UUID (If it detects the drive at 7 seconds, for example, the remaining timeout is skipped. If it is not detected within 15 seconds, which rarely happens, /mnt/mmcblk0p1/tce will not be detected as /etc/sysconfig/tcedir and instead, points unintentionally to /tce which fails. The default install sets waitusb to five seconds, which this specific device failed constantly at that value.)
/mnt/mmcblk0p1/tce/boot/extlinux/extlinux.conf
DEFAULT corepure64
LABEL corepure64
KERNEL /tce/boot/vmlinuz64
INITRD /tce/boot/corepure64.gz
APPEND quiet syslog vga=791 waitusb=15:UUID="00000000-1111-2222-3333-444445555566" tce=UUID="00000000-1111-2222-3333-444445555566" opt=UUID="00000000-1111-2222-3333-444445555566"
Note: If you add the tce=UUID entry in the configuration file, you normally will not have to create the tce directory yourself. This is a good way to test the timeout and hardware interaction during boot by NOT creating the directory manually.