Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/archinstall
diff options
context:
space:
mode:
authoradvaithm <advaith.madhukar@gmail.com>2021-03-12 13:40:54 +0530
committeradvaithm <advaith.madhukar@gmail.com>2021-03-12 13:40:54 +0530
commitf249476ea7c296459d175262f45c1f8273c6e8ea (patch)
treeeb915c5d5674cb49f0a115abca3860ac58b79827 /archinstall
parentee3c48c965b2e7a2ed9427c2b5179318d52887c0 (diff)
figured out a way to get root device for installing grub
Diffstat (limited to 'archinstall')
-rw-r--r--archinstall/lib/disk.py18
-rw-r--r--archinstall/lib/installer.py3
2 files changed, 12 insertions, 9 deletions
diff --git a/archinstall/lib/disk.py b/archinstall/lib/disk.py
index cd740571..d05588a6 100644
--- a/archinstall/lib/disk.py
+++ b/archinstall/lib/disk.py
@@ -394,18 +394,20 @@ class Filesystem():
def use_entire_disk(self, root_filesystem_type='ext4', encrypt_root_partition=True):
self.add_partition('primary', start='1MiB', end='513MiB', format='vfat')
- self.set_name(0, 'EFI')
- self.set(0, 'boot on')
+ #TODO: figure out what do for bios, we don't need a seprate partion for the bootloader
+ if hasUEFI():
+ self.set_name(0, 'EFI')
+ self.set(0, 'boot on')
# TODO: Probably redundant because in GPT mode 'esp on' is an alias for "boot on"?
# https://www.gnu.org/software/parted/manual/html_node/set.html
- self.set(0, 'esp on')
- self.add_partition('primary', start='513MiB', end='100%')
+ self.set(0, 'esp on')
+ self.add_partition('primary', start='513MiB', end='100%')
- self.blockdevice.partition[0].filesystem = 'vfat'
- self.blockdevice.partition[1].filesystem = root_filesystem_type
+ self.blockdevice.partition[0].filesystem = 'vfat'
+ self.blockdevice.partition[1].filesystem = root_filesystem_type
- self.blockdevice.partition[0].target_mountpoint = '/boot'
- self.blockdevice.partition[1].target_mountpoint = '/'
+ self.blockdevice.partition[0].target_mountpoint = '/boot'
+ self.blockdevice.partition[1].target_mountpoint = '/'
if encrypt_root_partition:
self.blockdevice.partition[1].encrypted = True
diff --git a/archinstall/lib/installer.py b/archinstall/lib/installer.py
index dbcfb973..176b26f4 100644
--- a/archinstall/lib/installer.py
+++ b/archinstall/lib/installer.py
@@ -365,7 +365,8 @@ class Installer():
o = b''.join(sys_command(f'/usr/bin/arch-chroot {self.mountpoint} grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB'))
sys_command('/usr/bin/arch-chroot grub-mkconfig -o /boot/grub/grub.cfg')
else:
- o = b''.join(sys_command(f'/usr/bin/arch-chroot {self.mountpoint} grub-install --target=--target=i386-pc {self}'))
+ root_device = subprocess.check_output(f'basename "$(readlink -f "/sys/class/block/{self.partition.path}/..")',shell=True).decode().strip()
+ o = b''.join(sys_command(f'/usr/bin/arch-chroot {self.mountpoint} grub-install --target=--target=i386-pc /dev/{root_device}'))
sys_command('/usr/bin/arch-chroot grub-mkconfig -o /boot/grub/grub.cfg')
else:
raise RequirementError(f"Unknown (or not yet implemented) bootloader added to add_bootloader(): {bootloader}")