====== Alpine ======
==== Download ====
$ wget http://dl-cdn.alpinelinux.org/alpine/v3.7/releases/x86_64/alpine-standard-3.7.0-x86_64.iso
==== Install Alpine ====
Create a raw disk image and boot the VM...
$ qemu-img create alpine.img 2G
$ qemu-system-x86_64 -enable-kvm -hda alpine.img -cdrom alpine-standard*.iso -boot d -m 512
Then, login as root (no password) and run :
$ setup-alpine
Follow instructions. Select disk "/dev/sda" with "sys" option. When the installation is complete, type "poweroff".
$ qemu-system-x86_64 -enable-kvm -hda alpine.img -m 512
Then, you can add Alpine to QemuNet with these lines:
# linux alpine
SYS[alpine]="linux"
FS[alpine]="$IMGDIR/alpine.img"
QEMUOPT[alpine]="-localtime -m 512"
==== Install Alpine Packages ====
Once Alpine image is started with Qemu... It will by default launch DHCP client as defined in "/etc/network/interfaces".
In order to use the [[https://wiki.alpinelinux.org/wiki/Edge | edge]] release (under constant development), you must edit /etc/apk/repositories. Change the version number (such as v3.2) to edge.
#/media/cdrom/apks
http://alpine.mirror.wearetriple.com/edge/main
http://alpine.mirror.wearetriple.com/edge/community
http://alpine.mirror.wearetriple.com/edge/testing
Then:
$ apk upgrade --update-cache --available
$ sync
$ reboot
# install new packages
$ apk update
$ apk upgrade
$ apk add bash bash-doc bash-completion
$ apk add nano emacs-nox
$ apk add iputils iptables iproute2
$ ...
Basic configuration steps:
- remove ''root'' pasword: ''$ passwd -d root''
- set bash as default shell, edit ''/etc/passwd'' and replace /bin/ash by /bin/bash
- edit ''/etc/fstab'' and add this line ''host /mnt/host 9p trans=virtio,defaults,nofail 0 0'' to enable file sharing
- disable DHCP... edit /etc/network/interfaces and comment all lines for interface ''eth0''
- enable startup script: ''ln -s /mnt/host/start.sh /etc/local.d/local.start'' and then ''rc-update add local''
# clean & halt
$ rm /etc/resolv.conf
$ history -c
$ poweroff
==== Install Alpine Desktop ====
Let's create a new QemuNet image called "alpinex"
$ cp --sparse=auto alpine.img alpinex.img # be careful, when you copy sparse files!
Then, add these lines in qemunet.cfg:
# linux alpinex
SYS[alpinex]="linux"
FS[alpinex]="$IMGDIR/alpinex.img"
QEMUOPT[alpinex]="-localtime -m 512"
Then run this image in raw mode:
$ ./qemunet.sh -l alpinex
First enable DHCP in /etc/network/interfaces and reboot...
To enable french keyboard:
$ apk add kbd setxkbmap
$ setxkbmap fr # for french keyboards
Then install Xorg and XFCE desktop environment:
$ setup-xorg-base
$ apk add alpine-desktop
$ apk add faenza-icon-theme # for icons
$ apk add xf86-input-mouse xf86-input-keyboard # useful?
$ apk add xf86-video-modesetting # recommended for Qemu guests?
$ apk add dbus lxdm sudo
$ rc-update add dbus ; rc-service dbus start
$ rc-update add udev ; rc-service udev start
Add a desktop user (as sudoer):
$ adduser toto # password toto
$ addgroup sudo
$ addgroup toto sudo
$ emacs /etc/sudoers # %sudo ALL=NOPASSWD: ALL
Launch the XFCE4 desktop with LXDM:
$ rc-service lxdm start # don't forget to select xfce session, before to log in!
If it works... quit XFCE
$ rc-update add lxdm
$ reboot
To enable "fr" keyboard in Xorg, add this section:
Section "InputClass"
Identifier "Keyboard Default"
MatchIsKeyboard "yes"
Option "XkbLayout" "fr"
EndSection
Try to get lightweight system by replacing "alpine-desktop" meta-package by "xfce4 + firefox".
__More details:__ http://wiki.alpinelinux.org/wiki/XFCE_Setup
==== Biblio ====
* qemu: https://wiki.alpinelinux.org/wiki/Qemu
* init: https://wiki.alpinelinux.org/wiki/Alpine_Linux_Init_System
* apk: https://wiki.alpinelinux.org/wiki/Alpine_Linux_package_management
* network: http://wiki.alpinelinux.org/wiki/Configure_Networking
* packages : https://pkgs.alpinelinux.org/packages?name=&branch=edge