Grub multiboot / convert grub to systemd-boot

Hello, noob question, im not experienced with grub much
I'm mainly using garuda as primary gaming system on M2 ssd, and on second SSD using linux mint as some normal system and that's is fine, automatically grub updated mint entry, and i can boot mint from garuda's grub

But here is the thing, i have removed mint SSD and added another SSD with NixOS, and right now garuda grub doesn't see Nix, and Nix added linux boot manager, which i don't want to use, i would still like to use garuda boot manager with nix option as well

Would you help me with adding entry to grub? when i have checked grub.cfg there was a lot of entries for mint, is there any easy way to add another linux?
Do you need any additional informations?

System:
  Kernel: 6.4.10-zen2-1-zen arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
    clocksource: tsc available: hpet,acpi_pm
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
    root=UUID=6f7982fa-f801-4a9f-a47e-a2cd8f08ee86 rw rootflags=subvol=@
    quiet quiet rd.udev.log_priority=3 vt.global_cursor_default=0
    resume=UUID=4fb2a623-f3ae-4757-9e65-4eb2471f1194 loglevel=3 ibt=off
  Desktop: KDE Plasma v: 5.27.7 tk: Qt v: 5.15.10 wm: kwin_x11 vt: 2
    dm: SDDM Distro: Garuda Linux base: Arch Linux
Machine:
  Type: Desktop Mobo: Gigabyte model: B450 AORUS ELITE
    serial: <superuser required> UEFI: American Megatrends LLC. v: F65a
    date: 02/09/2023
CPU:
  Info: model: AMD Ryzen 7 5700G with Radeon Graphics bits: 64 type: MT MCP
    arch: Zen 3 gen: 4 level: v3 note: check built: 2021-22
    process: TSMC n7 (7nm) family: 0x19 (25) model-id: 0x50 (80) stepping: 0
    microcode: 0xA50000D
  Topology: cpus: 1x cores: 8 tpc: 2 threads: 16 smt: enabled cache:
    L1: 512 KiB desc: d-8x32 KiB; i-8x32 KiB L2: 4 MiB desc: 8x512 KiB
    L3: 16 MiB desc: 1x16 MiB
  Speed (MHz): avg: 1681 high: 2918 min/max: 1400/4672 boost: disabled
    scaling: driver: acpi-cpufreq governor: ondemand cores: 1: 1400 2: 1400
    3: 1614 4: 1400 5: 1400 6: 1400 7: 1697 8: 1414 9: 2492 10: 1955 11: 1400
    12: 1400 13: 1917 14: 1695 15: 2918 16: 1400 bogomips: 121370
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
  Vulnerabilities: <filter>
Graphics:
  Device-1: AMD Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT]
    vendor: Sapphire driver: amdgpu v: kernel arch: RDNA-2 code: Navi-2x
    process: TSMC n7 (7nm) built: 2020-22 pcie: gen: 4 speed: 16 GT/s
    lanes: 16 ports: active: HDMI-A-1 empty: DP-1,DP-2,DP-3 bus-ID: 03:00.0
    chip-ID: 1002:73df class-ID: 0300
  Display: x11 server: X.Org v: 21.1.8 with: Xwayland v: 23.1.2
    compositor: kwin_x11 driver: X: loaded: amdgpu unloaded: modesetting,radeon
    alternate: fbdev,vesa dri: radeonsi gpu: amdgpu display-ID: :0 screens: 1
  Screen-1: 0 s-res: 2560x1440 s-dpi: 96 s-size: 677x381mm (26.65x15.00")
    s-diag: 777mm (30.58")
  Monitor-1: HDMI-A-1 mapped: HDMI-A-0 model: Samsung LC27G5xT
    serial: <filter> built: 2021 res: 2560x1440 hz: 60 dpi: 109 gamma: 1.2
    size: 597x336mm (23.5x13.23") diag: 685mm (27") ratio: 16:9 modes:
    max: 2560x1440 min: 720x400
  API: OpenGL v: 4.6 Mesa 23.1.5 renderer: AMD Radeon RX 6700 XT (navi22
    LLVM 15.0.7 DRM 3.52 6.4.10-zen2-1-zen) direct-render: Yes
Audio:
  Device-1: AMD Navi 21/23 HDMI/DP Audio driver: snd_hda_intel v: kernel pcie:
    gen: 4 speed: 16 GT/s lanes: 16 bus-ID: 03:00.1 chip-ID: 1002:ab28
    class-ID: 0403
  Device-2: AMD Renoir Radeon High Definition Audio driver: snd_hda_intel
    v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 16 link-max: gen: 4
    speed: 16 GT/s bus-ID: 0a:00.1 chip-ID: 1002:1637 class-ID: 0403
  Device-3: AMD Family 17h/19h HD Audio vendor: Gigabyte
    driver: snd_hda_intel v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 16
    link-max: gen: 4 speed: 16 GT/s bus-ID: 0a:00.6 chip-ID: 1022:15e3
    class-ID: 0403
  API: ALSA v: k6.4.10-zen2-1-zen status: kernel-api with: aoss
    type: oss-emulator tools: N/A
  Server-1: PipeWire v: 0.3.77 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl
Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
    vendor: Gigabyte driver: r8169 v: kernel pcie: gen: 1 speed: 2.5 GT/s
    lanes: 1 port: e000 bus-ID: 06:00.0 chip-ID: 10ec:8168 class-ID: 0200
  IF: eno1 state: up speed: 1000 Mbps duplex: full mac: <filter>
Bluetooth:
  Device-1: Cambridge Silicon Radio Bluetooth Dongle (HCI mode) driver: btusb
    v: 0.8 type: USB rev: 2.0 speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-9:4
    chip-ID: 0a12:0001 class-ID: e001
  Report: btmgmt ID: hci0 rfk-id: 0 state: down bt-service: disabled
    rfk-block: hardware: no software: yes address: N/A
Drives:
  Local Storage: total: 1.56 TiB used: 408.55 GiB (25.5%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Samsung model: SSD 980 PRO 1TB
    size: 931.51 GiB block-size: physical: 512 B logical: 512 B speed: 63.2 Gb/s
    lanes: 4 tech: SSD serial: <filter> fw-rev: 5B2QGXA7 temp: 34.9 C
    scheme: GPT
  ID-2: /dev/sda maj-min: 8:0 vendor: GOODRAM model: SSDPR-CL100-480-G2
    size: 447.13 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
    tech: SSD serial: <filter> fw-rev: V4.9 scheme: MBR
  ID-3: /dev/sdb maj-min: 8:16 vendor: PNY model: CS900 240GB SSD
    size: 223.57 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
    tech: SSD serial: <filter> fw-rev: 0615 scheme: GPT
Partition:
  ID-1: / raw-size: 100 GiB size: 100 GiB (100.00%) used: 27.74 GiB (27.7%)
    fs: btrfs dev: /dev/nvme0n1p3 maj-min: 259:3
  ID-2: /boot/efi raw-size: 4 GiB size: 3.99 GiB (99.80%)
    used: 576 KiB (0.0%) fs: vfat dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-3: /home raw-size: 811.51 GiB size: 811.51 GiB (100.00%)
    used: 380.81 GiB (46.9%) fs: btrfs dev: /dev/nvme0n1p4 maj-min: 259:4
  ID-4: /var/log raw-size: 100 GiB size: 100 GiB (100.00%)
    used: 27.74 GiB (27.7%) fs: btrfs dev: /dev/nvme0n1p3 maj-min: 259:3
  ID-5: /var/tmp raw-size: 100 GiB size: 100 GiB (100.00%)
    used: 27.74 GiB (27.7%) fs: btrfs dev: /dev/nvme0n1p3 maj-min: 259:3
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
  ID-1: swap-1 type: zram size: 31.21 GiB used: 14.8 MiB (0.0%)
    priority: 100 comp: zstd avail: lzo,lzo-rle,lz4,lz4hc,842 max-streams: 16
    dev: /dev/zram0
  ID-2: swap-2 type: partition size: 16 GiB used: 0 KiB (0.0%) priority: -2
    dev: /dev/nvme0n1p1 maj-min: 259:1
Sensors:
  System Temperatures: cpu: 30.8 C mobo: N/A gpu: amdgpu temp: 34.0 C
    mem: 34.0 C
  Fan Speeds (rpm): N/A gpu: amdgpu fan: 895
Info:
  Processes: 355 Uptime: 6m wakeups: 0 Memory: total: 32 GiB
  available: 31.21 GiB used: 3.11 GiB (10.0%) Init: systemd v: 254
  default: graphical tool: systemctl Compilers: gcc: 13.2.1 Packages:
  pm: pacman pkgs: 1819 libs: 526 tools: octopi,paru,yay Shell: fish v: 3.6.1
  running-in: konsole inxi: 3.3.29
Garuda (2.6.16-1):
  System install date:     2023-06-03
  Last full system update: 2023-08-17
  Is partially upgraded:   No
  Relevant software:       snapper NetworkManager dracut
  Windows dual boot:       No/Undetected
  Failed units:            

Check /etc/default/grub.

# Probing for other operating systems is disabled for security reasons. Read
# documentation on GRUB_DISABLE_OS_PROBER, if still want to enable this
# functionality install os-prober and uncomment to detect and include other
# operating systems.
GRUB_DISABLE_OS_PROBER=false

Now

sudo update-grub
1 Like

In my grub it's uncommented

i did sudo update-grub so that now removed mint as it's not connected, but still not seeing NixOS which is connected on second SSD

mounted?

lsblk

IDK nothing about nix (nichts) so, did you check the web about?

1 Like

yes, it is mounted

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda           8:0    0 447,1G  0 disk
└─sda1        8:1    0 447,1G  0 part
sdb           8:16   0 223,6G  0 disk
├─sdb1        8:17   0   512M  0 part
└─sdb2        8:18   0 223,1G  0 part
zram0       253:0    0  31,2G  0 disk [SWAP]
nvme0n1     259:0    0 931,5G  0 disk
├─nvme0n1p1 259:1    0    16G  0 part [SWAP]
├─nvme0n1p2 259:2    0     4G  0 part /boot/efi
├─nvme0n1p3 259:3    0   100G  0 part /var/tmp
└─nvme0n1p4 259:4    0 811,5G  0 part /home

I was checking some articles, but not found much, nothing that would be helpfull, will dig a little more

NixOS on sdb2?

Summary
lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
zram0       254:0    0  15,2G  0 disk [SWAP]
nvme0n1     259:0    0 476,9G  0 disk 
├─nvme0n1p1 259:1    0   260M  0 part /boot/efi
├─nvme0n1p2 259:2    0    16M  0 part 
├─nvme0n1p3 259:3    0  92,8G  0 part /run/media/sgs/Windows-SSD
├─nvme0n1p4 259:4    0  1000M  0 part 
├─nvme0n1p5 259:5    0   250G  0 part /run/media/sgs/i3wm
└─nvme0n1p6 259:6    0 132,9G  0 part /var/tmp
                                      /var/cache
                                      /var/log
                                      /srv
                                      /root
                                      /home
                                      /

boot/efi 4GB, thats much.

2 Likes

yes, it's on sdb2, right it's much, but im noob, so i wanted to have like multiple kernels, i haven't worked with garuda, or rolling release before, so i didn't know how much space would be fine, last time on mint i went out of space :slight_smile:

You can check with

lsblk -f
├─nvme0n1p1 vfat   FAT32 SYSTEM_DRV  6469-0837    222,5M    13% /boot/efi
1 Like

ok seems that there is no mountpoint for nixos

NAME        FSTYPE FSVER LABEL UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
sda
└─sda1      ntfs               0A18FDCF18FDB9B1
sdb
├─sdb1      vfat   FAT32       2D35-F10C
└─sdb2      ext4   1.0         221d3663-bbc8-4896-9ebb-53a57f656d6f
zram0                                                                              [SWAP]
nvme0n1
├─nvme0n1p1 swap   1           4fb2a623-f3ae-4757-9e65-4eb2471f1194                [SWAP]
├─nvme0n1p2 vfat   FAT32       E318-798C                                 4G     0% /boot/efi
├─nvme0n1p3 btrfs              6f7982fa-f801-4a9f-a47e-a2cd8f08ee86                /var/tmp
└─nvme0n1p4 btrfs              feecb3b7-abd6-46e7-bdba-d92968cb428c  430,9G    47% /home

Do i need to add some entry inside /boot/efi/ ?
Some uuid is passed, do i need to use it?

Check also

efibootmgr

Or boot from BIOS.

???

1 Like

Just noob question on that /boot/efi i saw on some forum post, that user has in /boot/efi/ like arch and ubuntu

BootCurrent: 0001
Timeout: 1 seconds
BootOrder: 0001,0003,0000,0002
Boot0000  Garuda        HD(2,GPT,751a2103-5fe1-b342-a5f1-f4fda611aa23,0x2000800,0x800000)/File(\EFI\GARUDA\GRUBX64.EFI)
Boot0001* UEFI OS       HD(2,GPT,751a2103-5fe1-b342-a5f1-f4fda611aa23,0x2000800,0x800000)/File(\EFI\BOOT\BOOTX64.EFI)0000424f
Boot0002  Linux Boot Manager    HD(1,GPT,bba2c3ca-7069-bd4a-8388-b748231a2782,0x1000,0x100000)/File(\EFI\SYSTEMD\SYSTEMD-BOOTX64.EFI)
Boot0003* UEFI OS       HD(1,GPT,bba2c3ca-7069-bd4a-8388-b748231a2782,0x1000,0x100000)/File(\EFI\BOOT\BOOTX64.EFI)0000424f

boot order i was setting up in bios

i have found some forum post

https://www.reddit.com/r/NixOS/comments/133fkp7/grub_with_nixos/

And i have found garuda forum post on systemd boot that you @SGS have provided some answer

ok so what i have found, is to remove grub and replace it with systemd-boot

also found that maybe Leo user could help me with replacing that grub

IDK, just wait for our grub, systemd-boot (?) and refind professionals. :slight_smile:

Ill wait :smiley: don't have any other idea right now, thanks @SGS

Found some vid on converting grub to systemd boot, any other/easier way to do it?

Digged a little more, and found that
https://www.reddit.com/r/NixOS/comments/ko83n8/nixos_installed_as_second_os_on_btrfs_subvolume/

OK i have managed to add for nixos entry to grub in garuda, but when i click on nixos, its blackscreen with press to continue, when i press it coming back to grub menu

menuentry "NixOS" {
    insmod part_gpt
    insmod ext4
    rmmod tpm
    set root='hd0,gpt10'
    configfile /boot/grub/grub.cfg
}

i have updated /etc/grub.d/40_custom to similliar what is inside /etc/grub/grub.cfg in garuda

menuentry "NixOS" {
    insmod part_gpt
    insmod ext4
    rmmod tpm
    search --no-floppy --fs-uuid --set=root 170f01fe-9278-4f97-b426-345d564c060d
    configfile /boot/grub/grub.cfg
}

but still no luck with loading up nix system

Any grub magician could help?

If you want to do that with Garuda, you should read this first.

1 Like

yea i was reading that, i would like to add multiboot to grub rather, but i need to do more reading, not sure why i'm getting 'press any key to continue' when trying to boot nixos from grub menu
i know that there are some problems with nixos and grub, but maybe someone could help

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.