classy-giraffe / easy-arch Goto Github PK
View Code? Open in Web Editor NEWScript for boostrapping Arch Linux with BTRFS, snapshots and LUKS encryption (UEFI only).
Home Page: https://classy-giraffe.github.io/easy-arch
License: Apache License 2.0
Script for boostrapping Arch Linux with BTRFS, snapshots and LUKS encryption (UEFI only).
Home Page: https://classy-giraffe.github.io/easy-arch
License: Apache License 2.0
Hello there, great work!
Reading through the script I had a few suggestions:-
base-devel
is missing. It already includes a bunch of stuff like sudo, gawk, gcc, automake and others. I realize that some users may not want all of the things so we should definitely keep a condition (like the kernel choices but only yes/no for this one) whether the user wants to install this package or not.I would definitely like to add them myself as soon as I can, but real-life is keeping me busy atm.
How can I install arch using this script if my system don't support UEFI boot, can I use this on bios too?
I'm starting this issue being totally honest: I hate GRUB so my opinion on it may be biased, which is why I'm asking for your opinions, as you people are the main users of this project and I value your input more than mine. The question is: Should we move to rEFInd or stay on GRUB (or maybe even some other bootloader)? The reason I'm asking this is because I totally dislike GRUB, it's a big program we probably don't even need and the only reason we're using it is for booting into BTRFS snapshots, other than that it's useless. This combined to the fact that now rEFInd can be used to boot into snapshots, hence my question. You're asked to express your sincere opinion. Cheers, tommy! ๐
Hi I like your script,
I want to ask that if I modify this script and Publish it with credits does It get copyright clam.
Thank you
Previously, the script mounts the ESP partition as /boot, and it made sense to have 512MB allocated to it. However, since /boot is now a subvolume and the ESP partition is mounted as /boot/efi (which only contains grubx64.efi), I think its reasonable to reduce it to ~300 MB or even less.
This is actually an enhancement request I guess.
It is now adviseable to have a 1G boot partition rather than a 512M.
It would be nice to make the LUKS2 encryption and option. I forked the script to my own github account with the intent of removing the LUKS encryption. For my personal use it is a waste of time to use it.
However, I'm having a slight issue trying to figure out what I need to do to disable that.
I think the setup script should also auto setup some security beyond disk encryption.
A MAC system is important for security, but a lot of new users actually forget to set it up (which does not help by the fact that a lot of guides completely ignore this topic). On Arch, it seems like AppArmor is the only mature and readily available MAC system. SELinux on Arch is still a WIP and doesn't seem to have a default targetted policies like Fedora/Red Hat, and I have never seen any major linux distros using Tomoyo. AppArmor is also needed to confine Snap packages should the user choose to install them. Thus, I think we should just install and enable AppArmor out of the box. What do you think?
Hello!
Sorry in advance - I have a very Arch-newbie question. (was kind of hoping "easy-arch" would make things easy, heh)
After your script finishes installing, a reboot boots into GRUB, where I assume I'm supposed to be loading the kernel with the linux
command and initialize other things with initrd
, but none of the commands I've been finding from google have worked for me. Can you pretty please tell me how to boot into Arch from GRUB?
There's an active discussion on the Arch subreddit about how the official Arch installation guide could be more user friendly. Seeing how your script might be found by other newbies, maybe it would help to add basic instructions for using GRUB into this repo's README? I'm aware this repo isn't exactly aimed at beginners, but helping people get started with BTRFS and ZRAM is probably a good thing.
Hopefully I haven't done something completely wrong.
set root=(hd0,gpt1)
linux /vmlinuz-linux
boot
Gets me:
error: no suitable video mode found.
Booting in blind mode
But it doesn't go anywhere from there. I'm guessing I still need to figure out the initrd
bit.
EDIT:
Just noticed I'm not the only one not enjoying GRUB.
Did you give up on rEFInd?
On a fresh install using this script, the wheel group is not enabled in the visudo config file.
I didn't now if you chose that behavior but, maybe you can add a line of text saying that:"by default the system don't have the wheel group uncommented from the visudo file, ecc...".
If u won't i can edit maybe the last output text of the script to make the script saying something like that.
best
First I want to say that easy-arch is the perfect script for my laptop.
Propositions I will be happy to see and test if you implement one ore both of them:
I don't think the way it sets up unencrypted swap right now is a good idea. I think its better to encrypt it using dmcrypt or just to switch to zram and use the same configuration as Fedora does.
Hey! Looking for any help to get this working on my laptop, which seems to be having hardware related complications (or maybe UEFI settings?).
These are the errors that pop up during installation and lead to a non-bootable drive:
sed: can't read /mnt/etc/locale.gen: No such file or directory
warning: /mnt/etc/fstab installed as /mnt/etc/fstab.pacnew
warning: /mnt/etc/hosts installed as /mnt/etc/hosts.pacnew
sed: can't read /mnt/etc/default/grub: No such file or directory
useradd: group 'users' does not exist
useradd: the GROUP= configuration in /etc/default/useradd will be ignored
useradd: group 'wheel' does not exist
chpasswd: (user jasper) pam_chauthtok() failed, error:
User not known to the underlying authentication module
chpasswd: (line 1, user jasper) password not changed
sed: can't read /mnt/etc/pacman.conf: No such file or directory
I've checked that it's not related to:
Any ideas? Thank you in advance.
Describe the bug
After choosing my network manager and kernel the script goes on to use pacman to do it's job and fails with the "Failed to commit transaction (conflicting files) could not install files to new root", percedes with the rest of the automation, and throws errors after fstab creation such as could not read grub config, no chpasswd file or directory like packages were never installed, and ends the script. I can chroot in but im unable to install packages as well.
This is my first time installing arch (switching from kubuntu) and all day ive been unable to follow the Arch Wiki and this to a issue where my machine is unable to even recognize the filesystem like there is no efi (lsblk confirms there is).
Additional context
To Reproduce
I need help I cant install arch using this script on vbox.
as shown in this video
https://drive.google.com/file/d/1AfPKQwGtV3jOt6elgWQaxG-3nggX1n0s/view?usp=drivesdk
Describe the bug
Script forces to erase all partition layout on disk, even if there's sufficient unused space on partition table, in a scenario where existing Windows would like to be kept intact for dual boot
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Present dialog that new partitions will be created for boot and encrypted root, use default size for boot ie 2gb and allocate rest of free space to root.
what should I replace in the script if I want to use btrfs swap subvolume with swapfile? suspend & hibernate requires swap.
Hello, I'm curious why the script doesn't ask for a normal user and only leaves root as the initial user.
My extensive fork here has that feature. I wonder if it is a good idea if I create a pull request for that.
Thank you for your script.
Hi, I saw that you first create the subvolume .snapshots, mount it and later on you create the snapper config and delete the subvolume and create a directory .snapshots and mount that directory. Are this correct steps for setting up snapper or did you write too many lines? I'm asking seriously since it's new to me so I could not be familiar with the steps.
As it stands right now, we seem to be using LUKS1 for no apparent reason. I think we should consider 1 of the following:
Hi,
I think we should adopt suse's layout for subvolumes. In my opinion they have sensible arguments. One thing to note is that we don't have to create subvolume for /tmp since it's by default tmpfs. I don't know what about /boot, maybe you have an idea? Source
Hi, I think that default mount options should be revisited. I don't think we need "ssd" since btrfs can automatically detect disk type. Another option "autodefrag" in my opinion should be avoided since defragmentation reduces lifespan of SSDs. And for the space_cache I think it should be renamed to space_cache=v2 discussion: 1, 2
Lines 135 to 137 in 80ffc96
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.