<?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=Jjott</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=Jjott"/>
	<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/wiki/Special:Contributions/Jjott"/>
	<updated>2026-04-29T05:56:18Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Initramfs_init&amp;diff=16007</id>
		<title>Initramfs init</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Initramfs_init&amp;diff=16007"/>
		<updated>2019-06-18T17:40:42Z</updated>

		<summary type="html">&lt;p&gt;Jjott: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== initramfs init cmdline options (work in progress) ==&lt;br /&gt;
&lt;br /&gt;
In addition to the [https://www.kernel.org/doc/html/v4.14/admin-guide/kernel-parameters.html kernel boot parameters] are a number of parameters that the init script understands.&lt;br /&gt;
&lt;br /&gt;
Although you may specify your own init script when building an initramfs, these parameters allow for extensive control over the initial startup of an Alpine Linux system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;quiet&amp;lt;/code&amp;gt; : less verbose init script execution&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;debug_init&amp;lt;/code&amp;gt; : sets &#039;-x&#039; in the init script and -d for mdev&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;chart&amp;lt;/code&amp;gt; : Enables bootchartd for measuring system startup speed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ip=dhcp&amp;lt;/code&amp;gt; : use DHCP for network configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ip=client-ip:server-ip:gw-ip:netmask:hostname:device:autoconf:dns1:dns2&amp;lt;/code&amp;gt; : use static IP configuration, each field is separated by a colon &amp;lt;code&amp;gt;:&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;client-ip&amp;lt;/code&amp;gt; ip address of the guest VM where we are going to run the installer&lt;br /&gt;
* &amp;lt;code&amp;gt;server-ip&amp;lt;/code&amp;gt; not used, leave blank or fill with &amp;lt;code&amp;gt;none&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gw-ip&amp;lt;/code&amp;gt;     the gateway ip address&lt;br /&gt;
* &amp;lt;code&amp;gt;netmask&amp;lt;/code&amp;gt;   the netmask&lt;br /&gt;
* &amp;lt;code&amp;gt;hostname&amp;lt;/code&amp;gt;  not used, leave blank or fill with &amp;lt;code&amp;gt;none&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;device&amp;lt;/code&amp;gt;    the network interface of the guest VM, default is &amp;lt;code&amp;gt;eth0&amp;lt;/code&amp;gt; if left blank&lt;br /&gt;
* &amp;lt;code&amp;gt;autoconf&amp;lt;/code&amp;gt;  not used, leave blank or fill with &amp;lt;code&amp;gt;none&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;off&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;dns1&amp;lt;/code&amp;gt;      address of the DNS server&lt;br /&gt;
* &amp;lt;code&amp;gt;dns2&amp;lt;/code&amp;gt;      address of the 2nd DNS server&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;modloop=URL&amp;lt;/code&amp;gt; : the remote location of the image containing kernel&#039;s modules, required for LVM and raid setup.&lt;br /&gt;
&lt;br /&gt;
:The remote location of the &amp;lt;code&amp;gt;modloop&amp;lt;/code&amp;gt; image is the same as the kernel and initramfs (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;blacklist=MODULE{,MODULE}&amp;lt;/code&amp;gt; : This comma-separated list names kernel modules that modprobe will reject to load.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;alpine_repo=URL&amp;lt;/code&amp;gt; : the location of the Alpine repository from which packages are downloaded.&lt;br /&gt;
&lt;br /&gt;
:For stable release, use &amp;lt;code&amp;gt;http://dl-cdn.alpinelinux.org/alpine/v3.9/main&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:For rolling release, use &amp;lt;code&amp;gt;http://dl-cdn.alpinelinux.org/alpine/edge/main&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ssh_key=URL&amp;lt;/code&amp;gt; : the remote location of your SSH public key. It will be added to root&#039;s authorized_keys. Also triggers OpenSSH-server to be installed and started.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;apkovl=URL&amp;lt;/code&amp;gt; : Unpack the APK Overlay file from this URL. Happens immediately after network is up . This option will set the default  for service install and setup to false. (see .default_boot_services).&lt;br /&gt;
&lt;br /&gt;
(work in progress)&lt;br /&gt;
&lt;br /&gt;
* init=&lt;br /&gt;
* init_args=&lt;br /&gt;
&lt;br /&gt;
* dasd=&lt;br /&gt;
* s390x_net=&lt;br /&gt;
* rootfstype=&lt;br /&gt;
* modules=&lt;br /&gt;
* crytptroot=&lt;br /&gt;
* cryptdm=&lt;br /&gt;
* cryptheader=&lt;br /&gt;
* cryptoffset=&lt;br /&gt;
* cryptokey=&lt;br /&gt;
* nbd=&lt;br /&gt;
* root=&lt;br /&gt;
* resume&lt;br /&gt;
* rootflags&lt;br /&gt;
* usbdelay&lt;br /&gt;
* pkgs=&lt;br /&gt;
* ssh_key=&lt;br /&gt;
* keep_apk_new&lt;br /&gt;
* splash=&lt;br /&gt;
*&lt;/div&gt;</summary>
		<author><name>Jjott</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Initramfs_init&amp;diff=16006</id>
		<title>Initramfs init</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Initramfs_init&amp;diff=16006"/>
		<updated>2019-06-18T17:40:19Z</updated>

		<summary type="html">&lt;p&gt;Jjott: /* initramfs init cmdline options */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== initramfs init cmdline options ==&lt;br /&gt;
&lt;br /&gt;
In addition to the [https://www.kernel.org/doc/html/v4.14/admin-guide/kernel-parameters.html kernel boot parameters] are a number of parameters that the init script understands.&lt;br /&gt;
&lt;br /&gt;
Although you may specify your own init script when building an initramfs, these parameters allow for extensive control over the initial startup of an Alpine Linux system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;quiet&amp;lt;/code&amp;gt; : less verbose init script execution&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;debug_init&amp;lt;/code&amp;gt; : sets &#039;-x&#039; in the init script and -d for mdev&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;chart&amp;lt;/code&amp;gt; : Enables bootchartd for measuring system startup speed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ip=dhcp&amp;lt;/code&amp;gt; : use DHCP for network configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ip=client-ip:server-ip:gw-ip:netmask:hostname:device:autoconf:dns1:dns2&amp;lt;/code&amp;gt; : use static IP configuration, each field is separated by a colon &amp;lt;code&amp;gt;:&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;client-ip&amp;lt;/code&amp;gt; ip address of the guest VM where we are going to run the installer&lt;br /&gt;
* &amp;lt;code&amp;gt;server-ip&amp;lt;/code&amp;gt; not used, leave blank or fill with &amp;lt;code&amp;gt;none&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gw-ip&amp;lt;/code&amp;gt;     the gateway ip address&lt;br /&gt;
* &amp;lt;code&amp;gt;netmask&amp;lt;/code&amp;gt;   the netmask&lt;br /&gt;
* &amp;lt;code&amp;gt;hostname&amp;lt;/code&amp;gt;  not used, leave blank or fill with &amp;lt;code&amp;gt;none&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;device&amp;lt;/code&amp;gt;    the network interface of the guest VM, default is &amp;lt;code&amp;gt;eth0&amp;lt;/code&amp;gt; if left blank&lt;br /&gt;
* &amp;lt;code&amp;gt;autoconf&amp;lt;/code&amp;gt;  not used, leave blank or fill with &amp;lt;code&amp;gt;none&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;off&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;dns1&amp;lt;/code&amp;gt;      address of the DNS server&lt;br /&gt;
* &amp;lt;code&amp;gt;dns2&amp;lt;/code&amp;gt;      address of the 2nd DNS server&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;modloop=URL&amp;lt;/code&amp;gt; : the remote location of the image containing kernel&#039;s modules, required for LVM and raid setup.&lt;br /&gt;
&lt;br /&gt;
:The remote location of the &amp;lt;code&amp;gt;modloop&amp;lt;/code&amp;gt; image is the same as the kernel and initramfs (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;blacklist=MODULE{,MODULE}&amp;lt;/code&amp;gt; : This comma-separated list names kernel modules that modprobe will reject to load.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;alpine_repo=URL&amp;lt;/code&amp;gt; : the location of the Alpine repository from which packages are downloaded.&lt;br /&gt;
&lt;br /&gt;
:For stable release, use &amp;lt;code&amp;gt;http://dl-cdn.alpinelinux.org/alpine/v3.9/main&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:For rolling release, use &amp;lt;code&amp;gt;http://dl-cdn.alpinelinux.org/alpine/edge/main&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ssh_key=URL&amp;lt;/code&amp;gt; : the remote location of your SSH public key. It will be added to root&#039;s authorized_keys. Also triggers OpenSSH-server to be installed and started.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;apkovl=URL&amp;lt;/code&amp;gt; : Unpack the APK Overlay file from this URL. Happens immediately after network is up . This option will set the default  for service install and setup to false. (see .default_boot_services).&lt;br /&gt;
&lt;br /&gt;
(work in progress)&lt;br /&gt;
&lt;br /&gt;
* init=&lt;br /&gt;
* init_args=&lt;br /&gt;
&lt;br /&gt;
* dasd=&lt;br /&gt;
* s390x_net=&lt;br /&gt;
* rootfstype=&lt;br /&gt;
* modules=&lt;br /&gt;
* crytptroot=&lt;br /&gt;
* cryptdm=&lt;br /&gt;
* cryptheader=&lt;br /&gt;
* cryptoffset=&lt;br /&gt;
* cryptokey=&lt;br /&gt;
* nbd=&lt;br /&gt;
* root=&lt;br /&gt;
* resume&lt;br /&gt;
* rootflags&lt;br /&gt;
* usbdelay&lt;br /&gt;
* pkgs=&lt;br /&gt;
* ssh_key=&lt;br /&gt;
* keep_apk_new&lt;br /&gt;
* splash=&lt;br /&gt;
*&lt;/div&gt;</summary>
		<author><name>Jjott</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Initramfs_init&amp;diff=16003</id>
		<title>Initramfs init</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Initramfs_init&amp;diff=16003"/>
		<updated>2019-06-14T05:26:21Z</updated>

		<summary type="html">&lt;p&gt;Jjott: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== initramfs init cmdline options ==&lt;br /&gt;
&lt;br /&gt;
The init script in the initramfs which is loaded by the kernel understands the following entires in your kernel command line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ip=dhcp&amp;lt;/code&amp;gt; : use DHCP for network configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ip=client-ip:server-ip:gw-ip:netmask:hostname:device:autoconf:dns1:dns2&amp;lt;/code&amp;gt; : use static IP configuration, each field is separated by a colon &amp;lt;code&amp;gt;:&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;client-ip&amp;lt;/code&amp;gt; ip address of the guest VM where we are going to run the installer&lt;br /&gt;
* &amp;lt;code&amp;gt;server-ip&amp;lt;/code&amp;gt; not used, leave blank or fill with &amp;lt;code&amp;gt;none&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gw-ip&amp;lt;/code&amp;gt;     the gateway ip address&lt;br /&gt;
* &amp;lt;code&amp;gt;netmask&amp;lt;/code&amp;gt;   the netmask&lt;br /&gt;
* &amp;lt;code&amp;gt;hostname&amp;lt;/code&amp;gt;  not used, leave blank or fill with &amp;lt;code&amp;gt;none&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;device&amp;lt;/code&amp;gt;    the network interface of the guest VM, default is &amp;lt;code&amp;gt;eth0&amp;lt;/code&amp;gt; if left blank&lt;br /&gt;
* &amp;lt;code&amp;gt;autoconf&amp;lt;/code&amp;gt;  not used, leave blank or fill with &amp;lt;code&amp;gt;none&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;off&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;dns1&amp;lt;/code&amp;gt;      address of the DNS server&lt;br /&gt;
* &amp;lt;code&amp;gt;dns2&amp;lt;/code&amp;gt;      address of the 2nd DNS server&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;alpine_repo=&amp;lt;/code&amp;gt; : the location of the Alpine repository from which packages are downloaded.&lt;br /&gt;
&lt;br /&gt;
:For stable release, use &amp;lt;code&amp;gt;http://dl-cdn.alpinelinux.org/alpine/v3.9/main&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:For rolling release, use &amp;lt;code&amp;gt;http://dl-cdn.alpinelinux.org/alpine/edge/main&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;modloop=&amp;lt;/code&amp;gt; : the remote location of the image containing kernel&#039;s modules, required for LVM and raid setup.&lt;br /&gt;
&lt;br /&gt;
:The remote location of the &amp;lt;code&amp;gt;modloop&amp;lt;/code&amp;gt; image is the same as the kernel and initramfs (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ssh_key=&amp;lt;/code&amp;gt; : the remote location of your SSH public key which is used to allow SSH connection into the installer. It will be downloaded and copied into &amp;lt;code&amp;gt;/root/.ssh/authorized_keys&amp;lt;/code&amp;gt; in the installer.&lt;br /&gt;
&lt;br /&gt;
{{Note|Fetching public keys from HTTP, HTTPS and FTPS are supported. HTTP should only be used in local development network where you own the network.}}&lt;br /&gt;
&lt;br /&gt;
{{Note|Alpine Linux security policies are against using passwords for root access via SSH as we consider using public-private key pairs is a much better approach.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;quiet&amp;lt;/code&amp;gt; : less verbose init script execution&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;debug_init&amp;lt;/code&amp;gt; : sets &#039;-x&#039; in the init script and -d for mdev&lt;br /&gt;
&lt;br /&gt;
* chart (flag)&lt;br /&gt;
* alpine_repo=&lt;br /&gt;
* blacklist=&lt;br /&gt;
* apkovl=URL load the apkovl file from URL&lt;br /&gt;
* dasd=&lt;br /&gt;
* s390x_net=&lt;br /&gt;
* rootfstype=&lt;br /&gt;
* modules=&lt;br /&gt;
* crytptroot=&lt;br /&gt;
* cryptdm=&lt;br /&gt;
* cryptheader=&lt;br /&gt;
* cryptoffset=&lt;br /&gt;
* cryptokey=&lt;br /&gt;
* nbd=&lt;br /&gt;
* root=&lt;br /&gt;
* resume&lt;br /&gt;
* rootflags&lt;br /&gt;
* init=&lt;br /&gt;
* init_args=&lt;br /&gt;
* usbdelay&lt;br /&gt;
* pkgs=&lt;br /&gt;
* ssh_key=&lt;br /&gt;
* keep_apk_new&lt;br /&gt;
* splash=&lt;br /&gt;
*&lt;/div&gt;</summary>
		<author><name>Jjott</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Initramfs_init&amp;diff=16002</id>
		<title>Initramfs init</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Initramfs_init&amp;diff=16002"/>
		<updated>2019-06-14T05:25:02Z</updated>

		<summary type="html">&lt;p&gt;Jjott: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== initramfs init cmdline options ==&lt;br /&gt;
&lt;br /&gt;
The init script in the initramfs which is loaded by the kernel understands the following entires in your kernel command line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ip=dhcp&amp;lt;/code&amp;gt; : use DHCP for network configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ip=client-ip:server-ip:gw-ip:netmask:hostname:device:autoconf:dns1:dns2&amp;lt;/code&amp;gt; : use static IP configuration, each field is separated by a colon &amp;lt;code&amp;gt;:&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;client-ip&amp;lt;/code&amp;gt; ip address of the guest VM where we are going to run the installer&lt;br /&gt;
* &amp;lt;code&amp;gt;server-ip&amp;lt;/code&amp;gt; not used, leave blank or fill with &amp;lt;code&amp;gt;none&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gw-ip&amp;lt;/code&amp;gt;     the gateway ip address&lt;br /&gt;
* &amp;lt;code&amp;gt;netmask&amp;lt;/code&amp;gt;   the netmask&lt;br /&gt;
* &amp;lt;code&amp;gt;hostname&amp;lt;/code&amp;gt;  not used, leave blank or fill with &amp;lt;code&amp;gt;none&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;device&amp;lt;/code&amp;gt;    the network interface of the guest VM, default is &amp;lt;code&amp;gt;eth0&amp;lt;/code&amp;gt; if left blank&lt;br /&gt;
* &amp;lt;code&amp;gt;autoconf&amp;lt;/code&amp;gt;  not used, leave blank or fill with &amp;lt;code&amp;gt;none&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;off&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;dns1&amp;lt;/code&amp;gt;      address of the DNS server&lt;br /&gt;
* &amp;lt;code&amp;gt;dns2&amp;lt;/code&amp;gt;      address of the 2nd DNS server&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;alpine_repo=&amp;lt;/code&amp;gt; : the location of the Alpine repository from which packages are downloaded.&lt;br /&gt;
&lt;br /&gt;
:For stable release, use &amp;lt;code&amp;gt;http://dl-cdn.alpinelinux.org/alpine/v3.9/main&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:For rolling release, use &amp;lt;code&amp;gt;http://dl-cdn.alpinelinux.org/alpine/edge/main&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;modloop=&amp;lt;/code&amp;gt; : the remote location of the image containing kernel&#039;s modules, required for LVM and raid setup.&lt;br /&gt;
&lt;br /&gt;
:The remote location of the &amp;lt;code&amp;gt;modloop&amp;lt;/code&amp;gt; image is the same as the kernel and initramfs (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ssh_key=&amp;lt;/code&amp;gt; : the remote location of your SSH public key which is used to allow SSH connection into the installer. It will be downloaded and copied into &amp;lt;code&amp;gt;/root/.ssh/authorized_keys&amp;lt;/code&amp;gt; in the installer.&lt;br /&gt;
&lt;br /&gt;
{{Note|Fetching public keys from HTTP, HTTPS and FTPS are supported. HTTP should only be used in local development network where you own the network.}}&lt;br /&gt;
&lt;br /&gt;
{{Note|Alpine Linux security policies are against using passwords for root access via SSH as we consider using public-private key pairs is a much better approach.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* quiet (flag) less verbose init script execution&lt;br /&gt;
* debug_init (flag) sets &#039;-x&#039; in the init script and -d for mdev&lt;br /&gt;
* chart (flag)&lt;br /&gt;
* alpine_repo=&lt;br /&gt;
* blacklist=&lt;br /&gt;
* apkovl=URL load the apkovl file from URL&lt;br /&gt;
* dasd=&lt;br /&gt;
* s390x_net=&lt;br /&gt;
* rootfstype=&lt;br /&gt;
* modules=&lt;br /&gt;
* crytptroot=&lt;br /&gt;
* cryptdm=&lt;br /&gt;
* cryptheader=&lt;br /&gt;
* cryptoffset=&lt;br /&gt;
* cryptokey=&lt;br /&gt;
* nbd=&lt;br /&gt;
* root=&lt;br /&gt;
* resume&lt;br /&gt;
* rootflags&lt;br /&gt;
* init=&lt;br /&gt;
* init_args=&lt;br /&gt;
* usbdelay&lt;br /&gt;
* pkgs=&lt;br /&gt;
* ssh_key=&lt;br /&gt;
* keep_apk_new&lt;br /&gt;
* splash=&lt;br /&gt;
*&lt;/div&gt;</summary>
		<author><name>Jjott</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Initramfs_init&amp;diff=16001</id>
		<title>Initramfs init</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Initramfs_init&amp;diff=16001"/>
		<updated>2019-06-14T03:13:59Z</updated>

		<summary type="html">&lt;p&gt;Jjott: /* initramfs init cmdline options */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== initramfs init cmdline options ==&lt;br /&gt;
&lt;br /&gt;
The init script in the initramfs which is loaded by the kernel understands the following entires in your kernel command line:&lt;br /&gt;
&lt;br /&gt;
* quiet (flag) less verbose init script execution&lt;br /&gt;
* debug_init (flag) sets &#039;-x&#039; in the init script and -d for mdev&lt;br /&gt;
* chart (flag)&lt;br /&gt;
* alpine_repo=&lt;br /&gt;
* blacklist=&lt;br /&gt;
* apkovl=URL load the apkovl file from URL&lt;br /&gt;
* dasd=&lt;br /&gt;
* s390x_net=&lt;br /&gt;
* rootfstype=&lt;br /&gt;
* modules=&lt;br /&gt;
* crytptroot=&lt;br /&gt;
* cryptdm=&lt;br /&gt;
* cryptheader=&lt;br /&gt;
* cryptoffset=&lt;br /&gt;
* cryptokey=&lt;br /&gt;
* nbd=&lt;br /&gt;
* root=&lt;br /&gt;
* resume&lt;br /&gt;
* rootflags&lt;br /&gt;
* init=&lt;br /&gt;
* init_args=&lt;br /&gt;
* usbdelay&lt;br /&gt;
* pkgs=&lt;br /&gt;
* ssh_key=&lt;br /&gt;
* keep_apk_new&lt;br /&gt;
* splash=&lt;br /&gt;
*&lt;/div&gt;</summary>
		<author><name>Jjott</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Initramfs_init&amp;diff=16000</id>
		<title>Initramfs init</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Initramfs_init&amp;diff=16000"/>
		<updated>2019-06-12T18:49:14Z</updated>

		<summary type="html">&lt;p&gt;Jjott: Created page with &amp;quot;== initramfs init cmdline options ==  The init script in the initramfs which is loaded by the kernel understands the following entires in your kernel command line:  * quiet (f...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== initramfs init cmdline options ==&lt;br /&gt;
&lt;br /&gt;
The init script in the initramfs which is loaded by the kernel understands the following entires in your kernel command line:&lt;br /&gt;
&lt;br /&gt;
* quiet (flag)&lt;br /&gt;
* chart (flag)&lt;br /&gt;
* alpine_repo=&lt;br /&gt;
* blacklist=&lt;br /&gt;
* apkovl=&lt;br /&gt;
* dasd=&lt;br /&gt;
* s390x_net=&lt;br /&gt;
* rootfstype=&lt;br /&gt;
* modules=&lt;br /&gt;
* crytptroot=&lt;br /&gt;
* cryptdm=&lt;br /&gt;
* cryptheader=&lt;br /&gt;
* cryptoffset=&lt;br /&gt;
* cryptokey=&lt;br /&gt;
* nbd=&lt;br /&gt;
* root=&lt;br /&gt;
* resume&lt;br /&gt;
* rootflags&lt;br /&gt;
* init=&lt;br /&gt;
* init_args=&lt;br /&gt;
* usbdelay&lt;br /&gt;
* pkgs=&lt;br /&gt;
* ssh_key=&lt;br /&gt;
* keep_apk_new&lt;br /&gt;
* splash=&lt;br /&gt;
*&lt;/div&gt;</summary>
		<author><name>Jjott</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Developer_Documentation&amp;diff=15999</id>
		<title>Developer Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Developer_Documentation&amp;diff=15999"/>
		<updated>2019-06-12T17:53:00Z</updated>

		<summary type="html">&lt;p&gt;Jjott: /* Init system */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:package_system.svg|right|link=]]&lt;br /&gt;
&lt;br /&gt;
== Package management ==&lt;br /&gt;
&amp;lt;!-- If you edit the following, please coordinate with Tutorials_and_Howtos#Post-Install and Installation#Post-Install.  Note that these three sections are not exact duplicates. --&amp;gt;&lt;br /&gt;
* [[Alpine Linux package management|Package Management (apk)]] &#039;&#039;(How to add/remove packages on your Alpine)&#039;&#039; &amp;lt;!-- &lt;br /&gt;
  [[Alpine Linux package management#Local_Cache|How to enable APK caching]] --&amp;gt;  &amp;lt;!-- includes [[Local APK cache]] --&amp;gt;&lt;br /&gt;
** [[Comparison with other distros]]&lt;br /&gt;
** [[apk spec]]&lt;br /&gt;
* [[Edge|Upgrading to Edge]]&lt;br /&gt;
* [[Alpine local backup|Alpine local backup (lbu)]] &#039;&#039;(Permanently store your modifications in case your box needs reboot)&#039;&#039;&lt;br /&gt;
** [[Back Up a Flash Memory Installation]]&lt;br /&gt;
** [[Manually editing a existing apkovl]]&lt;br /&gt;
&amp;lt;!-- [[Replacing a package]] Obsolete? --&amp;gt;&lt;br /&gt;
* [[How to setup a Alpine Linux mirror]]&lt;br /&gt;
* [[How to use xdelta and download only differential update files]]&lt;br /&gt;
* [[How to make a custom ISO image]]&lt;br /&gt;
** [[Burning ISOs]]&lt;br /&gt;
&lt;br /&gt;
== Init system ==&lt;br /&gt;
* [[initramfs init]]&lt;br /&gt;
* [[Alpine Linux Init System|Init System (OpenRC)]] &#039;&#039;(Configure a service to automatically launch at next reboot)&#039;&#039;&lt;br /&gt;
** [[Multiple Instances of Services]]&lt;br /&gt;
* [[Writing Init Scripts]]&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
=== Configuring your system ===&lt;br /&gt;
* [[Edge|Upgrading to Edge]] &amp;lt;!-- Pkg and Dev and Installation --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- If you edit the following, please coordinate with Installation#Advanced.  Note that these two sections are not exact duplicates. --&amp;gt;&lt;br /&gt;
* [[Setting up the build environment on HDD]] &amp;lt;!-- Dev and Installation --&amp;gt;&lt;br /&gt;
&amp;lt;!-- [[Setting up the build environment 1.7]] Obsolete, only Dev --&amp;gt;&lt;br /&gt;
** [[Creating_an_Alpine_package#Setup_your_system_and_account|Setup your system and account for building packages]]&lt;br /&gt;
** [[Abuild_and_Helpers#abuild-keygen|Abuild-keygen]]&lt;br /&gt;
&lt;br /&gt;
* [[Installing Alpine Linux in a chroot]] &amp;lt;!-- only Installation --&amp;gt;&lt;br /&gt;
** [[Buildlab]] &#039;&#039;(Tool for creating and managing chroots)&#039;&#039;&lt;br /&gt;
* [[Install Alpine on LXC]]&lt;br /&gt;
* Install Alpine on [[Install Alpine on VirtualBox|VirtualBox]], [[Install Alpine on VMware|VMware]], [[Install Alpine on coLinux|coLinux]], [[Qemu]], &amp;lt;!-- includes [[Install Alpine in Qemu]], [[Running Alpine in Qemu Live mode]], [[Running Alpine Linux As a QEMU networked Guest]] --&amp;gt; or [[Install Alpine on Amazon EC2|Amazon EC2]]&lt;br /&gt;
&lt;br /&gt;
* [[Xen Dom0]] &#039;&#039;(Setting up Alpine as a dom0 for Xen hypervisor)&#039;&#039;&lt;br /&gt;
** [[Xen Dom0 on USB or SD]]&lt;br /&gt;
** [[Create Alpine Linux PV DomU]]&lt;br /&gt;
** [[Xen LiveCD]]&lt;br /&gt;
&lt;br /&gt;
* [[Setting up a basic vserver]] &amp;lt;!-- only Installation --&amp;gt;&lt;br /&gt;
* [[Setting up a compile vserver]] for official or for [[Setting up a compile vserver for third party packages|third party]] packages &amp;lt;!-- Dev and Installation --&amp;gt;&lt;br /&gt;
&amp;lt;!-- [[Create an Alpine 1.9 vserver template]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Building from source and creating packages ===&lt;br /&gt;
&lt;br /&gt;
* [[Aports tree]] &amp;lt;!-- &amp;lt;== APKBUILD --&amp;gt;&lt;br /&gt;
* [[Abuild and Helpers]] &#039;&#039;(Scripts for packaging)&#039;&#039;&lt;br /&gt;
  &amp;lt;!-- includes [[Abuild_and_Helpers#apkbuild-cpan|Apkbuild-cpan]] --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- includes [[Abuild_and_Helpers#apkbuild-pypi|Apkbuild-pypi]] --&amp;gt;&lt;br /&gt;
  &amp;lt;!--&lt;br /&gt;
   [[Abuild_and_Helpers#buildrepo|Buildrepo]]&lt;br /&gt;
   [[Abuild_and_Helpers#abuild-sign|Abuild-sign]]&lt;br /&gt;
   [[Abuild_and_Helpers#abuild-tar|Abuild-tar]]&lt;br /&gt;
   [[Abuild_and_Helpers#abump|Abump]]&lt;br /&gt;
   [[Abuild_helpers#apkgrel|Apkgrel]]&lt;br /&gt;
  --&amp;gt;&lt;br /&gt;
* [[Creating an Alpine package]]&lt;br /&gt;
  &amp;lt;!-- includes [[Setup your system and account for building packages]] --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- includes [[Newapkbuild]]&lt;br /&gt;
       To create the actual APKBUILD file, newapkbuild can give you a template to start with.&lt;br /&gt;
       It will create a directory with the given package name, place an example/template APKBUILD &lt;br /&gt;
       file to the given directory, and fill some variables if those are provided. --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- includes [[Local_APK_cache]] --&amp;gt;&lt;br /&gt;
** [[Package policies]]&lt;br /&gt;
** [[Package Maintainers]]&lt;br /&gt;
* [[Custom Kernel]]&lt;br /&gt;
* [[APKBUILD Reference]]&lt;br /&gt;
* [[APKBUILD examples]]&lt;br /&gt;
* [[Alpine package format]]&lt;br /&gt;
* [[Apkindex format]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[Development using git]] &amp;lt;!-- includes [[Development using git:Configuration]] [[Development using git:Email]] --&amp;gt;&lt;br /&gt;
** [[Development using git:Basic usage|Basic usage]]&lt;br /&gt;
** [[Package Maintainers]]&lt;br /&gt;
** [[Creating patches]]&lt;br /&gt;
** [[Development using git:Developer repositories|Developer repositories]]&lt;br /&gt;
** [[Development using git:Cgit|Cgit]]&lt;br /&gt;
** [[Cgit|Another cgit page]]&lt;br /&gt;
&lt;br /&gt;
=== Misc ===&lt;br /&gt;
&lt;br /&gt;
* [[Alpine Package Testing Suite]] &#039;&#039;work in progress&#039;&#039;&lt;br /&gt;
* [[Alpine Release Testing Checklist]]&lt;br /&gt;
* [[Running glibc programs]]&lt;br /&gt;
* [[Alpine Source Map by boot sequence]]&lt;br /&gt;
&lt;br /&gt;
== Alpine Configuration Framework ==&lt;br /&gt;
{{Draft|Needs to be organized/consolidated.}}&lt;br /&gt;
&lt;br /&gt;
* [[Alpine Configuration Framework Design]] (Why ACF is the way it is)&lt;br /&gt;
* [[Writing User Documentation for ACF]]&lt;br /&gt;
* [[ACF mvc.lua reference|mvc.lua reference]] - mvc.lua is the core of ACF &lt;br /&gt;
* [[ACF mvc.lua example|mvc.lua example]] - build a simple (command-line) application &lt;br /&gt;
* [[ACF acf www-controller.lua reference|acf www-controller reference]] - ACF www application functions &lt;br /&gt;
* [[ACF acf www example|acf www-controller example]] - webify the above examples &lt;br /&gt;
* [[ACF how to write]] - Step by step howto for writing acfs &lt;br /&gt;
* [[ACF core principles]] - Things that are standard across the application &lt;br /&gt;
* [[LuaPosix]] - Documentation for the Lua Posix functions &lt;br /&gt;
* [[ACF Libraries]] - Document the libraries and common functions &lt;br /&gt;
* [[Writing ACF Views]] - Guide for writing a view &lt;br /&gt;
* [[Writing ACF Controllers]] - Guide for writing a controller &lt;br /&gt;
* [[Writing ACF Models]] - Guide for writing a model&lt;br /&gt;
&lt;br /&gt;
* [[ACF css]]&lt;br /&gt;
* [[ACF packages]]&lt;br /&gt;
* [[APKBUILD examples:ACF]]&lt;br /&gt;
* [[Apk.lua]]&lt;br /&gt;
* [[Changing passwords for ACF]]&lt;br /&gt;
* [[Generating SSL certs with ACF]]&lt;br /&gt;
* [[Generating SSL certs with ACF 1.9]]&lt;br /&gt;
* [[Getting started with ACF development]]&lt;br /&gt;
* [[Managing ACF]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Alpine-developed Utilities ==&lt;br /&gt;
* [[Alpine Wall]] - [[How-To Alpine Wall]] - [[Alpine Wall User&#039;s Guide]] &#039;&#039;(a new firewall management framework)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Alpine Design Docs ==&lt;br /&gt;
* [[Architecture]]&lt;br /&gt;
* [[File Formats]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Jjott</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Running_Alpine_in_a_Docker_Container&amp;diff=15998</id>
		<title>Running Alpine in a Docker Container</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Running_Alpine_in_a_Docker_Container&amp;diff=15998"/>
		<updated>2019-06-12T17:38:58Z</updated>

		<summary type="html">&lt;p&gt;Jjott: /* using mkinitfs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some things you might want to know if you&#039;re running Alpine in a Docker container.&lt;br /&gt;
&lt;br /&gt;
== using mkinitfs ==&lt;br /&gt;
&lt;br /&gt;
By default mkinitfs will use the running kernel to build the initfs. Since your Docker container is under some other kernel you need to specify this manually.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;apk add linux-vanilla&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cat /usr/share/kernel/vanilla/kernel.release&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mkinitfs 4.19.41-0-vanilla&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mkinitfs `cat /usr/share/kernel/vanilla/kernel.release`&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Docker]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Virtualization]]&lt;/div&gt;</summary>
		<author><name>Jjott</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Running_Alpine_in_a_Docker_Container&amp;diff=15997</id>
		<title>Running Alpine in a Docker Container</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Running_Alpine_in_a_Docker_Container&amp;diff=15997"/>
		<updated>2019-06-12T17:27:58Z</updated>

		<summary type="html">&lt;p&gt;Jjott: /* using mkinitfs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some things you might want to know if you&#039;re running Alpine in a Docker container.&lt;br /&gt;
&lt;br /&gt;
== using mkinitfs ==&lt;br /&gt;
&lt;br /&gt;
By default mkinitfs will use the running kernel to build the initfs. Since your Docker container is under some other kernel you need to specify this manually.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cat /usr/share/kernel/vanilla/kernel.release&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mkinitfs 4.19.41-0-vanilla&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mkinitfs `cat /usr/share/kernel/vanilla/kernel.release`&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Docker]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Virtualization]]&lt;/div&gt;</summary>
		<author><name>Jjott</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Running_Alpine_in_a_Docker_Container&amp;diff=15996</id>
		<title>Running Alpine in a Docker Container</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Running_Alpine_in_a_Docker_Container&amp;diff=15996"/>
		<updated>2019-06-12T17:27:47Z</updated>

		<summary type="html">&lt;p&gt;Jjott: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some things you might want to know if you&#039;re running Alpine in a Docker container.&lt;br /&gt;
&lt;br /&gt;
== using mkinitfs ==&lt;br /&gt;
&lt;br /&gt;
By default mkinitfs will use the running kernel to build the initfs. Since your Docker container is under some other kernel you need to specify this manually.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cat /usr/share/kernel/vanilla/kernel.release&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;mkinitfs 4.19.41-0-vanilla&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;mkinitfs `cat /usr/share/kernel/vanilla/kernel.release`&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Docker]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Virtualization]]&lt;/div&gt;</summary>
		<author><name>Jjott</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Running_Alpine_in_a_Docker_Container&amp;diff=15995</id>
		<title>Running Alpine in a Docker Container</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Running_Alpine_in_a_Docker_Container&amp;diff=15995"/>
		<updated>2019-06-12T17:27:16Z</updated>

		<summary type="html">&lt;p&gt;Jjott: /* using mkinitfs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some things you might want to know if you&#039;re running Alpine in a Docker container.&lt;br /&gt;
&lt;br /&gt;
== using mkinitfs ==&lt;br /&gt;
&lt;br /&gt;
By default mkinitfs will use the running kernel to build the initfs. Since your Docker container is under some other kernel you need to specify this manually.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cat /usr/share/kernel/vanilla/kernel.release&lt;br /&gt;
mkinitfs 4.19.41-0-vanilla&lt;br /&gt;
mkinitfs `cat /usr/share/kernel/vanilla/kernel.release`&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Docker]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Virtualization]]&lt;/div&gt;</summary>
		<author><name>Jjott</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Running_Alpine_in_a_Docker_Container&amp;diff=15994</id>
		<title>Running Alpine in a Docker Container</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Running_Alpine_in_a_Docker_Container&amp;diff=15994"/>
		<updated>2019-06-12T17:26:24Z</updated>

		<summary type="html">&lt;p&gt;Jjott: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some things you might want to know if you&#039;re running Alpine in a Docker container.&lt;br /&gt;
&lt;br /&gt;
== using mkinitfs ==&lt;br /&gt;
&lt;br /&gt;
By default mkinitfs will use the running kernel to build the initfs. Since your Docker container is under some other kernel you need to specify this manually.&lt;br /&gt;
&lt;br /&gt;
* cat /usr/share/kernel/vanilla/kernel.release&lt;br /&gt;
* mkinitfs 4.19.41-0-vanilla&lt;br /&gt;
* mkinitfs `cat /usr/share/kernel/vanilla/kernel.release`&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Docker]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Virtualization]]&lt;/div&gt;</summary>
		<author><name>Jjott</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Running_Alpine_in_a_Docker_Container&amp;diff=15993</id>
		<title>Running Alpine in a Docker Container</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Running_Alpine_in_a_Docker_Container&amp;diff=15993"/>
		<updated>2019-06-12T17:25:03Z</updated>

		<summary type="html">&lt;p&gt;Jjott: Created page with &amp;quot;Some things you might want to know if you&amp;#039;re running Alpine in a Docker container.  == using mkinitfs ==  By default mkinitfs will use the running kernel to build the initfs....&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some things you might want to know if you&#039;re running Alpine in a Docker container.&lt;br /&gt;
&lt;br /&gt;
== using mkinitfs ==&lt;br /&gt;
&lt;br /&gt;
By default mkinitfs will use the running kernel to build the initfs. Since your Docker container is under some other kernel you need to specify this manually.&lt;br /&gt;
&lt;br /&gt;
* cat /usr/share/kernel/vanilla/kernel.release&lt;br /&gt;
* mkinitfs 4.19.41-0-vanilla&lt;br /&gt;
* mkinitfs `cat /usr/share/kernel/vanilla/kernel.release`&lt;/div&gt;</summary>
		<author><name>Jjott</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Docker&amp;diff=15992</id>
		<title>Docker</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Docker&amp;diff=15992"/>
		<updated>2019-06-12T17:20:09Z</updated>

		<summary type="html">&lt;p&gt;Jjott: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Alpine makes a great docker container, because it is so small and optimized to be run in RAM.&lt;br /&gt;
It might also might make a good controller for several docker containers with enough RAM.  I haven&#039;t tested this yet&lt;br /&gt;
Docker&#039;s setup is easy to use from command line.  Commands can be run from an interactive shell, or through a configuration file called a &amp;quot;Dockerfile&amp;quot;. &lt;br /&gt;
docker.com has excellent walk-throughs on how to run, pull, setup a container, commit an image, and create a configuration file.  hub.docker.com is a freemium setup, where the first private repository is free.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
 &lt;br /&gt;
Run &amp;lt;code&amp;gt;apk add docker&amp;lt;/code&amp;gt; to install Docker on Alpine Linux.&lt;br /&gt;
&lt;br /&gt;
The Docker package is in the &#039;Community&#039; repository, so if the &#039;&#039;&#039;apk add&#039;&#039;&#039; fails with &#039;&#039;&#039;unsatisfiable constraints&#039;&#039;&#039;, you need to edit the &#039;&#039;&#039;/etc/apk/repositories&#039;&#039;&#039; file to add (or uncomment) a line like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;http://dl-cdn.alpinelinux.org/alpine/latest-stable/community&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
then run &amp;lt;code&amp;gt;apk update&amp;lt;/code&amp;gt; to index the repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;To start the Docker daemon at boot, run:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;rc-update add docker boot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Then to start the Docker daemon manually, run:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;service docker start&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note|On older version of Alpine Linux with older version of docker you&#039;ll also need to disable some kernel security flags in order to build images:}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sysctl -w kernel.grsecurity.chroot_deny_chmod=0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sysctl -w kernel.grsecurity.chroot_deny_mknod=0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information, have a look at the [https://github.com/docker/docker/issues/20303 corresponding Github issue].&lt;br /&gt;
&lt;br /&gt;
Anyway, this weakening of security is not necessary to do with Alpine 3.4.x and Docker 1.12 as of August 2016 anymore.&lt;br /&gt;
&lt;br /&gt;
=== Docker Compose ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;To install docker-compose, first install pip:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;apk add py-pip&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Since docker-compose version 1.24.0, you also need some dev dependencies:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;apk add python-dev libffi-dev openssl-dev gcc libc-dev make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Then install docker-compose, run:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pip install docker-compose&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Isolate containers with a user namespace ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
adduser -SDHs /sbin/nologin dockremap&lt;br /&gt;
addgroup -S dockremap&lt;br /&gt;
echo dockremap:$(cat /etc/passwd|grep dockremap|cut -d: -f3):65536 &amp;gt;&amp;gt; /etc/subuid&lt;br /&gt;
echo dockremap:$(cat /etc/passwd|grep dockremap|cut -d: -f4):65536 &amp;gt;&amp;gt; /etc/subgid&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and add in &#039;&#039;&#039;/etc/docker/daemon.json&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{  &lt;br /&gt;
        &amp;quot;userns-remap&amp;quot;: &amp;quot;dockremap&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;You may also consider these options : &#039;&#039;&#039;&lt;br /&gt;
        &amp;quot;experimental&amp;quot;: false,&lt;br /&gt;
        &amp;quot;live-restore&amp;quot;: true,&lt;br /&gt;
        &amp;quot;ipv6&amp;quot;: false,&lt;br /&gt;
        &amp;quot;icc&amp;quot;: false,&lt;br /&gt;
        &amp;quot;no-new-privileges&amp;quot;: false&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You will find all possible configurations here[https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file].&lt;br /&gt;
&lt;br /&gt;
== Example: How to install docker from Arch ==&lt;br /&gt;
&lt;br /&gt;
https://wiki.archlinux.org/index.php/Docker&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;WARNING: No {swap,memory} limit support&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
You may, probably, encounter this message by executing &amp;lt;code&amp;gt;docker info&amp;lt;/code&amp;gt;.&lt;br /&gt;
To correct this situation we have to enable the &amp;lt;code&amp;gt;cgroup_enable=memory swapaccount=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Alpine 3.8 ====&lt;br /&gt;
Well I&#039;m not sure it was&#039;nt the case before but for sure with Alpine 3.8 you must config cgroups properly&lt;br /&gt;
&amp;lt;pre&amp;gt;echo &amp;quot;cgroup /sys/fs/cgroup cgroup defaults 0 0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt;&amp;gt; /etc/cgconfig.conf &amp;lt;&amp;lt;EOF&lt;br /&gt;
mount {&lt;br /&gt;
cpuacct = /cgroup/cpuacct;&lt;br /&gt;
memory = /cgroup/memory;&lt;br /&gt;
devices = /cgroup/devices;&lt;br /&gt;
freezer = /cgroup/freezer;&lt;br /&gt;
net_cls = /cgroup/net_cls;&lt;br /&gt;
blkio = /cgroup/blkio;&lt;br /&gt;
cpuset = /cgroup/cpuset;&lt;br /&gt;
cpu = /cgroup/cpu;&lt;br /&gt;
}&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Grub ===&lt;br /&gt;
Well; if you use Grub it is like any other linux and you just have to add the cgroup condition into &amp;lt;code&amp;gt;/etc/default/grub&amp;lt;/code&amp;gt; than upgrade your grub&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;... e=memory swapaccount=1&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Extlinux ===&lt;br /&gt;
With Extlinux you also add the cgroup condition but inside &amp;lt;code&amp;gt;/etc/update-extlinux.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;default_kernel_opts=&amp;quot;... cgroup_enable=memory swapaccount=1&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
than update the config and reboot&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;update-extlinux&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;How to use docker&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
The best documentation for how to use Docker and create containers is at the main docker site.  Adding anything more to it here would be redundant.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;http://docs.docker.com/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
if you create an account at docker.com you can browse through other user&#039;s images and learn from the syntax in contributor&#039;s dockerfiles.&lt;br /&gt;
&lt;br /&gt;
Official Docker image files are denoted by a blue ribon on the website.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://www.erianna.com/creating-a-alpine-linux-repository/ Creating &amp;amp; Hosting an Alpine Linux Package Repository for Docker Packages]&lt;br /&gt;
* [[Running Alpine in a Docker Container]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Virtualization]]&lt;/div&gt;</summary>
		<author><name>Jjott</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Docker&amp;diff=15991</id>
		<title>Docker</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Docker&amp;diff=15991"/>
		<updated>2019-06-12T17:19:20Z</updated>

		<summary type="html">&lt;p&gt;Jjott: /* See also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Alpine makes a great docker container, because it is so small and optimized to be run in RAM.&lt;br /&gt;
It might also might make a good controller for several docker containers with enough RAM.  I haven&#039;t tested this yet&lt;br /&gt;
Docker&#039;s setup is easy to use from command line.  Commands can be run from an interactive shell, or through a configuration file called a &amp;quot;Dockerfile&amp;quot;. &lt;br /&gt;
docker.com has excellent walk-throughs on how to run, pull, setup a container, commit an image, and create a configuration file.  hub.docker.com is a freemium setup, where the first private repository is free.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
 &lt;br /&gt;
Run &amp;lt;code&amp;gt;apk add docker&amp;lt;/code&amp;gt; to install Docker on Alpine Linux.&lt;br /&gt;
&lt;br /&gt;
The Docker package is in the &#039;Community&#039; repository, so if the &#039;&#039;&#039;apk add&#039;&#039;&#039; fails with &#039;&#039;&#039;unsatisfiable constraints&#039;&#039;&#039;, you need to edit the &#039;&#039;&#039;/etc/apk/repositories&#039;&#039;&#039; file to add (or uncomment) a line like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;http://dl-cdn.alpinelinux.org/alpine/latest-stable/community&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
then run &amp;lt;code&amp;gt;apk update&amp;lt;/code&amp;gt; to index the repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;To start the Docker daemon at boot, run:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;rc-update add docker boot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Then to start the Docker daemon manually, run:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;service docker start&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note|On older version of Alpine Linux with older version of docker you&#039;ll also need to disable some kernel security flags in order to build images:}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sysctl -w kernel.grsecurity.chroot_deny_chmod=0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sysctl -w kernel.grsecurity.chroot_deny_mknod=0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information, have a look at the [https://github.com/docker/docker/issues/20303 corresponding Github issue].&lt;br /&gt;
&lt;br /&gt;
Anyway, this weakening of security is not necessary to do with Alpine 3.4.x and Docker 1.12 as of August 2016 anymore.&lt;br /&gt;
&lt;br /&gt;
=== Docker Compose ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;To install docker-compose, first install pip:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;apk add py-pip&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Since docker-compose version 1.24.0, you also need some dev dependencies:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;apk add python-dev libffi-dev openssl-dev gcc libc-dev make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Then install docker-compose, run:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pip install docker-compose&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Isolate containers with a user namespace ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
adduser -SDHs /sbin/nologin dockremap&lt;br /&gt;
addgroup -S dockremap&lt;br /&gt;
echo dockremap:$(cat /etc/passwd|grep dockremap|cut -d: -f3):65536 &amp;gt;&amp;gt; /etc/subuid&lt;br /&gt;
echo dockremap:$(cat /etc/passwd|grep dockremap|cut -d: -f4):65536 &amp;gt;&amp;gt; /etc/subgid&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and add in &#039;&#039;&#039;/etc/docker/daemon.json&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{  &lt;br /&gt;
        &amp;quot;userns-remap&amp;quot;: &amp;quot;dockremap&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;You may also consider these options : &#039;&#039;&#039;&lt;br /&gt;
        &amp;quot;experimental&amp;quot;: false,&lt;br /&gt;
        &amp;quot;live-restore&amp;quot;: true,&lt;br /&gt;
        &amp;quot;ipv6&amp;quot;: false,&lt;br /&gt;
        &amp;quot;icc&amp;quot;: false,&lt;br /&gt;
        &amp;quot;no-new-privileges&amp;quot;: false&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You will find all possible configurations here[https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file].&lt;br /&gt;
&lt;br /&gt;
== Example: How to install docker from Arch ==&lt;br /&gt;
&lt;br /&gt;
https://wiki.archlinux.org/index.php/Docker&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;WARNING: No {swap,memory} limit support&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
You may, probably, encounter this message by executing &amp;lt;code&amp;gt;docker info&amp;lt;/code&amp;gt;.&lt;br /&gt;
To correct this situation we have to enable the &amp;lt;code&amp;gt;cgroup_enable=memory swapaccount=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Alpine 3.8 ====&lt;br /&gt;
Well I&#039;m not sure it was&#039;nt the case before but for sure with Alpine 3.8 you must config cgroups properly&lt;br /&gt;
&amp;lt;pre&amp;gt;echo &amp;quot;cgroup /sys/fs/cgroup cgroup defaults 0 0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt;&amp;gt; /etc/cgconfig.conf &amp;lt;&amp;lt;EOF&lt;br /&gt;
mount {&lt;br /&gt;
cpuacct = /cgroup/cpuacct;&lt;br /&gt;
memory = /cgroup/memory;&lt;br /&gt;
devices = /cgroup/devices;&lt;br /&gt;
freezer = /cgroup/freezer;&lt;br /&gt;
net_cls = /cgroup/net_cls;&lt;br /&gt;
blkio = /cgroup/blkio;&lt;br /&gt;
cpuset = /cgroup/cpuset;&lt;br /&gt;
cpu = /cgroup/cpu;&lt;br /&gt;
}&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Grub ===&lt;br /&gt;
Well; if you use Grub it is like any other linux and you just have to add the cgroup condition into &amp;lt;code&amp;gt;/etc/default/grub&amp;lt;/code&amp;gt; than upgrade your grub&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;... e=memory swapaccount=1&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Extlinux ===&lt;br /&gt;
With Extlinux you also add the cgroup condition but inside &amp;lt;code&amp;gt;/etc/update-extlinux.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;default_kernel_opts=&amp;quot;... cgroup_enable=memory swapaccount=1&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
than update the config and reboot&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;update-extlinux&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;How to use docker&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
The best documentation for how to use Docker and create containers is at the main docker site.  Adding anything more to it here would be redundant.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;http://docs.docker.com/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
if you create an account at docker.com you can browse through other user&#039;s images and learn from the syntax in contributor&#039;s dockerfiles.&lt;br /&gt;
&lt;br /&gt;
Official Docker image files are denoted by a blue ribon on the website.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://www.erianna.com/creating-a-alpine-linux-repository/ Creating &amp;amp; Hosting an Alpine Linux Package Repository for Docker Packages]&lt;br /&gt;
* [Running Alpine in a Docker Container]&lt;br /&gt;
[[Category:Virtualization]]&lt;/div&gt;</summary>
		<author><name>Jjott</name></author>
	</entry>
</feed>