Dualbooting

From Alpine Linux
Revision as of 10:51, 29 October 2009 by Mhavela (talk | contribs) (Dualboot Ubuntu and Alpine (not done yet))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

General

Assume you have a box where you run Ubuntu (or your favourite distro).
Now you would like to be able to boot either Ubuntu or Alpine.

Prepare your hardware

You will need a partition for your Alpine installation.
If you don't already have one free, you need to create a primary partition with enough space for your Alpine installation.
(The tools you use for managing your partitions might differ, so you need to figure out your self how to use them)

Make notes of what partition you will use for your Alpine installation.
(Note: In this example we are going to install Alpine on /dev/sda3)

Installing Alpine on HDD

Now the fun begins... it's time to install Alpine.
Boot on CD using alpine-1.9.3-x86.iso.

Basic setup

Do some basic setup for your Alpine system

setup-alpine

Format HDD-partition

Next we want to format your partition.
We will needs some tools for doing the formatting (we remove them when formatting is done).

apk add e2fsprogs
mkfs.ext3 /dev/sda3
apk del e2fsprogs

(Note: Remember to make sure you format the right partition!!! The '/dev/sda3' is only a example.)

Install Alpine

We start by mounting the newly formatted partition (mounting it on /mnt/).

mount -t ext3 /dev/sda3 /mnt

Now it's time to put our files on the partition.

lbu package /tmp/tmp.apkovl.tar.gz
cd /mnt
tar -xzf /tmp/tmp.apkovl.tar.gz
apk add --root /mnt --initdb --repositories-file /etc/apk/repositores --keys-dir /etc/apk/keys linux-grsec $(cat /var/lib/apk/world)

Your system is now on '/dev/sda3'. Next thing is to be able to boot on it.

Bootloader

On your system you already have a bootloader of some kind.
The bootloaders varies, so you need to figure out how to make it boot your Alpine distro.
Hopefully you get some ideas by looking at the Grub2 example below.

Grub2

In my case I have Grub2 so I will describe what I did to boot Alpine.

Reboot your system (start Ubuntu).
Start a 'terminal' (ALT&F2 + "terminal" + [Run])

gksudo gedit /etc/grub.d/40_custom

I edited the file so it looks something like this:

#!/bin/sh
exec tail -n +3 $0
echo "Adding Alpine" >&2
cat << EOF
menuentry "Alpine Linux" {
 set root=(sd0,3)
 linux /boot/vmlinuz-grsec
 append initrd=/boot/initramfs-grsec root=/dev/sda3 modules=sd-mod,usb-storage,ext3 quiet
}
EOF