General TC > Tiny Core on Virtual Machines
Booting tinycore, next level, skip the bootloader altogether
alphons:
Booting tinycore, next level, skip the bootloader altogether
Yes, you are reading it right, who needs a bootloader after all .....
My solution is to make use only of the bootsector.
That is, there are 512 bytes to fit a program which does load the kernel, loads the initrd and executes the kernel.
There is even some room for a kernel command line.
For users who use vmware, there is also a .vmdk generated to make it easy to add the disk to a VM.
Because of the 500 errors here on the forum, i uploaded my project to github.
https://github.com/alphons/bootsector-linux-loader
This is also a good project to learn about the boot process in detail.
happy booting.
curaga:
The kernel used to have such a boot sector for floppy booting - you could dd the kernel directly to a floppy, and boot. And nowadays it can boot from EFI without a bootloader.
alphons:
--- Quote from: curaga on February 09, 2023, 09:27:55 AM ---The kernel used to have such a boot sector for floppy booting - you could dd the kernel directly to a floppy, and boot. And nowadays it can boot from EFI without a bootloader.
--- End quote ---
;D That is clearly not the same.
floppy misery
* kernel has grown beyond the floppy metrics
* there was no command line option
* there was no initrd option
* you had to have some kind of filesystem
I have used them all;
* lilo
* grub
* syslinux
* uefi system
Nowadays the uefi garbage takes over the role of bootloader.
Maybe we have to name them bloated-loaders 8)
Thinks got wrong when it took over the simple role of getting things done fast,
building extra functionality, extra colors, extra file size, extra configuration.
From a tinycore perspective, where we like to make things tiny, UEFI is and probably will never be part of this process. Next best is de iso option, which tinycore uses. When it comes to the bootloader of the iso, syslinux is used, the isolinux variant.
I have spent 1 week now trying to compile syslinux on a modern system, lets say gcc 12.
It does not work. I have made patch files to get things compiling again. But in the end,
the isolinux.bin does not work. So we all use the precompiled binaries from kernel.org
which are 10 years old now. Nobody cares.
Future will be virtualisation in my opinion. So tinycore is an execellent linux distro, running within Solarwinds, Vmware, Virtual Box, Qemu, XEN, Virtual-PC, Hyper-V, Boot camp etc.
Containers (docker) are a pain in the ass, when it comes to configuration. Foot print of simple container applications is more than a tinycore running the same application on a VM. So whats the benefit of it all? Managing containers is the same work as managing vm's.
Okay, back to the bootsector project. I think this is excelent work for using linux in VM environments.
It is the fastest, smallest solution possible, skips the need of an CDROM driver / making an iso file containing a non maintained syslinux.
If i got some spare time, i can have a look at a 'tiny UEFI boot' solution. For the vmware .vmx file i have to change one line:
--- Code: ---firmware="efi"
--- End code ---
Wish me luck.
ps. "So, most common size guideline for EFI System Partition is between 100 MB to 550 MB" :'( :'( :'(
ps. ps." The EFI boot stub is enabled with the CONFIG_EFI_STUB kernel option."
nick65go:
@alphons: The MAIN utilization of boot-loader is to allow boot parameters (for kernel and for tc-config). So it allows for Xvexa vs. Xorg, or different windows-managers like flwm vs. jwm etc. You get it...
1. For VIRTUAL environments, yes, it is no need for boot loaders! ex: in Qemu just arguments kernel, initrd, append.
2. For REAL machine environment, it depends:
- BIOS + MBR, it can boot from HDD even with grub 0.9x (is less size than syslinux), Yes, grub 0.9x can be on CDROM and boots from it also (instead of isolinux).
- UEFI + MBR/ESP, it can boot from a small FAT16 /FAT32 partition (less than 32 MB), with a grub 2.x of less than 200 KB. :)
(search the forum for my posts, if you are interested).
PS: Right, the forced on us future is bloat UEFI and virtualization, both with base buggy/spy CPUs. In my defense I am looking on Xen/Qubes-OS, if fire-jail is not enough.
patrikg:
Lets go back to computers just with terminals just before, with serial RS-232. Just kidding.
But what i see in feature is like that. Just some device with some type of display and keyboard mouse maybe display with touch.
And all computing and data is in the air :) in the cloud.
And all programs converted to some sort of subscription model.
You don't need to own the program/app, and all things we need to bring into our life.
Navigation
[0] Message Index
[#] Next page
Go to full version