<?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=G4li</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=G4li"/>
	<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/wiki/Special:Contributions/G4li"/>
	<updated>2026-04-30T19:34:32Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Packer_installation&amp;diff=18725</id>
		<title>Packer installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Packer_installation&amp;diff=18725"/>
		<updated>2021-03-17T17:15:36Z</updated>

		<summary type="html">&lt;p&gt;G4li: change /dev/vg0/lv_root to /dev/sda3&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Basic understanding ==&lt;br /&gt;
&lt;br /&gt;
Alpine Linux installer is just a bunch of shell scripts, see [https://git.alpinelinux.org/alpine-conf/tree/setup-alpine.in setup-alpine.in] in [https://git.alpinelinux.org/alpine-conf/tree alpine-conf] repository. Understanding this is key to success.&lt;br /&gt;
&lt;br /&gt;
== packer example boot_command ==&lt;br /&gt;
&lt;br /&gt;
This is a part of &#039;boot_command&#039; from [https://www.packer.io/docs/builders/qemu.html QEMU] builder:&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;boot_command&amp;quot;: [&lt;br /&gt;
   &amp;quot;root&amp;lt;enter&amp;gt;&amp;lt;wait&amp;gt;&amp;quot;,&lt;br /&gt;
   &amp;quot;ifconfig eth0 up &amp;amp;&amp;amp; udhcpc -i eth0&amp;lt;enter&amp;gt;&amp;lt;wait5&amp;gt;&amp;quot;,&lt;br /&gt;
   &amp;quot;wget http://&amp;lt;nowiki&amp;gt;{{ .HTTPIP }}:{{ .HTTPPort }}&amp;lt;/nowiki&amp;gt;/answers&amp;lt;enter&amp;gt;&amp;lt;wait&amp;gt;&amp;quot;,&lt;br /&gt;
   &amp;quot;setup-alpine -f answers&amp;lt;enter&amp;gt;&amp;lt;wait5&amp;gt;&amp;quot;,&lt;br /&gt;
   &amp;quot;&amp;lt;nowiki&amp;gt;{{user `ssh_password`}}&amp;lt;/nowiki&amp;gt;&amp;lt;enter&amp;gt;&amp;lt;wait&amp;gt;&amp;quot;,&lt;br /&gt;
   &amp;quot;&amp;lt;nowiki&amp;gt;{{user `ssh_password`}}&amp;lt;/nowiki&amp;gt;&amp;lt;enter&amp;gt;&amp;lt;wait5&amp;gt;&amp;quot;,&lt;br /&gt;
   &amp;quot;&amp;lt;wait&amp;gt;y&amp;lt;enter&amp;gt;&amp;lt;wait10&amp;gt;&amp;quot;,&lt;br /&gt;
   &amp;quot;rc-service sshd stop&amp;lt;enter&amp;gt;&amp;quot;,&lt;br /&gt;
   &amp;quot;mount /dev/sda3 /mnt&amp;lt;enter&amp;gt;&amp;quot;,&lt;br /&gt;
   &amp;quot;echo &#039;PermitRootLogin yes&#039; &amp;gt;&amp;gt; /mnt/etc/ssh/sshd_config&amp;lt;enter&amp;gt;&amp;quot;,&lt;br /&gt;
   &amp;quot;umount /mnt&amp;lt;enter&amp;gt;&amp;quot;,&lt;br /&gt;
   &amp;quot;reboot&amp;lt;enter&amp;gt;&amp;quot;&lt;br /&gt;
 ],&lt;br /&gt;
&lt;br /&gt;
What it does is to mimic a human typing in &amp;quot;console&amp;quot; (VNC). Before running Alpine Linux installer (ie. &#039;setup-alpine&#039;) it does:&lt;br /&gt;
&lt;br /&gt;
* logins in as &#039;root&#039; (installation media doesn&#039;t require password)&lt;br /&gt;
* configures first network interfaces via DHCP&lt;br /&gt;
* gets &#039;answers&#039; file from &#039;packer&#039; built-in HTTP server to be able to start automated installation&lt;br /&gt;
* runs Alpine Linux &#039;setup-alpine&#039; installer script with &#039;answers&#039; file&lt;br /&gt;
* as &#039;setup-alpine&#039; script asks to configure root password, it just does that&lt;br /&gt;
* after that, you can run whatever commands you want, but keep in mind that it is still installer media; you can &#039;reboot&#039; into installed system and run &#039;provisioners&#039;&lt;br /&gt;
&lt;br /&gt;
The &#039;answer&#039; file can be something like this:&lt;br /&gt;
&lt;br /&gt;
 KEYMAPOPTS=&amp;quot;us us&amp;quot;&lt;br /&gt;
 HOSTNAMEOPTS=&amp;quot;-n alpine&amp;quot;&lt;br /&gt;
 INTERFACESOPTS=&amp;quot;auto lo&lt;br /&gt;
 iface lo inet loopback&lt;br /&gt;
 &lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet dhcp&lt;br /&gt;
 &amp;quot;&lt;br /&gt;
 DNSOPTS=&amp;quot;-n 8.8.8.8&amp;quot;&lt;br /&gt;
 TIMEZONEOPTS=&amp;quot;-z UTC&amp;quot;&lt;br /&gt;
 PROXYOPTS=&amp;quot;none&amp;quot;&lt;br /&gt;
 APKREPOSOPTS=&amp;quot;-1&amp;quot;&lt;br /&gt;
 SSHDOPTS=&amp;quot;-c openssh&amp;quot;&lt;br /&gt;
 NTPOPTS=&amp;quot;-c openntpd&amp;quot;&lt;br /&gt;
 DISKOPTS=&amp;quot;-L -m sys /dev/vda&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== packer example provisioners ==&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;provisioners&amp;quot;: [&lt;br /&gt;
   {&lt;br /&gt;
     &amp;quot;type&amp;quot;: &amp;quot;shell&amp;quot;,&lt;br /&gt;
     &amp;quot;scripts&amp;quot;: [&lt;br /&gt;
       &amp;quot;&amp;lt;nowiki&amp;gt;{{ template_dir }}&amp;lt;/nowiki&amp;gt;/../scripts/00_alpinelinux_base.sh&amp;quot;,&lt;br /&gt;
       &amp;quot;&amp;lt;nowiki&amp;gt;{{ template_dir }}&amp;lt;/nowiki&amp;gt;/../scripts/99_alpinelinux_base.sh&amp;quot;&lt;br /&gt;
     ]&lt;br /&gt;
   }&lt;br /&gt;
 ],&lt;br /&gt;
&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>G4li</name></author>
	</entry>
</feed>