General TC > Programming & Scripting - Unofficial

bootman - boot versions on one drive/partition

(1/2) > >>

mocore:
pokeing around in the repo i found http://tinycorelinux.net/14.x/x86/tcz/bootman.tcz.info

(i suspected because of the small size 
"Size:      4.0K")
it was some scripts in an extension

so i had a look &

--- Code: ---# download extension
wget http://tinycorelinux.net/14.x/x86/tcz/bootman.tcz.info
# create a temporary directory
mkdir tczx
# mount the extension
sudo mount -o loop ./bootman.tcz ./tczx
#  find files
find ./tczx/ -type f

--- End code ---
find shows one file

--- Quote ---tczx/usr/local/sbin/bootman
--- End quote ---


--- Code: ---less tcz/usr/local/sbin/bootman
--- End code ---

it appears to use syslinux ....

--- Quote ---Comments:      Allows the user to boot into numerous versions of
                TCL using a single drive/partition and separate
                mydata.tgz and/or persistent opt/home directories
                sudo bootman VERSION [PLATFORM=x86_64]
                VERSION=5 or more, PLATFORM=x86 or x86_64 (x64)
                ONLY INTENDED for default boot loader; grub not
                yet implemented and PXE not intended here.

--- End quote ---

i wander if any one (other than the author ;p ) has tested this script/approach ??

which seams conceptually similar to the method mentioned hear
https://forum.tinycorelinux.net/index.php/topic,22546.msg141259.html#msg141259
and others @ https://forum.tinycorelinux.net/index.php/topic,26464.0.html

Leee:
I haven't played around with bootman.tcz at all but I just use grub and have a menu entry for each Tiny Core installation on the device.  The disk layout is structured like this:
--- Code: ---boot
     core15.0
              tce
                    optional
              tce64
                    optional

     core14.0
              tce
                    optional
              tce64
                    optional

--- End code ---
and so on. Your computer can be a Tiny Core museum.    :)

In addition to the simplified view above, there are also "ondemand" and "upgrade" directories and all that happiness in the expected places.

Both the x86 and x86_64 versions of vmlinuz, rootfs.gz and modules.gz live at the "coreXX.X" level.  The "tce" directories are used for x86 while the "tce64" directories are used for x86_64.
The grub directory can be under boot or, as is my current habit, on the EFI partition under EFI/BOOT.

I don't use persistent home, so each older version has a mydata.tgz snapshot of the last time I used it, a copy of which was brought forward to the next newer version.


Leee:
Here's a (pared down) sample grub.cfg for the above setup (attached).

CentralWare:

--- Quote from: mocore on September 17, 2024, 02:20:19 AM ---pokeing around in the repo i found http://tinycorelinux.net/14.x/x86/tcz/bootman.tcz.info
i wander if any one (other than the author ;p ) has tested this script/approach ??

--- End quote ---

@mocore: We had to implement a simple method to allow us to switch between TCL versions (5.x to Current), flip between x86 and x64 (or ARM6/7/7L in the newer in-house version) AND allow us to switch between "projects" (ie: the first project might be a desktop environment running X3D, Gnome, numerous support extensions and a customer profile containing their files, then twenty minutes later we may have to put that client on hold and revamp the same machine with a remote compiler environment using an NFS mount for /src, all without the need for rebooting.  "BootMan" is a very stripped down recipe from our in-house version which focuses on just the first stage -- 5.x to Current x86/64 swapping.

Has the "bootman" script been tested...  Initially it was submitted because ONE other person needed a way to do the same principle concept and I thought maybe others might have use for the same, but doubtful to be all that many overall.  Was it tested by more than myself?  Yes.  By TWO people!! :)

Can Ext/SysLinux/Grub configs do a better or easier job?
No.

In fact, they don't work at all here.  They can't!
The machines we use our Project Manager system on are all headless rack machines which don't have the ability to select things from a boot menu.

Example: BootMan can jump between Tiny Core v14 x86_64 and seconds later it's running v11 x86.  Each "Version" it runs can all live on the same drive/partition in an organized fashion.

Our in-house version goes the extra step by switching ACTIVE flags between two hard drives in order to determine if it's booting a WIN or NIX based operating system and for NIX, a set of Grub2 config files are swapped in and out to boot from multiple images of Debian, Tiny Core, Ubuntu, CentOS and a few others using hard drive images that are remotely mounted via AoE, NFS, iSCSI or SMB.  (A similar version exists for non-86 processors.)

mocore:
hi CentralWare

thanks for the explanation / background of your motivations for writing bootman

(just replying quickly (while bleary eyed & un-caffeinated) to one point)



--- Quote from: CentralWare on September 22, 2024, 02:01:03 AM ---Can Ext/SysLinux/Grub configs do a better or easier job?
No.

In fact, they don't work at all here.  They can't!
The machines we use our Project Manager system on are all headless rack machines which don't have the ability to select things from a boot menu.


--- End quote ---

afaik / fwiw it is possible to configure  other boot-loaders to boot a default menu entry
with out user interaction to manually "select things from a boot menu."

aka
"other horsemen loaders can ride boot headless two"

thanks again for the script

Navigation

[0] Message Index

[#] Next page

Go to full version