Giter Site home page Giter Site logo

Comments (4)

HanM23 avatar HanM23 commented on June 8, 2024

EDIT : it does not work either with no encryption. I got the following error during grub installation : /efi/grub/grub.cfg : no such file or directory.

grub.cfg should not be there, it should be in the root filesystem /boot/grub/grub.cfg

My partition layout is simple, in manual mode :

  1. /efi partition with boot and esp flags
  2. btrfs filesystem with recommanded sub layout

How do you manager that have this setup ?

  • /efi partition
  • btrfs filesystem with /boot directory
  • grub
  • luks optionally

Below is my actual json

{
    "additional-repositories": [],
    "archinstall-language": "English",
    "audio_config": {
        "audio": "pipewire"
    },
    "bootloader": "Grub",
    "config_version": "2.7.2",
    "custom-commands": [
        "echo 'GRUB_ENABLE_CRYPTODISK=y' >>/etc/default/grub"
    ],
    "debug": false,
    "disk_config": {
        "config_type": "manual_partitioning",
        "device_modifications": [
            {
                "device": "/dev/sda",
                "partitions": [
                    {
                        "btrfs": [],
                        "dev_path": null,
                        "flags": [
                            "Boot",
                            "ESP"
                        ],
                        "fs_type": "fat32",
                        "mount_options": [],
                        "mountpoint": "/efi",
                        "obj_id": "ad3ea5b1-a146-40ec-af8a-9370465425d1",
                        "size": {
                            "sector_size": {
                                "unit": "B",
                                "value": 512
                            },
                            "unit": "B",
                            "value": 499982592
                        },
                        "start": {
                            "sector_size": {
                                "unit": "B",
                                "value": 512
                            },
                            "unit": "sectors",
                            "value": 34
                        },
                        "status": "create",
                        "type": "primary"
                    },
                    {
                        "btrfs": [
                            {
                                "compress": true,
                                "mountpoint": "/",
                                "name": "@",
                                "nodatacow": false
                            },
                            {
                                "compress": true,
                                "mountpoint": "/home",
                                "name": "@home",
                                "nodatacow": false
                            }
                        ],
                        "dev_path": null,
                        "flags": [],
                        "fs_type": "btrfs",
                        "mount_options": [],
                        "mountpoint": null,
                        "obj_id": "b7f6d781-bd31-467e-abc4-12a6008df7a2",
                        "size": {
                            "sector_size": {
                                "unit": "B",
                                "value": 512
                            },
                            "unit": "B",
                            "value": 8711776416
                        },
                        "start": {
                            "sector_size": {
                                "unit": "B",
                                "value": 512
                            },
                            "unit": "MB",
                            "value": 501
                        },
                        "status": "create",
                        "type": "primary"
                    }
                ],
                "wipe": false
            }
        ]
    },
    "disk_encryption": {
        "encryption_type": "luks",
        "partitions": []
    },    
    "hostname": "archlinux",
    "kernels": [
        "linux"
    ],
    "locale_config": {
        "kb_layout": "us",
        "sys_enc": "UTF-8",
        "sys_lang": "en_US"
    },
    "mirror_config": {
        "custom_mirrors": [],
        "mirror_regions": {
            "Germany": [
                "https://pkg.fef.moe/archlinux/$repo/os/$arch"                
            ]
        }
    },
    "network_config": {
        "type": "nm"
    },
    "no_pkg_lookups": false,
    "ntp": true,
    "offline": false,
    "packages": [
        "firefox",
        "networkmanager",
        "btrfs-progs",
        "linux-headers",
        "e2fsprogs"
    ],
    "parallel downloads": 0,
    "profile_config": {
        "gfx_driver": "Nvidia (proprietary)",
        "greeter": "sddm",
        "profile": {
            "custom_settings": {
                "Kde": {}
            },
            "details": [
                "Kde"
            ],
            "main": "Desktop"
        }
    },
    "script": "guided",
    "silent": false,
    "skip_ntp": false,
    "skip_version_check": false,
    "swap": true,
    "timezone": "Europe/Paris",
    "uki": false,
    "version": "2.7.2"
}

from archinstall.

Xeckt avatar Xeckt commented on June 8, 2024

EDIT : it does not work either with no encryption. I got the following error during grub installation : /efi/grub/grub.cfg : no such file or directory. grub.cfg should not be there, it should be in the root filesystem /boot/grub/grub.cfg

If you're specifying a boot flag, and an efi partition for grub, like you have done:

"bootloader": "Grub",
    "config_version": "2.7.2",
    "custom-commands": [
        "echo 'GRUB_ENABLE_CRYPTODISK=y' >>/etc/default/grub"
    ],
    "debug": false,
    "disk_config": {
        "config_type": "manual_partitioning",
        "device_modifications": [
            {
                "device": "/dev/sda",
                "partitions": [
                    {
                        "btrfs": [],
                        "dev_path": null,
                        "flags": [
                            "Boot",
                            "ESP"
                        ],
                        "fs_type": "fat32",
                        "mount_options": [],
                        "mountpoint": "/efi",

Then it's going to install grub there.

But your issue is different, you're asking if you can away with the boot partition, which doesn't align with what you're saying:

grub.cfg should not be there, it should be in the root filesystem /boot/grub/grub.cfg

grub.cfg should be in /efi if you want to away with /boot - but it's not recommended this way. /boot is for handling boot related behaviour, not efi entries. I recommend you do basic manual partitioning and then configure the rest from the cli.

from archinstall.

HanM23 avatar HanM23 commented on June 8, 2024

Hi @Xeckt

I think there is a confusion. Look, my current system i have (installed years ago)

  1. ESP partition mounted in /boot/efi (with both esp and boot flags) because it was recommended in arch wiki
  2. Boot folder within the btrfs filesystem where there is grub, kernel, initram and so on.

i want to keep this kind of setup because with a esp fat32 partition mounted in /boot, it causes problems with btrfs snapshot, kernel and initram are not 'embedded' in a snapshot, so you could have issue when you restore such a snapshot.

Now, in arch wiki, instead of having an esp partition mounted in /boot/efi, they recommend /efi, that is why there is the /efi mountpoint in my json.

What do i have to modify in my json ? Remove the boot flag from the /efi partition ? Or keep having /boot/efi esp partition with both boot and esp flags ?

Thanks

from archinstall.

Xeckt avatar Xeckt commented on June 8, 2024

You would just mount the EFI partition and have it marked as an EFI partition with the boot flag, that EFI will point to the grub inside /boot

from archinstall.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.