I can't write and speak english properly. Excuse me if you find errors.
Specs:
- x32 T42 IBM laptop
- 512 RAM
- No HDD
- 128Mb M2 mass storage device
- 4 ports hub
- 1 adapter m2 slot to usb.
I "installed" Tiny core 9 on a 128Mb M2 Memory. The m2 memory has the following format:
GPT - Partition Table
sdb 8:16 1 110.3M 0 disk
├─sdb1 8:17 1 22M 0 part /media/ctiny -- The "frugal" install of Tc. (ext2)
├─sdb2 8:18 1 24M 0 part /media/Tinycore -- I use: cat TinyCore.iso > /dev/sdb2
├─sdb3 8:19 1 49M 0 part /media/SliTaz core-4in1 -- The same as above. Slitaz Live
└─sdb4 8:20 1 11M 0 part /media/Core -- The same as above. Micro Core
Using Gujin bootloader i have the hability to use a partition and the tool 'cat' to do the following: cat Tinycorecurrent.iso > /dev/sdXy. With this procedure Gujin can boot the partition like a iso9660 filesystem ('a real CD-ROM'), gujin allow to store iso files in a fs (ext2,3,4;vfat) too but with limit space doing a partition would take almost 5% of the entire filesystem.
I use this m2 memory card of 128Mb in my 2005 T42 diskless-IBM-laptop. The way i frugal install Tiny Core in this memory:
First i install the bootloader Gujin doing the following steps:
Download the 'install-2.8.7.gz' archive, untar it. (This install the bootloader in the B.E.E.R partition)
$ cd install/
$ ./gujin /dev/sdb0 --mbr-device=/dev/sdb
So i have my m2 card beeing able to boot from my computer. Then i use cat to place the iso files in their respective partitions (i use gparted to make the partition table and the partitions itself).
And to frugal install Tiny Core:
Mount /dev/sdb1
$ sudo chmod -R 777 /media/ctiny/
Downloaded the current iso at the time (Tc version 9)
$ mkdir iso ; sudo mount -t iso9660 Tinycorecurrent.iso iso/
$ cp -a iso/* /media/ctiny/
At this point i have the rootfs for '/' but i have to struggle with Tiny Core bacause it doesn't follow the "conventions", first the initrd.gz has the name 'core.gz', which the bootloader doesn't take as valid. And it's seems it can't take the kernel parameter: root=
This matters because i need a file to chainload the frugal installation. This file is gujin.cmd.
The configuration of gujin.cmd:
I've tried root=UUID and root=PARTUUID, neither of them work.
#TinyCore9 Persistent session.
:ctiny:vmlinuz*:initrd*::cTiny Persistent:kernel=/boot/vmlinuz loglevel=3 --fs-uuid --set=root e8bfc820-2731-48cf-9060-0bbb2e0c6db7 initrd=/boot/initrdtc.gz tce tce=UUID=e8bfc820-2731-48cf-9060-0bbb2e0c6db7 home=UUID=e8bfc820-2731-48cf-9060-0bbb2e0c6db7 waitusb=5 lst=xbase.lst norestore showapps multivt kmap=es tz=GMT-6 noembed pause
I don't know if this is a valid kernel line, the file parse the name of the kernel (vmlinuz*) and the initrd (core.gz renamed to initrdtc.gz) with some kernel parameters, as well.
I've read that linux by default loads the initrd.gz, then the init has the task to load the entire system. So first it's only loaded a temp rootfs and this basic root fs only know about Partiton UUID. But every time i use root=UUID and root=PARTUUID, Tiny core can't load the system, so it's only loaded the micro core enviroment (console mode) because Tc can't find the minimal desktop extensions.
But if i use the previous line in gujin.cmd:
tce=UUID=e8bfc820-2731-48cf-9060-0bbb2e0c6db7
Then tiny core can find the rootfs and procede to mount it and load the extensions. Which is bad, every write it's done in the actual m2 device, not the ram, if i try to download a program it gets full because only has a few Kb free, instead of using the 512Mb RAM. But if i unmount the filesystem (sdb1) i can't use the system, instead of using the RAM when downloading and installing using tce-load -wil nano.tcz, it simply don't show anything.
It looks like this, when i hit enter, it does nothing, it's just print another line:
$ tce-load -wil nano.tcz
$
I want to have this m2 memory to last as long as possible this means less writes in the flash memory, and i want more space to the frugal install, so i need to delete 'sdb2' to take that space.
The text was to explain how my installation was setup.
Questions:
1)The ISO 'version' of Tiny Core can boot from the usb partition using the iso9660 fs, chainloaded as "El Torito", and i can umount the partition when i see the Tiny Core desktop (this means the extensions are loaded to ram) using umount command or the 'Mount Tool' from wbar.
It's possible to tell the frugal install to load itself as iso9660 system and running entirely in RAM or it's the bootloader the one who take the ultimate decision?
Because in: cat Tc.iso > /dev/sXy is isolinux in charge in conjunction with Gujin bootloader so they map the way to the iso partition and in the frugal install only loads as another system?
2)Why using 'root=' kernel code doesn't seems to work with Tiny Core (even with Tc Plus) and with dCore it does in boot versions (dcore, dcoreplus)?
This often happens when i have in the same usb two partitions like this:
├─sdb2 /media/Tinycore -- I use: cat TinyCore.iso > /dev/sdb2
├─sdb3 /media/Tinycoreplus -- The same as above. Tiny Core Plus
So if i choose the sdb3 option (TinyCore Plus) i get the Tiny Core console, it doesn't load the extensions, and whe i run the mount command i see the sdb2 partition is mounted, even if a use the 'root=UUID or root=PARTUUID' kernel parameter.
With dcore both version coexist without problem, but if i choose the dcore Plus it loads the dcore console-version, only if i use the root=PARTUUID="" kernel parameter the dcore Plus desktop show in screen.