Discussion:
install Arch on Btrfs - dual boot w10/arch - can't find vmlinuz on boot menu
(too old to reply)
arnaud gaboury via arch-general
2017-04-01 10:27:35 UTC
Permalink
Raw Message
I followed the arch install wiki to install arch alongside w10 and dual
boot. (w10 was already installed).
Here is a summarize of the output of fdisk:
----------------------------------------------
# fdisk -l
Disk /dev/nvme0n1

/dev/nvme0n1p1........ 260M EFI System
/dev/nvme0n1p3......... 186G Microsoft basic data
/dev/nvme0n1p6......... 264.7G Linux filesystem
--------------------------------------------------------

I formatted the Linux partition with Btrfs. In short:
# mkdir /mnt/btrfs
# cd /mnt/btrfs
# btrfs subvolume create /mnt/home
I created this way 5 subvol: ROOT, home, etc, .snapshots, development
---------------------------------------------------------------------

Then generated fstab. Here I have a first doubt about how it has been done.
The first line is :
------------------------------------------
#/dev/nvme0n1p6 LABEL=daffodil-root
UUID=xxxyyyyy / btrfs
rw,noatime,compress=lzo,ssd,subvolid=261,subvol=/ROOT,subvol=ROOT 0 0
----------------------------------------------

---> Question 1: why twice subvol ? Is it normal or shall I delete one?

Then, still on install, I followed systemd-boot wiki. Once arch installed
and chrooted, I did the following (*here I have doubts about my method*).
I
1- mounted the EFI partition (/dev/nvme0n1p1) on /boot
2- bootctl --path=/boot install
3- copied the linux stuff (initramfs, vmlinuz...) on /boot. I finished with
a /boot folder populated as described in systemd-boot articles.
---> Question 2 Then I wrote an enter in fstab for the vfat boot partition.
I AM NOT SURE AT ALL I have to do this.

Once installed finished, I rebooted. The systemd-boot menu appeared as
expected, but didn't work as it was unable to find vmlinuz neither w10.

~~~~
Back to the install script, I try to fix things now.

I first mounted the Linux partition in /mnt. I can see all the created
btrfs subvol when running btrfs subvolume list
----------------------------
# btrfs subvolume list -p /mnt
ID 261 gen 179 parent 5 top level 5 path ROOT
.....
ID 267 gen 35 parent 261 top level 261 path ROOT/var/lib/machines
---------------------------------------
A few questions:
------> Question 3 : why this line about systemd machines? Is it expected?
------> Question 4 : according to arch btrfs wiki, "Changing subvolume
layouts is made simpler by not using the toplevel subvolume (ID=5) as /".It
is not my case. How can I change this to avoid using the toplevel as / ?

Thank you for your help and hints on:
- why dual boot can't find OS
- is my btrfs install clean
arnaud gaboury via arch-general
2017-04-01 11:30:28 UTC
Permalink
Raw Message
Post by arnaud gaboury via arch-general
I followed the arch install wiki to install arch alongside w10 and dual
boot. (w10 was already installed).
----------------------------------------------
# fdisk -l
Disk /dev/nvme0n1
/dev/nvme0n1p1........ 260M EFI System
/dev/nvme0n1p3......... 186G Microsoft basic data
/dev/nvme0n1p6......... 264.7G Linux filesystem
--------------------------------------------------------
# mkdir /mnt/btrfs
# cd /mnt/btrfs
# btrfs subvolume create /mnt/home
I created this way 5 subvol: ROOT, home, etc, .snapshots, development
---------------------------------------------------------------------
Then generated fstab. Here I have a first doubt about how it has been
------------------------------------------
#/dev/nvme0n1p6 LABEL=daffodil-root
UUID=xxxyyyyy / btrfs
rw,noatime,compress=lzo,ssd,subvolid=261,subvol=/ROOT,subvol=ROOT 0 0
----------------------------------------------
---> Question 1: why twice subvol ? Is it normal or shall I delete one?
Then, still on install, I followed systemd-boot wiki. Once arch installed
and chrooted, I did the following (*here I have doubts about my method*).
I
1- mounted the EFI partition (/dev/nvme0n1p1) on /boot
2- bootctl --path=/boot install
3- copied the linux stuff (initramfs, vmlinuz...) on /boot. I finished
with a /boot folder populated as described in systemd-boot articles.
---> Question 2 Then I wrote an enter in fstab for the vfat boot
partition. I AM NOT SURE AT ALL I have to do this.
Once installed finished, I rebooted. The systemd-boot menu appeared as
expected, but didn't work as it was unable to find vmlinuz neither w10.
~~~~
Back to the install script, I try to fix things now.
I first mounted the Linux partition in /mnt. I can see all the created
btrfs subvol when running btrfs subvolume list
----------------------------
# btrfs subvolume list -p /mnt
ID 261 gen 179 parent 5 top level 5 path ROOT
.....
ID 267 gen 35 parent 261 top level 261 path ROOT/var/lib/machines
---------------------------------------
------> Question 3 : why this line about systemd machines? Is it expected?
------> Question 4 : according to arch btrfs wiki, "Changing subvolume
layouts is made simpler by not using the toplevel subvolume (ID=5) as /".It
is not my case. How can I change this to avoid using the toplevel as / ?
- why dual boot can't find OS
- is my btrfs install clean
I maybe find a hint:
---------------------
# mount /dev/nvme0n1p1 /boot (mount the EFI partition)
# bootctl

Loader:
Product : systemd-boot 232
Partition: n/a
File: -- /EFI/BOOT/loader.efi
..............
------------------------------------------

*Here I should have a partition number.*

Loading...