archfi icon indicating copy to clipboard operation
archfi copied to clipboard

Also, add LVM support, LUKS auto-partitioning, BTRFS auto/manual subvolumes and swap files.

Open lan-vuhoang opened this issue 5 years ago • 6 comments

Also, add LVM support, LUKS auto-partitioning, BTRFS auto/manual subvolumes and swap files. Because if Manjaro Architect has all of them, then why not this?

lan-vuhoang avatar May 01 '20 03:05 lan-vuhoang

It's very difficult to provide all part shemes... Long time ago, I've tried to do a part wizard : https://github.com/MatMoul/archfi/tree/partwizard Last commit 2015 With my free time, I can't work on this now...

MatMoul avatar May 08 '20 20:05 MatMoul

But there's still time.

lan-vuhoang avatar May 30 '20 14:05 lan-vuhoang

Man, don't force him too much. Let him work on the script when he is up to. I am sure we all prefer quality instead of quantity.

ghost avatar May 31 '20 17:05 ghost

An example for creating btrfs subvolumes for /, /home, /var, /opt, /tmp, /srv, /.snapshots and /swap for a swap file on /dev/sda1 from ermannoferrari's tutorial:

# mkfs.btrfs /dev/sda1 # mount /dev/sda1 /mnt # btrfs su cr /mnt/@root # btrfs su cr /mnt/@home # btrfs su cr /mnt/@srv # btrfs su cr /mnt/@opt # btrfs su cr /mnt/@var # btrfs su cr /mnt/@tmp # btrfs su cr /mnt/@swap # btrfs su cr /mnt/@snapshots

Unmount the partition:

# umount /mnt

lan-vuhoang avatar Jun 21 '20 02:06 lan-vuhoang

Mounting these subvolumes: (noatime = no access time; space_cache = cache free space; compress = compression, could be lzo, zstd or zlib, requires the according package; subvol = mount a subvolume) (again assuming that the partition is on /dev/sda1)

# mount -o noatime,space_cache,compress=lzo,subvol=@root /dev/sda1 /mnt # mkdir /mnt/{boot,home,var,tmp,opt,srv,swap,.snapshots} # mount -o noatime,space_cache,compress=lzo,subvol=@home /dev/sda1 /mnt/home # mount -o noatime,space_cache,compress=lzo,subvol=@tmp /dev/sda1 /mnt/tmp # mount -o noatime,space_cache,compress=lzo,subvol=@opt /dev/sda1 /mnt/opt # mount -o noatime,space_cache,compress=lzo,subvol=@srv /dev/sda1 /mnt/srv # mount -o noatime,space_cache,,compress=lzo,subvol=@snapshots /dev/sda1 /mnt/.snapshots

/var and /swap needs specific options: (nodatacow = no data copy-on-write)

# mount -o nodatacow,subvol=@var /dev/sda1 /mnt/var # mount -o nodatacow,subvol=@swap /dev/sda1 /mnt/swap

Mount the EFI partition (assume that it's on /dev/sda2):

# mount /dev/sda2 /mnt/boot

btrfs-progs is required for btrfs support. Add btrfs to the MODULES="..." section in /etc/mkinitcpio.conf, then regenerate initcpio:

# mkinitcpio -p linux

Create the swap file: (Example: 512M, adjust count accordingly)

# dd if=/dev/zero of=/swapfile bs=1M count=512 status=progress

On a btrfs subvolume:

# dd if=/dev/zero of=/swap/swapfile bs=1M count=512 status=progress

btrfs swapfile attributes:

# chattr +C /swap/swapfile # btrfs property set /swap/swapfile compression none

Setting permissions: (Use /swap/swapfile instead of /swapfile if on btrfs)

# chmod 600 /swapfile

Formatting it to swap and enable it: (Use /swap/swapfile instead of /swapfile if on btrfs)

# mkswap /swapfile # swapon /swapfile

Add an entry to /etc/fstab: (Again, use /swap/swapfile if on btrfs)

/swapfile none swap defaults 0 0

Replace linux with linux-lts or any other kernels that are chosen.

grub-btrfs is required for btrfs snapshots.

lan-vuhoang avatar Jun 21 '20 03:06 lan-vuhoang

Even if there is not a dandy fs customized menu with checkboxes, it would still be better than nothing to just add a "do you want to to specify mount options" question.

mirh avatar Sep 10 '20 23:09 mirh

Closing old issue...

MatMoul avatar Nov 18 '22 01:11 MatMoul