Dualbooting: Difference between revisions
Guest09248 (talk | contribs) m (Guest09248 moved page Installing Alpine on HDD dualbooting to Dualbooting) |
m (→Prepare your hardware: Cull unneeded underscores in wikilink.) |
||
(6 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
{{Warning|This manual is intended for experienced users. You will have to figure out your bootloader and manually edit partitions on your disk. A script to make installation of Alpine to a free space on a disk alongside another operating system as simple and straightforward as to a full disk with setup-alpine is yet to be written. If you doubt you can do it, it may be better for you to buy an external drive, use a VM for a second OS or choose another distro.}} | |||
It's assumed you have a box where you already run another operating system, and would like to be able to boot either the installed system or Alpine. | It's assumed you have a box where you already run another operating system, and would like to be able to boot either the installed system or Alpine. | ||
Line 5: | Line 7: | ||
Alpine needs a separate partition where it can be installed to. If you don't already have one free, you need to create a primary partition with enough space for your Alpine installation. | Alpine needs a separate partition where it can be installed to. If you don't already have one free, you need to create a primary partition with enough space for your Alpine installation. | ||
For this, see: [[ | For this, see: [[Setting up disks manually#Manual partitioning | Manual partitioning]] | ||
Make note of what partition you will use for your Alpine installation. In this example we are going to install Alpine on '''/dev/sdXY'''. | Make note of what partition you will use for your Alpine installation. In this example we are going to install Alpine on '''/dev/sdXY'''. | ||
Line 11: | Line 13: | ||
= Installing Alpine on an HDD partition = | = Installing Alpine on an HDD partition = | ||
Now it's time to install Alpine. Boot your system with a CD containing the latest Alpine Standard from [ | Now it's time to install Alpine. Boot your system with a CD containing the latest Alpine Standard from [https://alpinelinux.org/downloads Downloads]. | ||
== Format and mount the HDD partition == | == Format and mount the HDD partition == | ||
Line 104: | Line 106: | ||
Take notes of the UUID of the partition you are planning to use: | Take notes of the UUID of the partition you are planning to use: | ||
{{Cmd| | {{Cmd|# blkid /dev/sdXY}} | ||
Start editing the grub2 configuration | Start editing the grub2 configuration | ||
{{Cmd| | {{Cmd|# gedit /etc/grub.d/40_custom}} | ||
I edited the file to look something like this: | I edited the file to look something like this: | ||
< | {{Cat|/etc/grub.d/40_custom|<nowiki>#!/bin/sh | ||
echo "Adding Alpine" >&2 | echo "Adding Alpine" >&2 | ||
cat << EOF | cat << EOF | ||
Line 118: | Line 120: | ||
initrd /boot/initramfs-lts | initrd /boot/initramfs-lts | ||
} | } | ||
EOF</ | EOF</nowiki>}} | ||
{{Note|The root, linux, initrd, and UUID values mentioned above should be replaced with those of your system, e.g. the UUID you got when running the 'blkid' command.}} | {{Note|The root, linux, initrd, and UUID values mentioned above should be replaced with those of your system, e.g. the UUID you got when running the 'blkid' command.}} | ||
Finally the configuration changes need to be applied to the grub2 bootloader: | Finally the configuration changes need to be applied to the grub2 bootloader: | ||
Line 126: | Line 128: | ||
{{Note|You might need to press SHIFT when booting your box in order to see the grub-menu.}} | {{Note|You might need to press SHIFT when booting your box in order to see the grub-menu.}} | ||
== Windows == | |||
For Windows partitions to be detected with grub, you need `os-prober` and `grub-mount` installed at the time grub-mkconfig runs. | |||
[[Category:Installation]] | [[Category:Installation]] |
Latest revision as of 04:28, 19 February 2024
It's assumed you have a box where you already run another operating system, and would like to be able to boot either the installed system or Alpine.
Prepare your hardware
Alpine needs a separate partition where it can be installed to. If you don't already have one free, you need to create a primary partition with enough space for your Alpine installation.
For this, see: Manual partitioning
Make note of what partition you will use for your Alpine installation. In this example we are going to install Alpine on /dev/sdXY.
Installing Alpine on an HDD partition
Now it's time to install Alpine. Boot your system with a CD containing the latest Alpine Standard from Downloads.
Format and mount the HDD partition
First format your partition. We will need some tools for doing the formatting. After you are done the tools can be removed.
apk add e2fsprogs mkfs.ext4 /dev/sdXY apk del e2fsprogs
Then mount the newly formatted partition. After mounting, the partition will be available at /mnt.
mount -t ext4 /dev/sdXY /mnt
Basic setup
First, set up Alpine without installing to a disk.
To do this, either run
setup-alpine
and when to prompted "Which disks do you like to use?" make sure to answer "none". Answer "none" to the remaining prompts about storing configs and the apk cache directory.
Or, run this command sequence:
setup-timezone setup-alpine -q setup-sshd setup-ntp
See setup-alpine for more details.
Install Alpine
Now it's time to copy the prepared system to the prepared partition(s) that were mounted below /mnt.
In Alpine 2.2.3 or newer
setup-disk -m sys /mnt
See setup-disk for more details.
You might need to adjust the paths to the boot files in /boot/extlinux.conf, eg.:
[...] LABEL hardened MENU DEFAULT MENU LABEL Linux hardened LINUX /boot/vmlinuz-lts INITRD /boot/initramfs-lts [...]
Check that the LINUX
and INITRD
paths actually point to the files shipped in your Alpine Linux release.
With older Alpine versions up to 2.2.3
If you're using an earlier version of Alpine Linux, you'll need to install the files and bootloader manually.
lbu package - | tar -C /mnt -xzf - apk add --root /mnt --initdb --repositories-file /etc/apk/repositories --keys-dir \ /etc/apk/keys $(cat /etc/apk/world) acct linux-hardened alpine-base
Your system is now on /dev/sdXY.
Configuring the bootloader
There are different ways to get a boot menu that allows selecting the operating system to boot.
It is easiest on (U)EFI based hardware platforms, where one may simply install the rEFInd
boot menu, as explained in Bootloaders.
Otherwise, one may adjust the bootloader that has already been installed (by the other operating system).
Because bootloaders vary, you'll need to figure out how to make yours boot your Alpine install.
Hopefully you can get some ideas from the following example, adjusting Grub2 to boot Alpine:
Reboot your system (start Ubuntu).
Start a 'terminal' (ALT-F2 + "terminal" + [Run])
Take notes of the UUID of the partition you are planning to use:
# blkid /dev/sdXY
Start editing the grub2 configuration
# gedit /etc/grub.d/40_custom
I edited the file to look something like this:
Contents of /etc/grub.d/40_custom
Finally the configuration changes need to be applied to the grub2 bootloader:
update-grub2
Now it's time to test. Reboot your box.
Windows
For Windows partitions to be detected with grub, you need `os-prober` and `grub-mount` installed at the time grub-mkconfig runs.