<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.alpinelinux.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Localwikifox</id>
	<title>Alpine Linux - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.alpinelinux.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Localwikifox"/>
	<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/wiki/Special:Contributions/Localwikifox"/>
	<updated>2026-04-29T07:33:17Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Bootstrapping_Alpine_Linux&amp;diff=25858</id>
		<title>Bootstrapping Alpine Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Bootstrapping_Alpine_Linux&amp;diff=25858"/>
		<updated>2023-12-06T15:42:06Z</updated>

		<summary type="html">&lt;p&gt;Localwikifox: Quick correction for less confusion&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
= VPS =&lt;br /&gt;
This section is to provide a means to bootstrap Alpine Linux on any VPS.&lt;br /&gt;
&lt;br /&gt;
== Process ==&lt;br /&gt;
 &lt;br /&gt;
=== Prepare ===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Download apk-tools-static for your architecture.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;wget https://gitlab.alpinelinux.org/api/v4/projects/5/packages/generic/v2.14.0/x86_64/apk.static&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Unpack .apk&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;tar zxf apk-tools-static-*.apk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
&lt;br /&gt;
Assuming your alpine rootfs is mounted in &#039;&#039;&#039;/tmp/target&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;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&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* edit /tmp/target/etc/fstab&lt;br /&gt;
* edit /tmp/target/etc/inittab&lt;br /&gt;
* edit /tmp/target/etc/resolv.conf&lt;br /&gt;
* mount proc/sys/dev&lt;br /&gt;
&amp;lt;pre&amp;gt;for a in proc sys dev; do mount -o bind /$a /tmp/target/$a; done&amp;lt;/pre&amp;gt;&lt;br /&gt;
* chroot into your new installation&lt;br /&gt;
&amp;lt;pre&amp;gt;chroot /tmp/target /bin/sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
* setup hostname&lt;br /&gt;
&amp;lt;pre&amp;gt;setup-hostname&amp;lt;/pre&amp;gt;&lt;br /&gt;
* setup network&lt;br /&gt;
&amp;lt;pre&amp;gt;setup-interfaces&amp;lt;/pre&amp;gt;&lt;br /&gt;
* setup repos&lt;br /&gt;
&amp;lt;pre&amp;gt;setup-apkrepos -f&amp;lt;/pre&amp;gt;&lt;br /&gt;
* add a few base packages&lt;br /&gt;
&amp;lt;pre&amp;gt;apk update&lt;br /&gt;
apk add linux-lts linux-firmware-none acpi mkinitfs&amp;lt;/pre&amp;gt;&lt;br /&gt;
* add services to boot&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rc-update add acpid default&lt;br /&gt;
rc-update add bootmisc boot&lt;br /&gt;
rc-update add crond default&lt;br /&gt;
rc-update add devfs sysinit&lt;br /&gt;
rc-update add dmesg sysinit&lt;br /&gt;
rc-update add hostname boot&lt;br /&gt;
rc-update add hwclock boot&lt;br /&gt;
rc-update add hwdrivers sysinit&lt;br /&gt;
rc-update add killprocs shutdown&lt;br /&gt;
rc-update add mdev sysinit&lt;br /&gt;
rc-update add modules boot&lt;br /&gt;
rc-update add mount-ro shutdown&lt;br /&gt;
rc-update add networking boot&lt;br /&gt;
rc-update add savecache shutdown&lt;br /&gt;
rc-update add seedrng boot&lt;br /&gt;
rc-update add swap boot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Bootloader ===&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
If you have bootstrapped Alpine Linux from an existing system in a different partition and intend to boot into it, you should always include the root filesystem type (rootfstype) in the kernel parameter (bootloader option), since by default kernel does not automatically load any filesystem modules for root partition, unless specified. That way mount will not complain about being unable to mount root partition on /sysroot.&lt;br /&gt;
&lt;br /&gt;
Example bootloader option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;root=UUID=AAAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE rw rootfstype=ext4 vfat&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* [https://www.linode.com/docs/tools-reference/custom-kernels-distros/running-a-custom-linux-distro-on-a-linode-vps Running a Custom Linux Distribution on a Linode]&lt;br /&gt;
* [https://www.linode.com/docs/tools-reference/custom-kernels-distros/run-a-custom-compiled-kernel-with-pvgrub Run a Custom Compiled Kernel with PV-GRUB]&lt;br /&gt;
* [[Replacing non-Alpine Linux with Alpine remotely]]&lt;br /&gt;
* [[Install Alpine on Amazon EC2]]&lt;br /&gt;
* [[Install Alpine on coLinux]]&lt;br /&gt;
* [[Install Alpine on Rackspace]]&lt;br /&gt;
* [[Alpine setup scripts]]&lt;br /&gt;
* [https://serverfault.com/questions/98950/how-do-i-chain-boot-from-grub-to-syslinux How do I chain boot from grub to syslinux?]&lt;br /&gt;
* [https://web.archive.org/web/20151008232205/http://uggedal.com/journal/alpine-linux-on-linode/ Alpine Linux on Linode]&lt;br /&gt;
* [[Installing Alpine Linux in a chroot]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
[[Category:Virtualization]]&lt;/div&gt;</summary>
		<author><name>Localwikifox</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Bootstrapping_Alpine_Linux&amp;diff=25857</id>
		<title>Bootstrapping Alpine Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Bootstrapping_Alpine_Linux&amp;diff=25857"/>
		<updated>2023-12-06T15:32:35Z</updated>

		<summary type="html">&lt;p&gt;Localwikifox: Correction, providing more accurate info after testing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
= VPS =&lt;br /&gt;
This section is to provide a means to bootstrap Alpine Linux on any VPS.&lt;br /&gt;
&lt;br /&gt;
== Process ==&lt;br /&gt;
 &lt;br /&gt;
=== Prepare ===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Download apk-tools-static for your architecture.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;wget https://gitlab.alpinelinux.org/api/v4/projects/5/packages/generic/v2.14.0/x86_64/apk.static&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Unpack .apk&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;tar zxf apk-tools-static-*.apk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
&lt;br /&gt;
Assuming your alpine rootfs is mounted in &#039;&#039;&#039;/tmp/target&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;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&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* edit /tmp/target/etc/fstab&lt;br /&gt;
* edit /tmp/target/etc/inittab&lt;br /&gt;
* edit /tmp/target/etc/resolv.conf&lt;br /&gt;
* mount proc/sys/dev&lt;br /&gt;
&amp;lt;pre&amp;gt;for a in proc sys dev; do mount -o bind /$a /tmp/target/$a; done&amp;lt;/pre&amp;gt;&lt;br /&gt;
* chroot into your new installation&lt;br /&gt;
&amp;lt;pre&amp;gt;chroot /tmp/target /bin/sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
* setup hostname&lt;br /&gt;
&amp;lt;pre&amp;gt;setup-hostname&amp;lt;/pre&amp;gt;&lt;br /&gt;
* setup network&lt;br /&gt;
&amp;lt;pre&amp;gt;setup-interfaces&amp;lt;/pre&amp;gt;&lt;br /&gt;
* setup repos&lt;br /&gt;
&amp;lt;pre&amp;gt;setup-apkrepos -f&amp;lt;/pre&amp;gt;&lt;br /&gt;
* add a few base packages&lt;br /&gt;
&amp;lt;pre&amp;gt;apk update&lt;br /&gt;
apk add linux-lts linux-firmware-none acpi mkinitfs&amp;lt;/pre&amp;gt;&lt;br /&gt;
* add services to boot&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rc-update add acpid default&lt;br /&gt;
rc-update add bootmisc boot&lt;br /&gt;
rc-update add crond default&lt;br /&gt;
rc-update add devfs sysinit&lt;br /&gt;
rc-update add dmesg sysinit&lt;br /&gt;
rc-update add hostname boot&lt;br /&gt;
rc-update add hwclock boot&lt;br /&gt;
rc-update add hwdrivers sysinit&lt;br /&gt;
rc-update add killprocs shutdown&lt;br /&gt;
rc-update add mdev sysinit&lt;br /&gt;
rc-update add modules boot&lt;br /&gt;
rc-update add mount-ro shutdown&lt;br /&gt;
rc-update add networking boot&lt;br /&gt;
rc-update add savecache shutdown&lt;br /&gt;
rc-update add seedrng boot&lt;br /&gt;
rc-update add swap boot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Bootloader ===&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
If you have bootstrapped Alpine Linux from an existing system in a different partition and intend to boot into it, you should always include the filesystem module in the kernel parameter (bootloader option), since by default kernel does not automatically load any filesystem modules, unless specified. That way mount will not complain about being unable to mount root partition on /sysroot.&lt;br /&gt;
&lt;br /&gt;
Example bootloader option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;root=UUID=AAAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE rw rootfstype=ext4 vfat&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* [https://www.linode.com/docs/tools-reference/custom-kernels-distros/running-a-custom-linux-distro-on-a-linode-vps Running a Custom Linux Distribution on a Linode]&lt;br /&gt;
* [https://www.linode.com/docs/tools-reference/custom-kernels-distros/run-a-custom-compiled-kernel-with-pvgrub Run a Custom Compiled Kernel with PV-GRUB]&lt;br /&gt;
* [[Replacing non-Alpine Linux with Alpine remotely]]&lt;br /&gt;
* [[Install Alpine on Amazon EC2]]&lt;br /&gt;
* [[Install Alpine on coLinux]]&lt;br /&gt;
* [[Install Alpine on Rackspace]]&lt;br /&gt;
* [[Alpine setup scripts]]&lt;br /&gt;
* [https://serverfault.com/questions/98950/how-do-i-chain-boot-from-grub-to-syslinux How do I chain boot from grub to syslinux?]&lt;br /&gt;
* [https://web.archive.org/web/20151008232205/http://uggedal.com/journal/alpine-linux-on-linode/ Alpine Linux on Linode]&lt;br /&gt;
* [[Installing Alpine Linux in a chroot]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
[[Category:Virtualization]]&lt;/div&gt;</summary>
		<author><name>Localwikifox</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Bootstrapping_Alpine_Linux&amp;diff=25855</id>
		<title>Bootstrapping Alpine Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Bootstrapping_Alpine_Linux&amp;diff=25855"/>
		<updated>2023-12-05T22:09:48Z</updated>

		<summary type="html">&lt;p&gt;Localwikifox: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
= VPS =&lt;br /&gt;
This section is to provide a means to bootstrap Alpine Linux on any VPS.&lt;br /&gt;
&lt;br /&gt;
== Process ==&lt;br /&gt;
 &lt;br /&gt;
=== Prepare ===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Download apk-tools-static for your architecture.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;wget https://gitlab.alpinelinux.org/api/v4/projects/5/packages/generic/v2.14.0/x86_64/apk.static&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Unpack .apk&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;tar zxf apk-tools-static-*.apk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
&lt;br /&gt;
Assuming your alpine rootfs is mounted in &#039;&#039;&#039;/tmp/target&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;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&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* edit /tmp/target/etc/fstab&lt;br /&gt;
* edit /tmp/target/etc/inittab&lt;br /&gt;
* edit /tmp/target/etc/resolv.conf&lt;br /&gt;
* mount proc/sys/dev&lt;br /&gt;
&amp;lt;pre&amp;gt;for a in proc sys dev; do mount -o bind /$a /tmp/target/$a; done&amp;lt;/pre&amp;gt;&lt;br /&gt;
* chroot into your new installation&lt;br /&gt;
&amp;lt;pre&amp;gt;chroot /tmp/target /bin/sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
* setup hostname&lt;br /&gt;
&amp;lt;pre&amp;gt;setup-hostname&amp;lt;/pre&amp;gt;&lt;br /&gt;
* setup network&lt;br /&gt;
&amp;lt;pre&amp;gt;setup-interfaces&amp;lt;/pre&amp;gt;&lt;br /&gt;
* setup repos&lt;br /&gt;
&amp;lt;pre&amp;gt;setup-apkrepos -f&amp;lt;/pre&amp;gt;&lt;br /&gt;
* add a few base packages&lt;br /&gt;
&amp;lt;pre&amp;gt;apk update&lt;br /&gt;
apk add linux-lts linux-firmware-none acpi mkinitfs&amp;lt;/pre&amp;gt;&lt;br /&gt;
* add services to boot&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rc-update add acpid default&lt;br /&gt;
rc-update add bootmisc boot&lt;br /&gt;
rc-update add crond default&lt;br /&gt;
rc-update add devfs sysinit&lt;br /&gt;
rc-update add dmesg sysinit&lt;br /&gt;
rc-update add hostname boot&lt;br /&gt;
rc-update add hwclock boot&lt;br /&gt;
rc-update add hwdrivers sysinit&lt;br /&gt;
rc-update add killprocs shutdown&lt;br /&gt;
rc-update add mdev sysinit&lt;br /&gt;
rc-update add modules boot&lt;br /&gt;
rc-update add mount-ro shutdown&lt;br /&gt;
rc-update add networking boot&lt;br /&gt;
rc-update add savecache shutdown&lt;br /&gt;
rc-update add seedrng boot&lt;br /&gt;
rc-update add swap boot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Bootloader ===&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
If you have bootstrapped Alpine Linux from an existing system in a different partition and intend to boot into it, you should always include the filesystem module in the kernel parameter (bootloader option), since by default kernel does not automatically load any filesystem modules, unless specified. That way mount will not complain about being unable to mount root partition on /sysroot.&lt;br /&gt;
&lt;br /&gt;
Example bootloader option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;root=UUID=AAAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE rw ext4 vfat&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* [https://www.linode.com/docs/tools-reference/custom-kernels-distros/running-a-custom-linux-distro-on-a-linode-vps Running a Custom Linux Distribution on a Linode]&lt;br /&gt;
* [https://www.linode.com/docs/tools-reference/custom-kernels-distros/run-a-custom-compiled-kernel-with-pvgrub Run a Custom Compiled Kernel with PV-GRUB]&lt;br /&gt;
* [[Replacing non-Alpine Linux with Alpine remotely]]&lt;br /&gt;
* [[Install Alpine on Amazon EC2]]&lt;br /&gt;
* [[Install Alpine on coLinux]]&lt;br /&gt;
* [[Install Alpine on Rackspace]]&lt;br /&gt;
* [[Alpine setup scripts]]&lt;br /&gt;
* [https://serverfault.com/questions/98950/how-do-i-chain-boot-from-grub-to-syslinux How do I chain boot from grub to syslinux?]&lt;br /&gt;
* [https://web.archive.org/web/20151008232205/http://uggedal.com/journal/alpine-linux-on-linode/ Alpine Linux on Linode]&lt;br /&gt;
* [[Installing Alpine Linux in a chroot]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
[[Category:Virtualization]]&lt;/div&gt;</summary>
		<author><name>Localwikifox</name></author>
	</entry>
</feed>