Tiny Core Base > Micro Core

Core install with 32 MB RAM on 486

<< < (2/5) > >>

branpurn:
Thanks all, the laptop in question has 486DX2 or 4. I was hoping to use plop boot manager on floppy but I may be misunderstanding the utility of loadlin.

I am trying to get things operational in a VM first; was trying a potpourri of kernel cmdline options (thanks for some of these suggestions) and little else, not enough on their own under 32 MB RAM even with TC 14:


--- Code: ---mc base norestore noswap text embed nomodeset nozswap no387 nofxsr nortc nohz=off udev.children-max=1 highres=off mitigations=off nosmp nosmt acpi=off nofstab
--- End code ---

I will try some of the other necessary/suggested steps when time allows.

Edit: In addition to all the great info, this previous post from Rich is compelling, mem wound up 29 MB used,


--- Quote from: Rich on January 03, 2025, 12:13:44 AM ---I opened a terminal and:

--- Code: ---tc@box:~$ sudo cache-clear
tc@box:~$ sync
tc@box:~$ free -m
              total        used        free      shared  buff/cache   available
Mem:             52          29          12           5          11          15
Swap:           999          12         987
tc@box:~$
--- End code ---
I also have a swap partition that's supplying some space.

--- End quote ---

branpurn:
So based on Rich's script from aforementioned post ... I do not currently have a NIC and would just want to get things up as proof of concept,


--- Code: ---#!/bin/sh

# Fetch a fresh copy of the initrd.
wget http://repo.tinycorelinux.net/16.x/x86/release/distribution_files/core.gz

# Create a temporary workspace.
mkdir tmp
cd tmp

# Unpack the initrd
zcat ../core.gz | sudo cpio -i


# ---------------- Modify this section to match your system ---------------- #
# Remove the  net  directory (about 6 Mbytes).
sudo rm -rf lib/modules/6.12.11-tinycore/kernel/drivers/net
# ---------------------- End of modification section ----------------------- #


# Recreate modules.alias and modules.dep in lib/modules/6.12.11-tinycore/.
sudo depmod -a -b . 6.12.11-tinycore

# We don't need the symbols file.
sudo rm -f lib/modules/6.12.11-tinycore/*symbols

# Re-pack the initrd.
sudo find . | sudo cpio -o -H newc | gzip > ../core16Stripped.gz

# Back to our starting directory.
cd ..

# Clean up.
sudo rm -rf tmp
rm -f core.gz

echo "Your new initrd is called core16Stripped.gz"

--- End code ---

What exactly should the partitioning look like? I see multiple UUID's defined so not just one big ext2 I would assume; /home /opt mountpoints, what are some good sizes on a 32 GB drive? ... Removed waitUSB as no USB present. What other kernel cmdline params should/might make it in? (RE: mc base norestore noswap text embed nomodeset nozswap no387 nofxsr nortc nohz=off udev.children-max=1 highres=off mitigations=off nosmp nosmt acpi=off nofstab)


--- Code: ---menuentry "*** Core-16-x86" {
search --no-floppy --fs-uuid --set=root 2bd65bbc-d71a-48be-8e35-f72f81453a15
linux /tce/Core16/vmlinuz udev.children-max=1 nodhcp nozswap norestore:UUID="2bd65bbc-d71a-48be-8e35-f72f81453a15" tce=UUID="2bd65bbc-d71a-48be-8e35-f72f81453a15"  home=UUID="2bd65bbc-d71a-48be-8e35-f72f81453a15" opt=UUID="2bd65bbc-d71a-48be-8e35-f72f81453a15"
initrd /tce/Core16/core16Stripped.gz
}
--- End code ---

Rich:
Hi branpurn

--- Quote from: branpurn on December 08, 2025, 10:00:29 PM --- ... What exactly should the partitioning look like? ...
--- End quote ---
A single partition anywhere between 2 and 4 gig should be adequate.


--- Quote --- ... I see multiple UUID's defined so not just one big ext2 ...
--- End quote ---
Look again. You see the same UUID specified multiple times. That's how Tinycore knows
where to find those directories. I prefer to keep these directories on the same partition.
That way I can install multiple versions of Tinycore with their own directories and keep
them separated. You can create multiple partitions if you wish, but this is simpler.
To get the uuid of a partition:

--- Code: ---tc@E310:~$ blkid /dev/sda2
/dev/sda2: LABEL="TC10_backup" UUID="22559ae7-7e12-4a3b-9efa-6f8c8a9a8a6a" TYPE="ext4" PARTUUID="594f4868-02"
--- End code ---
You'll want the one called UUID=.


--- Quote --- ... What other kernel cmdline params should/might make it in? ...
--- End quote ---
I would start with these:

--- Code: ---nozswap no387 udev.children-max=1 mem=nopentium
--- End code ---
The  mem=nopentium  code disables use of 4MB pages for kernel memory
so it should lighten the memory demand.

The remaining kernel parameters you added either don't look like they would
save any memory, or are not valid kernel parameters.

Instead of trying core.gz for the initrd, see if it using rootfs.gz gets you to a command line.

branpurn:
Thanks-- So if I extract rootfs directly to the 4 gig ext2 partition, I don't immediately have GRUB to edit with UUIDs, etc.,

So I replaced core.gz with rootfs.gz on the Core ISO, and attempted to boot. I am bad at understanding what the "boot:" prompt wants. I tried a series of things without luck, ex., "initrd /boot/rootfs.gz (...)"

Replaced core.gz with rootfs.gz on the TinyCore ISO, and attempted to boot from GRUB with:

--- Code: ---/boot/vmlinuz loglevel=3 initrd=/boot/rootfs.gz noswap no387 udev.children-max=1 mem=nopentium
--- End code ---

Kernel panic on VM, but that was TinyCore not Core media

Rich:
Hi branpurn
That should be  nozswap  not  noswap.
Without  nozswap , the system will allocate 25% of your RAM to compressed swap space.

Rereading the posts, I see you have a 486DX which I believe does have a math co-processor.
So remove the  no387  parameter.


--- Quote from: branpurn on December 09, 2025, 10:21:37 AM ---Thanks-- So if I extract rootfs directly to the 4 gig ext2 partition, ...
--- End quote ---
There's no need to extract anything. Assuming you are using TC16, you can download rootfs.gz
from here:
http://tinycorelinux.net/16.x/x86/release/distribution_files/


--- Quote --- ... So I replaced core.gz with rootfs.gz on the Core ISO, and attempted to boot. ...
--- End quote ---
How did you do that? Did you build a new ISO using mkisofs?


--- Quote --- ... and attempted to boot from GRUB with:

--- Code: ---/boot/vmlinuz loglevel=3 initrd=/boot/rootfs.gz noswap no387 udev.children-max=1 mem=nopentium
--- End code ---
...
--- End quote ---
Since you said GRUB and not GRUB2, a typical entry looks like:

--- Code: ---title TC10.1_32bit
root (hd0,0)
kernel /boot/vmlinuz quiet tce=UUID="543cac60-3224-4cab-b1d5-008407dd9ce8" home=UUID="543cac60-3224-4cab-b1d5-008407dd9ce8" opt=UUID="543cac60-3224-4cab-b1d5-008407dd9ce8" printk.time=1 syslog nodhcp vmalloc=256MB noisapnp nozswap
initrd /boot/core.gz
--- End code ---

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version