Tiny Core Extensions > TCE Tips & Tricks

How to make a legacy bios/uefi dual boot usb stick with syslinux

<< < (4/4)

Juanito:
Does your tc-7.x installation boot on the new laptop?

core*.gz = rootfs*.gz + modules*.gz

polikuo:

--- Quote from: labeas on November 28, 2019, 04:56:23 AM ---This looks interesting.
I've had problems trying to install <grub2-forUEFI>.
Since I'm still using Ver7.2 of TC64: I thought to update to ver10,
while installing for the newProblematic UEFI laptop.
Since oldLaptop:V7.2 boots with no problems, and good font-size etc. I
thought to start from a known good state.
 Could I use these existing partitions of my "Ver7.2 of TC64 BakUpStik",
and just loses the "MBR",
and rename the dirs which I want to keep for BakUps?
Device      Boot    Start       End   Sectors   Size  Id Type
/dev/sdc1   *        2048   4689547   4687500   2.2G   c W95 FAT32 (LBA)
/dev/sdc2           4689548  15630335  10940788   5.2G  83 Linux?

--- End quote ---
In general, to boot UEFI properly, you'll need GPT (GUID Partition Table).
That usually means losing your data during conversion.
However, it may not be a requirement depends on your motherboard.
If you wanna preserve your MBR partition table, you could copy all the UEFI firmwares and go for a shot. (Recommended)
The second method is force convert to GPT via a M$ machine and hope for the best.
You could convert a MBR disk to GPT without losing data. (not sure about USB, especially one with multiple partitions.)
In command prompt, run "diskpart", "list disk", "select disk X", "convert gpt"


--- Quote from: labeas on November 28, 2019, 04:56:23 AM ---So far I've had no explanation of how syslinux & grub can have different
"kernel and initrd" files: eg: isolinux.cfg = 2 files:
    KERNEL /boot/vmlinuz64
    INITRD /boot/corepure64.gz
but, *2/EFI/BOOT/grub/grub.cfg  = 3 files ?! :
linux /boot/vmlinuz64v10 ...
initrd /boot/corepure64v10.gz /boot/modules64.gz
 What is the modules*.gz which syslinux doesn't need ?

--- End quote ---

Hi, I could see several misunderstandings / mistakes here.

isolinux.cfg is designed for CDs, the precedence of syslinux.cfg in ISOLINUX is lower.
If you boot from a standard isolinux CD, isolinux.cfg would be used unless it couldn't find one.
It would then fall back to syslinux.cfg
However, if the boot media is not a CD, isolinux.cfg would not be used.
(Which is the case in my tutorial. It uses syslinux.cfg)
Unless, you somehow made your disk / USB Isohybrid.
(A feature I never use.)


--- Quote ---isolinux.cfg = 2 files:
--- End quote ---
Sometimes grub & syslinux could chain-load to each other.
IIRC, for grub to load a syslinux ISO, an extra isolinux.cfg is required.
If you somehow made a loop, you could have several files:
isolinux --> grub --> isolinux --> grub --> isolinux ....


--- Quote ---initrd /boot/corepure64v10.gz /boot/modules64.gz
--- End quote ---
Multiple filenames are separated by commas.
Otherwise, IIRC, it would only load the first argument.
In your case, a core*.gz will suffice.


--- Quote ---What is the modules*.gz
--- End quote ---
Answered by Juanito:

--- Quote from: Juanito on November 28, 2019, 06:44:41 AM ---core*.gz = rootfs*.gz + modules*.gz

--- End quote ---
Please refer to distribution files.
In SYSLINUX syntax, either

--- Quote ---INITRD /path/to/core*.gz
--- End quote ---
or

--- Quote ---INITRD /path/to/rootfs*.gz,/path/to/modules*.gz
--- End quote ---
is OK.
Note that whether the keyword [INITRD] is in capital letters or not does not matter, I prefer capital ones.  :)

Navigation

[0] Message Index

[*] Previous page

Go to full version