<?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=Hausmarke</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=Hausmarke"/>
	<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/wiki/Special:Contributions/Hausmarke"/>
	<updated>2026-05-10T03:57:26Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Classic_install_or_sys_mode_on_Raspberry_Pi&amp;diff=15395</id>
		<title>Classic install or sys mode on Raspberry Pi</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Classic_install_or_sys_mode_on_Raspberry_Pi&amp;diff=15395"/>
		<updated>2018-08-06T00:51:28Z</updated>

		<summary type="html">&lt;p&gt;Hausmarke: Added remark that internet connection is required to execute setup-alpine&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A howto for classic installation, or &amp;quot;sys mode&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
This method works with a desktop PC under Ubuntu and other Linuxes.&lt;br /&gt;
&lt;br /&gt;
= Preparation =&lt;br /&gt;
&lt;br /&gt;
Download the archive from the &#039;&#039;&#039;Rasperry Pi armhf&#039;&#039;&#039; link  [https://alpinelinux.org/downloads/ here].&lt;br /&gt;
&#039;&#039;&#039;Sha256&#039;&#039;&#039; and &#039;&#039;&#039;GPG&#039;&#039;&#039; links appear next to the link to check the download.&lt;br /&gt;
&lt;br /&gt;
On a class 10 sd-card with a size of 8Go or more, create two partitions:-&lt;br /&gt;
* First in &#039;&#039;&#039;fat16&#039;&#039;&#039; with size of 256Mo. You may have to check &amp;lt;code&amp;gt;boot&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;lba&amp;lt;/code&amp;gt; flags&lt;br /&gt;
* Second in &#039;&#039;&#039;ext4&#039;&#039;&#039; with the remaining place&lt;br /&gt;
&lt;br /&gt;
Eject and insert your SD card in order to recognize all the partitions.&lt;br /&gt;
&lt;br /&gt;
Now go into the first partition (&#039;&#039;&#039;fat16&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
Untar the archive with {{pkg|tar}}:&lt;br /&gt;
 tar zxvf ~/Download/alpine-rpi-*-armhf.tar.gz&lt;br /&gt;
&lt;br /&gt;
Due to a bug, it is recommended to add a file named &amp;lt;code&amp;gt;usercfg.txt&amp;lt;/code&amp;gt; into the partition.  The file should contain the following single line:&lt;br /&gt;
&lt;br /&gt;
 enable_uart=1&lt;br /&gt;
&lt;br /&gt;
Eject the SD card properly, insert it into the Raspberry Pi, plug a usb keyboard in plus the HDMI and network cables, and power on.&lt;br /&gt;
&lt;br /&gt;
When a prompt displays, connect as root without a password.&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
Execute the following commands. Make sure there is an internet connection available otherwise setting up the apk mirrors will fail.&lt;br /&gt;
&lt;br /&gt;
 setup-alpine &lt;br /&gt;
&lt;br /&gt;
Set the mapping keyboard, the timezone, how to connect to the network (&#039;&#039;&#039;dhcp&#039;&#039;&#039; is the best method), say &#039;&#039;&#039;none&#039;&#039;&#039; at &amp;lt;code&amp;gt;save config&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;save cache&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 apk update&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi has no battery for his hardware clock, so synchronize with an ntp server:&lt;br /&gt;
&lt;br /&gt;
 apk add chrony   &lt;br /&gt;
 service chronyd restart&lt;br /&gt;
 apk add e2fsprogs&lt;br /&gt;
 mount /dev/mmcblk0p2 /mnt  # The second partition, in ext4 format, where Alpine Linux is installing in sys mode&lt;br /&gt;
 setup-disk -m sys /mnt&lt;br /&gt;
 mount -o remount,rw /dev/mmcblk0p1  # An update in the first partition is required for the next reboot.&lt;br /&gt;
&lt;br /&gt;
Clean up the boot folder in the first partition to drop unused files:&lt;br /&gt;
&lt;br /&gt;
 rm -f /media/mmcblk0p1/boot/*  &lt;br /&gt;
 cd /mnt       # We are in the second partition &lt;br /&gt;
 rm boot/boot  # Drop the unused symbolink link&lt;br /&gt;
&lt;br /&gt;
Move the image and &amp;lt;code&amp;gt;init ram&amp;lt;/code&amp;gt; for Alpine Linux into the right place:&lt;br /&gt;
&lt;br /&gt;
 mv boot/* /media/mmcblk0p1/boot/  &lt;br /&gt;
 rm -Rf boot&lt;br /&gt;
 mkdir media/mmcblk0p1   # It&#039;s the mount point for the first partition on the next reboot&lt;br /&gt;
&lt;br /&gt;
Don&#039;t worry about the error with the following:&lt;br /&gt;
&lt;br /&gt;
 ln -s media/mmcblk0p1/boot boot&lt;br /&gt;
&lt;br /&gt;
Update &amp;lt;code&amp;gt;/etc/fstab&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;/dev/mmcblk0p1 /media/mmcblk0p1 vfat defaults 0 0&amp;quot; &amp;gt;&amp;gt; etc/fstab&lt;br /&gt;
 sed -i &#039;/cdrom/d&#039; etc/fstab   # Of course, you don&#039;t have any cdrom or floppy on the Raspberry Pi&lt;br /&gt;
 sed -i &#039;/floppy/d&#039; etc/fstab&lt;br /&gt;
 cd /media/mmcblk0p1&lt;br /&gt;
&lt;br /&gt;
If you want to active edge repository&lt;br /&gt;
 sed -i &#039;/edge/s/^#//&#039; etc/apk/repositories   # But enable the repository for community if you want vim, mc, php, apache, nginx, etc.&lt;br /&gt;
&lt;br /&gt;
For the next boot, indicate that the root filesystem is on the second partition:&lt;br /&gt;
&lt;br /&gt;
 sed -i &#039;s/^/root=\/dev\/mmcblk0p2 /&#039; cmdline.txt  &lt;br /&gt;
 reboot &lt;br /&gt;
&lt;br /&gt;
That works on &#039;&#039;&#039;Raspberry Pi 3B&#039;&#039;&#039; and &#039;&#039;&#039;1B&#039;&#039;&#039;, but if you have the &#039;&#039;&#039;1B&#039;&#039;&#039; version, let&#039;s be very, very patient (several tens of minutes).&lt;br /&gt;
&lt;br /&gt;
If a hard disk is connected via &#039;&#039;&#039;usb&#039;&#039;&#039;, you can replace the &amp;lt;code&amp;gt;/dev/mmcblk0p2&amp;lt;/code&amp;gt; above with &amp;lt;code&amp;gt;/dev/sda1&amp;lt;/code&amp;gt;, for example.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t like the &#039;&#039;&#039;sed&#039;&#039;&#039; above and its expressions, you can use a nano editor instead after executing the following command:&lt;br /&gt;
&lt;br /&gt;
 apk add nano&lt;br /&gt;
&lt;br /&gt;
= Post-installation =&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Raspberry Pi (RPI)&#039;&#039;&#039; has no battery to keep the time updated. Therefore, we need to enable the right service to synchronize with an ntp server:&lt;br /&gt;
&lt;br /&gt;
 rc-update del hwclock boot&lt;br /&gt;
 rc-update add swclock boot&lt;br /&gt;
 service hwclock stop&lt;br /&gt;
 service swclock start&lt;br /&gt;
&lt;br /&gt;
Update and upgrade the system:&lt;br /&gt;
&lt;br /&gt;
 apk update&lt;br /&gt;
 apk upgrade&lt;br /&gt;
&lt;br /&gt;
If you want a cool editor ({{Pkg|vim}}), a file manager ({{Pkg|mc}}), and to determine which tasks are running and which services are starting on boot ({{Pkg|htop}}), add the right packages:&lt;br /&gt;
&lt;br /&gt;
 apk add vim mc htop&lt;br /&gt;
 htop&lt;br /&gt;
 rc-update&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;RPI 3B&#039;&#039;&#039; has wifi on board for networking, so start the service for the encrypted key on wpa2 protocol:&lt;br /&gt;
&lt;br /&gt;
 apk add wpa_supplicant&lt;br /&gt;
 rc-update add wpa_supplicant boot&lt;br /&gt;
 service wpa_supplicant start&lt;br /&gt;
 setup-interfaces &lt;br /&gt;
Replace the IP address by dhcp for all the interfaces if necessary;  select the SSID network for wifi;  and add password.&lt;br /&gt;
 ip addr    # to know the IP address for all interfaces&lt;br /&gt;
&lt;br /&gt;
If you want to connect on your remote RPI via &amp;lt;code&amp;gt;ssh&amp;lt;/code&amp;gt;, an additional user (&#039;&#039;foo&#039;&#039;) and the {{Pkg|sudo}} package are required because it&#039;s forbidden to connect as root:&lt;br /&gt;
&lt;br /&gt;
 apk add sudo&lt;br /&gt;
 adduser foo&lt;br /&gt;
 adduser foo wheel&lt;br /&gt;
 visudo &lt;br /&gt;
&lt;br /&gt;
Uncomment line #82 with &amp;lt;code&amp;gt;wheel ALL=(ALL) ALL&amp;lt;/code&amp;gt;. If {{Pkg|vim}} is installed, save the changes by typing &#039;&#039;&#039;Esc :x&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
&lt;br /&gt;
* [[Raspberry Pi]]&lt;br /&gt;
* [[Raspberry Pi 3 - Setting Up Bluetooth]]&lt;br /&gt;
* [[Raspberry Pi 3 - Configuring it as wireless access point -AP Mode]]&lt;br /&gt;
* [[Linux Router with VPN on a Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Hausmarke</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Classic_install_or_sys_mode_on_Raspberry_Pi&amp;diff=15394</id>
		<title>Classic install or sys mode on Raspberry Pi</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Classic_install_or_sys_mode_on_Raspberry_Pi&amp;diff=15394"/>
		<updated>2018-08-06T00:36:31Z</updated>

		<summary type="html">&lt;p&gt;Hausmarke: Corrected typo setup-interface to setup-interfaces&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A howto for classic installation, or &amp;quot;sys mode&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
This method works with a desktop PC under Ubuntu and other Linuxes.&lt;br /&gt;
&lt;br /&gt;
= Preparation =&lt;br /&gt;
&lt;br /&gt;
Download the archive from the &#039;&#039;&#039;Rasperry Pi armhf&#039;&#039;&#039; link  [https://alpinelinux.org/downloads/ here].&lt;br /&gt;
&#039;&#039;&#039;Sha256&#039;&#039;&#039; and &#039;&#039;&#039;GPG&#039;&#039;&#039; links appear next to the link to check the download.&lt;br /&gt;
&lt;br /&gt;
On a class 10 sd-card with a size of 8Go or more, create two partitions:-&lt;br /&gt;
* First in &#039;&#039;&#039;fat16&#039;&#039;&#039; with size of 256Mo. You may have to check &amp;lt;code&amp;gt;boot&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;lba&amp;lt;/code&amp;gt; flags&lt;br /&gt;
* Second in &#039;&#039;&#039;ext4&#039;&#039;&#039; with the remaining place&lt;br /&gt;
&lt;br /&gt;
Eject and insert your SD card in order to recognize all the partitions.&lt;br /&gt;
&lt;br /&gt;
Now go into the first partition (&#039;&#039;&#039;fat16&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
Untar the archive with {{pkg|tar}}:&lt;br /&gt;
 tar zxvf ~/Download/alpine-rpi-*-armhf.tar.gz&lt;br /&gt;
&lt;br /&gt;
Due to a bug, it is recommended to add a file named &amp;lt;code&amp;gt;usercfg.txt&amp;lt;/code&amp;gt; into the partition.  The file should contain the following single line:&lt;br /&gt;
&lt;br /&gt;
 enable_uart=1&lt;br /&gt;
&lt;br /&gt;
Eject the SD card properly, insert it into the Raspberry Pi, plug a usb keyboard in plus the HDMI and network cables, and power on.&lt;br /&gt;
&lt;br /&gt;
When a prompt displays, connect as root without a password.&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
Execute the following commands.&lt;br /&gt;
&lt;br /&gt;
 setup-alpine &lt;br /&gt;
&lt;br /&gt;
Set the mapping keyboard, the timezone, how to connect to the network (&#039;&#039;&#039;dhcp&#039;&#039;&#039; is the best method), say &#039;&#039;&#039;none&#039;&#039;&#039; at &amp;lt;code&amp;gt;save config&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;save cache&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 apk update&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi has no battery for his hardware clock, so synchronize with an ntp server:&lt;br /&gt;
&lt;br /&gt;
 apk add chrony   &lt;br /&gt;
 service chronyd restart&lt;br /&gt;
 apk add e2fsprogs&lt;br /&gt;
 mount /dev/mmcblk0p2 /mnt  # The second partition, in ext4 format, where Alpine Linux is installing in sys mode&lt;br /&gt;
 setup-disk -m sys /mnt&lt;br /&gt;
 mount -o remount,rw /dev/mmcblk0p1  # An update in the first partition is required for the next reboot.&lt;br /&gt;
&lt;br /&gt;
Clean up the boot folder in the first partition to drop unused files:&lt;br /&gt;
&lt;br /&gt;
 rm -f /media/mmcblk0p1/boot/*  &lt;br /&gt;
 cd /mnt       # We are in the second partition &lt;br /&gt;
 rm boot/boot  # Drop the unused symbolink link&lt;br /&gt;
&lt;br /&gt;
Move the image and &amp;lt;code&amp;gt;init ram&amp;lt;/code&amp;gt; for Alpine Linux into the right place:&lt;br /&gt;
&lt;br /&gt;
 mv boot/* /media/mmcblk0p1/boot/  &lt;br /&gt;
 rm -Rf boot&lt;br /&gt;
 mkdir media/mmcblk0p1   # It&#039;s the mount point for the first partition on the next reboot&lt;br /&gt;
&lt;br /&gt;
Don&#039;t worry about the error with the following:&lt;br /&gt;
&lt;br /&gt;
 ln -s media/mmcblk0p1/boot boot&lt;br /&gt;
&lt;br /&gt;
Update &amp;lt;code&amp;gt;/etc/fstab&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;/dev/mmcblk0p1 /media/mmcblk0p1 vfat defaults 0 0&amp;quot; &amp;gt;&amp;gt; etc/fstab&lt;br /&gt;
 sed -i &#039;/cdrom/d&#039; etc/fstab   # Of course, you don&#039;t have any cdrom or floppy on the Raspberry Pi&lt;br /&gt;
 sed -i &#039;/floppy/d&#039; etc/fstab&lt;br /&gt;
 cd /media/mmcblk0p1&lt;br /&gt;
&lt;br /&gt;
If you want to active edge repository&lt;br /&gt;
 sed -i &#039;/edge/s/^#//&#039; etc/apk/repositories   # But enable the repository for community if you want vim, mc, php, apache, nginx, etc.&lt;br /&gt;
&lt;br /&gt;
For the next boot, indicate that the root filesystem is on the second partition:&lt;br /&gt;
&lt;br /&gt;
 sed -i &#039;s/^/root=\/dev\/mmcblk0p2 /&#039; cmdline.txt  &lt;br /&gt;
 reboot &lt;br /&gt;
&lt;br /&gt;
That works on &#039;&#039;&#039;Raspberry Pi 3B&#039;&#039;&#039; and &#039;&#039;&#039;1B&#039;&#039;&#039;, but if you have the &#039;&#039;&#039;1B&#039;&#039;&#039; version, let&#039;s be very, very patient (several tens of minutes).&lt;br /&gt;
&lt;br /&gt;
If a hard disk is connected via &#039;&#039;&#039;usb&#039;&#039;&#039;, you can replace the &amp;lt;code&amp;gt;/dev/mmcblk0p2&amp;lt;/code&amp;gt; above with &amp;lt;code&amp;gt;/dev/sda1&amp;lt;/code&amp;gt;, for example.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t like the &#039;&#039;&#039;sed&#039;&#039;&#039; above and its expressions, you can use a nano editor instead after executing the following command:&lt;br /&gt;
&lt;br /&gt;
 apk add nano&lt;br /&gt;
&lt;br /&gt;
= Post-installation =&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Raspberry Pi (RPI)&#039;&#039;&#039; has no battery to keep the time updated. Therefore, we need to enable the right service to synchronize with an ntp server:&lt;br /&gt;
&lt;br /&gt;
 rc-update del hwclock boot&lt;br /&gt;
 rc-update add swclock boot&lt;br /&gt;
 service hwclock stop&lt;br /&gt;
 service swclock start&lt;br /&gt;
&lt;br /&gt;
Update and upgrade the system:&lt;br /&gt;
&lt;br /&gt;
 apk update&lt;br /&gt;
 apk upgrade&lt;br /&gt;
&lt;br /&gt;
If you want a cool editor ({{Pkg|vim}}), a file manager ({{Pkg|mc}}), and to determine which tasks are running and which services are starting on boot ({{Pkg|htop}}), add the right packages:&lt;br /&gt;
&lt;br /&gt;
 apk add vim mc htop&lt;br /&gt;
 htop&lt;br /&gt;
 rc-update&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;RPI 3B&#039;&#039;&#039; has wifi on board for networking, so start the service for the encrypted key on wpa2 protocol:&lt;br /&gt;
&lt;br /&gt;
 apk add wpa_supplicant&lt;br /&gt;
 rc-update add wpa_supplicant boot&lt;br /&gt;
 service wpa_supplicant start&lt;br /&gt;
 setup-interfaces &lt;br /&gt;
Replace the IP address by dhcp for all the interfaces if necessary;  select the SSID network for wifi;  and add password.&lt;br /&gt;
 ip addr    # to know the IP address for all interfaces&lt;br /&gt;
&lt;br /&gt;
If you want to connect on your remote RPI via &amp;lt;code&amp;gt;ssh&amp;lt;/code&amp;gt;, an additional user (&#039;&#039;foo&#039;&#039;) and the {{Pkg|sudo}} package are required because it&#039;s forbidden to connect as root:&lt;br /&gt;
&lt;br /&gt;
 apk add sudo&lt;br /&gt;
 adduser foo&lt;br /&gt;
 adduser foo wheel&lt;br /&gt;
 visudo &lt;br /&gt;
&lt;br /&gt;
Uncomment line #82 with &amp;lt;code&amp;gt;wheel ALL=(ALL) ALL&amp;lt;/code&amp;gt;. If {{Pkg|vim}} is installed, save the changes by typing &#039;&#039;&#039;Esc :x&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
&lt;br /&gt;
* [[Raspberry Pi]]&lt;br /&gt;
* [[Raspberry Pi 3 - Setting Up Bluetooth]]&lt;br /&gt;
* [[Raspberry Pi 3 - Configuring it as wireless access point -AP Mode]]&lt;br /&gt;
* [[Linux Router with VPN on a Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Hausmarke</name></author>
	</entry>
</feed>