I would like to install miniOS on my computer hard drive but the installer do not support multiboot (I have two others Linux distribution on my hard drive).
I have tried to install miniOS with calamares installer (sudo apt install calamares) but without success because there is an error after I type sudo calamares on the terrminal, (calamares do not start)
I have tried for to solve initialization error with sudo nano /etc/calamares/settings.conf but I don't know what parameters I should to insert inside.
So for now I use miniOS with the USB drive, do you have some suggestion?
The following is how I was able to boot minios from the hard drive by selecting it from the grub menu.
The particular minios I used was this one: minios-trixie-xfce-ultra-amd64-5.0.0.iso, and the machine on which the installation occurred was running debian. For other distros, one can make the relevant adjustments. The steps taken to configure minios into grub were done in a terminal as root.
Basically, the issue is to do the following:
1. determine where the minios kernel and initramfs are in the minios filesystem;
2. write a grub menuentry entry using the info from 1. above
3. update grub
Some preliminary work that was done on the installed system was as follows:
To enable the grub menu to appear on screen for some time to consider it, the config for that function was altered in the file
/etc/default/grub to: GRUB_TIMEOUT=15. Then grub was updated. That means that grub in the installed system will keep the grub menu up for 15 seconds before booting the default kernel, unless the user selects one to boot before the 15 seconds is up. It gives the user time to read what's on screen and make a selection in an less hurried way.
Next, to find out where the kernel and initramfs in minios reside on the minios filesystem, and what their full names are, the minios .iso was mounted. To do that one can run as root:
Code:
mount minios-trixie-xfce-ultra-amd64-5.0.0.iso /mnt
Then, once it's mounted, one can navigate to /mnt and find the kernel (vmlinuz...) and the initramfs (initrfs...). The search was as follows:
Code:
[root@fen /]# cd /mnt
[root@fen /mnt]# ls -al
total 12
dr-xr-xr-x 1 root root 2048 Aug 23 21:49 .
drwxr-xr-x 20 root root 4096 Oct 23 19:54 ..
dr-xr-xr-x 1 root root 2048 Aug 23 21:49 .disk
dr-xr-xr-x 1 root root 2048 Aug 23 21:49 EFI
dr-xr-xr-x 1 root root 2048 Aug 23 21:49 minios
[root@fen /mnt]# cd minios/
[root@fen /mnt/minios]# ls -al
total 1674096
dr-xr-xr-x 1 root root 2048 Aug 23 21:49 .
dr-xr-xr-x 1 root root 2048 Aug 23 21:49 ..
-r--r--r-- 1 root root 333049856 Aug 23 21:29 00-core-amd64.sb
-r--r--r-- 1 root root 100540416 Aug 23 21:37 01-kernel-6.12.41+deb13-amd64.sb
-r--r--r-- 1 root root 148090880 Aug 23 21:38 02-firmware-amd64.sb
-r--r--r-- 1 root root 85438464 Aug 23 21:39 03-gui-base-amd64.sb
-r--r--r-- 1 root root 222769152 Aug 23 21:42 04-xfce-desktop-amd64.sb
-r--r--r-- 1 root root 745250816 Aug 23 21:48 05-apps-amd64.sb
-r--r--r-- 1 root root 79122432 Aug 23 21:49 06-firefox-amd64.sb
dr-xr-xr-x 1 root root 2048 Aug 23 21:49 boot
dr-xr-xr-x 1 root root 2048 Aug 23 21:27 changes
-r--r--r-- 1 root root 1100 Aug 23 21:49 config.conf
dr-xr-xr-x 1 root root 2048 Aug 23 21:27 modules
[root@fen /mnt/minios]# cd boot/
[root@fen /mnt/minios/boot]# ls -al
total 28646
dr-xr-xr-x 1 root root 2048 Aug 23 21:49 .
dr-xr-xr-x 1 root root 2048 Aug 23 21:49 ..
-r--r--r-- 1 root root 716352 Aug 23 21:49 bootlogo.png
dr-xr-xr-x 1 root root 2048 Aug 23 21:49 EFI
dr-xr-xr-x 1 root root 4096 Aug 23 21:49 grub
-r--r--r-- 1 root root 16499829 Aug 23 21:49 initrfs-6.12.41+deb13-amd64.img
dr-xr-xr-x 1 root root 4096 Aug 23 21:49 syslinux
-r--r--r-- 1 root root 12101568 Aug 23 21:49 vmlinuz-6.12.41+deb13-amd64
The kernel in the minios filesystem is at: /minios/boot/vmlinuz-6.12.41+deb13-amd64
The initramfs in the minios filesystem is at: /minios/boot/initrfs-6.12.41+deb13-amd64.img
Now one needs to copy all the files and the filesystem of the mounted .iso to a directory on the hard drive that one creates for the purpose. In this case, the new directory was created by root as /iso:
To copy all of the minios mounted at /mnt, to /iso, the following command was used:
It takes a moment to copy about 1.7 gig. When the prompt returns in the terminal, it's wise to run: sync to make sure the buffers are cleared and the copy is complete:
The next step was to write a menuentry entry for grub to add to its menu when booting. The menuentry was added, as root, to the file: /etc/grub.d/40_custom. It's contents looked like the following with the menuentry added to the existing default contents of the file:
Code:
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry "MiniOS (boot ISO from HDD)" {
linux /iso/minios/boot/vmlinuz-6.12.41+deb13-amd64 boot=live from=/iso/minios toram
initrd /iso/minios/boot/initrfs-6.12.41+deb13-amd64.img
}
One can see how the menuentry contains the paths to the kernel and the initramfs, and how the instruction: toram, will place the minios in RAM, and be usable from there.
The next step was to update grub:
Now the mounted minios can be unmounted with the following command as root:
When the machine was rebooted, there was a menuentry for minios, which was selected, and it booted into minios which functioned just as it did when booted earlier from a usb with the .iso file on it.