Tiny Core Base > Corepure64

issues with inital setup

<< < (6/7) > >>

pixel:
when i try to do sudo mkfs.vfat /dev/mmcblk0p2, it says:

Cannot initialize conversion from codepage 850 to ANSI_X3.4-1968: Invalid argument
Cannot initialize conversion from ANSI_X3.4-1968 to codepage 850: Invalid argument
Using internal CP850 conversion table
mkfs.vfat: /dev/mmcblk0p2 contains a mounted filesystem.

pixel:
i followed the rest of the tutorial and it didnt work. i think it was because of me being unable to use mkfs.vfat. some hours later now i cant mount my drives, its saying input/output error.

CNK:

--- Quote from: pixel on July 27, 2024, 02:23:36 PM ---when i try to do sudo mkfs.vfat /dev/mmcblk0p2, it says:

Cannot initialize conversion from codepage 850 to ANSI_X3.4-1968: Invalid argument
Cannot initialize conversion from ANSI_X3.4-1968 to codepage 850: Invalid argument
Using internal CP850 conversion table
mkfs.vfat: /dev/mmcblk0p2 contains a mounted filesystem.

--- End quote ---

That is a problem in recent TC versions because newer glibc isn't using files in /usr/lib/gconv/gconv-modules.d that are installed from glibc_gconv.tcz. I described this work around earlier.

pixel:
it turns out it didnt matter as following the tutorial at https://www.parkytowers.me.uk/thin/Linux/TinycoreUEFI.shtml succeeds in loading tc :) now im trying to setup persistence with tce. i specify tce=mmcblk0p1 on boot, yet /etc/sysconfig/tcedir seems to always just point to /tce, requiring me to delete and recreate it pointing to the correct /mnt/mmcblk0p1/tce for any of the tce related commands to work.

CentralWare:
@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.

--- Code: ---blkid | grep mmcblk
--- End code ---
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

--- Code: ---tce=UUID="abcdef..."
--- End code ---
..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

--- Code: ---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"

--- End code ---

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.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version