Add FydeOS Entry to GRUB Loader

FydeOS a fork of chrome OS is very famous now a days. I wanted to give it a try as well. Its installation is very simple. You just need to create extra space for this Operating System and can be read at official page https://faq.fydeos.com/en/recipes/dual-boot/#1-make-room-for-fydeos.

I already had dual boot operating systems Windows & Ubuntu with GRUB bootloader. All I needed was to install this new operating system and have an entry in GRUB. Although FydeOS installation provides another bootloader rEFIND but I did not want additional boot loader. Instead I wanted to boot into FydeOS via GRUB.

Screenshot of my installation is as follows. I installed FydeOS on sda8 drive and selected not to install rEFIND bootloader.

After installing FydeOS, I moved down the FydeOS UEFI entry & kept Ubuntu’s GRUB UEFI entry at the top.

Next step is to add FydeOS entry in the GRUB menu. For this let’s go to EFI partition and get whatever was done by automatic UEFI entry during installation

I am copy pasting contents of this file /boot/efi/EFI/fydeos/grub.cfg from drive /dev/sda2

#FydeOS 2020-08-24 Author: yang@fydeos.io

defaultA=0
defaultB=1
set img=/fydeos/fydeos_dual_boot.img
search –label –set root FYDEOS-DUAL-BOOT
loopback loopdev $img
gptpriority loopdev 2 prioA
gptpriority loopdev 4 prioB
if [ $prioA -lt $prioB ]; then
set default=$defaultB
else
set default=$defaultA
fi

set timeout=1

#NOTE: find rootfs by label (not partion label)

menuentry “FydeOS multi-boot A” {
linux (loopdev,gpt12)/syslinux/vmlinuz.A init=/sbin/init root=/dev/sda8 boot=local rootwait noresume noswap ro loglevel=7 console= i915.modeset=1 cros_efi cros_debug fydeos_dualboot audit=0 audit=0
initrd /boot/dual_boot_ramfs.cpio.xz
}

menuentry “FydeOS multi-boot B” {
linux (loopdev,gpt12)/syslinux/vmlinuz.B init=/sbin/init root=/dev/sda8 boot=local rootwait noresume noswap ro loglevel=7 console= i915.modeset=1 cros_efi cros_debug fydeos_dualboot audit=0 audit=0
initrd /boot/dual_boot_ramfs.cpio.xz
}

menuentry “FydeOS Recovery Tools” {
linux /boot/fydeos_vmlinuzB init=/sbin/init root=/dev/sda8 boot=local rootwait noresume noswap ro loglevel=7 console= i915.modeset=1 cros_efi cros_debug audit=0 audit=0
initrd /boot/core_util_ramfs.cpio.xz
}

From this file I will copy paste few of the contents in the grub config file. To do that I need to first switch to super user account

sudo -i

nano /etc/grub.d/40_custom

then add the following lines to the end of the file. These lines are grouped from above text file

menuentry "FydeOS" {
set root='(hd0,8)'
set img=/fydeos/fydeos_dual_boot.img
search --label --set root FYDEOS-DUAL-BOOT
loopback loopdev $img
linux (loopdev,gpt12)/syslinux/vmlinuz.A init=/sbin/init root=/dev/sda8 boot=local rootwait noresume noswap ro loglevel=7 console= i915.modeset=1 cros_efi cros_debug fydeos_dualboot audit=0 audit=0
initrd /boot/dual_boot_ramfs.cpio.xz
}

screenshot for clarification is also attached

then execute the command to re-build grub

update-grub

Congrats here you go now

OCEJBCD -1. GitHub repository clone in Eclipse using eGit

I am planning for Enterprise JavaBeans Developer (1z0-895) certification & for this certification preparation I am setting up a public repository on GitHub. Hopefully I will be sharing my preparation in the coming posts. This time I will share how to configure eclipse to connect to the repository on GitHub.

Continue reading

Java Multi-threading/Concurrency – 1. Threads

Learning threading is very important in order to achieve maximum performance by utilizing maximum processors and/or as per requirement. In my personal opinion every Java application uses threads even our simple program is multi-threaded as well. When the JVM starts, it creates threads for JVM housekeeping tasks such as garbage collection alongwith main thread for running the main method.  In this post I will share a little and introductory knowledge on threads and some of the connected areas with the threads.

Continue reading