Bootstrapping Alpine Linux: Difference between revisions
m (→References: Changed a hyperlink to https + Rescued a dead hyperlink) |
(added main guideline) |
||
Line 17: | Line 17: | ||
=== Install === | === Install === | ||
Assuming your alpine rootfs is mounted in '''/tmp/target''' | |||
<code>sudo ./sbin/apk.static --arch $(arch) -X http://dl-cdn.alpinelinux.org/alpine/latest-stable/main/ -U --allow-untrusted --root /tmp/target --initdb add alpine-base</code> | <code>sudo ./sbin/apk.static --arch $(arch) -X http://dl-cdn.alpinelinux.org/alpine/latest-stable/main/ -U --allow-untrusted --root /tmp/target --initdb add alpine-base</code> | ||
* edit /tmp/target/etc/fstab | |||
* edit /tmp/target/etc/inittab | |||
* edit /tmp/target/etc/mkinitfs/mkinitfs.conf | |||
* edit /tmp/target/etc/resolv.conf | |||
* mount proc/sys/dev | |||
<pre>for a in proc sys dev; do mount -o bind /$a /tmp/target/$a; done</pre> | |||
* chroot into your new installation | |||
<pre>chroot /tmp/target /bin/sh</pre> | |||
* setup repos (setup-apkrepos -f) | |||
* add a few base packages (apk update && apk add linux-lts acpi) | |||
* setup hostname (setup-hostname) | |||
* setup network (setup-interfaces) | |||
* add services | |||
<pre> | |||
rc-update add acpid default | |||
rc-update add bootmisc boot | |||
rc-update add crond default | |||
rc-update add devfs sysinit | |||
rc-update add dmesg sysinit | |||
rc-update add hostname boot | |||
rc-update add hwclock boot | |||
rc-update add hwdrivers sysinit | |||
rc-update add killprocs shutdown | |||
rc-update add mdev sysinit | |||
rc-update add modules boot | |||
rc-update add mount-ro shutdown | |||
rc-update add networking boot | |||
rc-update add savecache shutdown | |||
rc-update add seedrng boot | |||
rc-update add swap boot | |||
</pre> | |||
=== Bootloader === | === Bootloader === |
Revision as of 14:29, 7 August 2023
VPS
This section is to provide a means to bootstrap Alpine Linux on any VPS.
Process
Prepare
- Download apk-tools-static for your architecture.
- Unpack .apk
wget https://gitlab.alpinelinux.org/api/v4/projects/5/packages/generic/v2.14.0/x86_64/apk.static
tar zxf apk-tools-static-*.apk
Install
Assuming your alpine rootfs is mounted in /tmp/target
sudo ./sbin/apk.static --arch $(arch) -X http://dl-cdn.alpinelinux.org/alpine/latest-stable/main/ -U --allow-untrusted --root /tmp/target --initdb add alpine-base
- edit /tmp/target/etc/fstab
- edit /tmp/target/etc/inittab
- edit /tmp/target/etc/mkinitfs/mkinitfs.conf
- edit /tmp/target/etc/resolv.conf
- mount proc/sys/dev
for a in proc sys dev; do mount -o bind /$a /tmp/target/$a; done
- chroot into your new installation
chroot /tmp/target /bin/sh
- setup repos (setup-apkrepos -f)
- add a few base packages (apk update && apk add linux-lts acpi)
- setup hostname (setup-hostname)
- setup network (setup-interfaces)
- add services
rc-update add acpid default rc-update add bootmisc boot rc-update add crond default rc-update add devfs sysinit rc-update add dmesg sysinit rc-update add hostname boot rc-update add hwclock boot rc-update add hwdrivers sysinit rc-update add killprocs shutdown rc-update add mdev sysinit rc-update add modules boot rc-update add mount-ro shutdown rc-update add networking boot rc-update add savecache shutdown rc-update add seedrng boot rc-update add swap boot
Bootloader
References
- Running a Custom Linux Distribution on a Linode
- Run a Custom Compiled Kernel with PV-GRUB
- Replacing non-Alpine Linux with Alpine remotely
- Install Alpine on Amazon EC2
- Install Alpine on coLinux
- Install Alpine on Rackspace
- Alpine setup scripts
- How do I chain boot from grub to syslinux?
- Alpine Linux on Linode
- Installing Alpine Linux in a chroot