Blog Code Forum

ArchLive

From Wiki.cyring.fr

(Difference between revisions)
Jump to: navigation, search
(packages.both)
(Working directory)
 
(119 intermediate revisions not shown)
Line 1: Line 1:
-
=== Working directory ===
+
== Download ==
 +
=== Source files ===
 +
[http://code.cyring.fr/FTS/Source/LiveCD/releng.tgz releng.tgz]
 +
 
 +
== Working directory ==
 +
<syntaxhighlight lang="bash" line start="1">
 +
pacman -S archiso
 +
mkdir live
 +
chdir live
 +
cp -rv /usr/share/archiso/configs/releng/ .
 +
cd releng
 +
nano build.sh
 +
nano packages.both
 +
nano pacman.conf
 +
mkdir -p root-image/etc/X11/xorg.conf.d
 +
nano root-image/etc/X11/xorg.conf.d/10-evdev.conf
 +
mkdir -p root-image/etc/skel
 +
cp -v /etc/skel/.xinitrc root-image/etc/skel/
 +
nano root-image/etc/skel/.xinitrc
 +
chmod +x root-image/etc/skel/.xinitrc
 +
nano root-image/etc/slim.conf
 +
cp -v /etc/vconsole.conf root-image/etc/
 +
nano root-image/etc/systemd/system/display-manager.service
 +
cp -v /etc/systemd/system/multi-user.target.wants/ntpd.service root-image/etc/systemd/system/
 +
</syntaxhighlight>
 +
 
 +
== Settings ==
 +
===== build.sh =====
 +
* modify the build script to suit your local time
<pre>
<pre>
-
# pacman -S archiso
+
#       ln -sf /usr/share/zoneinfo/UTC ${work_dir}/root-image/etc/localtime
-
# mkdir live
+
        ln -sf /usr/share/zoneinfo/Europe/Paris ${work_dir}/root-image/etc/localtime
-
# chdir live
+
-
# cp -r /usr/share/archiso/configs/releng/ .
+
-
# cd releng
+
-
# nano packages.both
+
-
# nano pacman.conf
+
-
# cp -v /etc/vconsole.conf root-image/etc/
+
-
# mkdir -p root-image/etc/modules-load.d
+
-
# nano root-image/etc/modules-load.d/archiso.conf
+
-
# mkdir -p root-image/etc/X11/xorg.conf.d
+
-
# nano root-image/etc/X11/xorg.conf.d/10-evdev.conf
+
</pre>
</pre>
-
 
-
=== Settings ===
 
===== packages.both =====
===== packages.both =====
 +
* add the following packages
<pre>
<pre>
-
arch-install-scripts
+
archlinux-themes-slim
base-devel
base-devel
-
bash
 
blender
blender
chromium
chromium
cuda
cuda
-
dhclient
+
flashplugin
-
dialog
+
gtk2
-
dnsmasq
+
hddtemp
-
dnsutils
+
libvdpau
-
dosfstools
+
lm_sensors
-
hdparm
+
-
mtools
+
-
nfs-utils
+
-
nmap
+
-
ntfs-3g
+
-
ntp
+
nvidia
nvidia
-
openssh
+
pangox-compat
-
pptpclient
+
slim
-
rp-pppoe
+
xorg-server
-
rsync
+
-
sudo
+
-
wget
+
xf86-video-vesa
xf86-video-vesa
xfce4
xfce4
 +
xfce4-xkb-plugin
</pre>
</pre>
-
 
===== pacman.conf =====
===== pacman.conf =====
<pre>
<pre>
Line 69: Line 76:
Include = /etc/pacman.d/mirrorlist
Include = /etc/pacman.d/mirrorlist
</pre>
</pre>
-
===== archiso.conf =====
 
-
* modules required by CoreMod
 
-
<pre>
 
-
msr
 
-
dmi-sysfs
 
-
</pre>
 
-
 
===== 10-evdev.conf =====
===== 10-evdev.conf =====
* remark : AZERTY keyboard
* remark : AZERTY keyboard
Line 117: Line 117:
EndSection
EndSection
</pre>
</pre>
 +
===== .xinitrc =====
 +
<pre>
 +
#!/bin/sh
 +
#
 +
# ~/.xinitrc
 +
#
 +
# Executed by startx (run your window manager from here)
-
==== Xfce ====
+
if [ -d /etc/X11/xinit/xinitrc.d ]; then
 +
  for f in /etc/X11/xinit/xinitrc.d/*; do
 +
    [ -x "$f" ] && . "$f"
 +
  done
 +
  unset f
 +
fi
 +
 
 +
# exec gnome-session
 +
# exec startkde
 +
exec startxfce4
 +
# ...or the Window Manager of your choice
 +
</pre>
 +
===== slim.conf =====
<pre>
<pre>
-
# mkdir -p root-image/root/.config/xfce4/xfconf/xfce-perchannel-xml
+
login_cmd          exec /bin/zsh -l ~/.xinitrc %session
-
# nano xfce4-desktop.xml
+
default_user        root
 +
auto_login          yes
 +
current_theme      archlinux-simplyblack
</pre>
</pre>
 +
 +
===== display-manager.service =====
 +
<pre>
 +
[Unit]
 +
Description=SLiM Simple Login Manager
 +
After=systemd-user-sessions.service
 +
 +
[Service]
 +
ExecStart=/usr/bin/slim -nodaemon
 +
 +
[Install]
 +
Alias=display-manager.service
 +
</pre>
 +
 +
== Desktop Environment ==
 +
=== Xfce ===
 +
<syntaxhighlight lang="bash" line start="1">
 +
wget https://www.archlinux.org/static/logos/archlinux-logo-dark-90dpi.png -O root-image/root/archlinux-logo-dark-90dpi.png
 +
mkdir -p root-image/root/.config/xfce4/xfconf/xfce-perchannel-xml
 +
nano root-image/root/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml
 +
nano root-image/root/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
 +
nano root-image/root/.config/xfce4/helpers.rc
 +
mkdir -p root-image/root/.config/xfce4/panel
 +
nano root-image/root/.config/xfce4/panel/xkb-plugin-2.rc
 +
nano root-image/root/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-mixer.xml
 +
</syntaxhighlight>
 +
===== xfce4-desktop.xml =====
<pre>
<pre>
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
Line 130: Line 178:
     <property name="screen0" type="empty">
     <property name="screen0" type="empty">
       <property name="monitor0" type="empty">
       <property name="monitor0" type="empty">
-
         <property name="image-path" type="string" value="/usr/share/backgrounds/xfce/xfce-blue.jpg"/>
+
         <property name="image-path" type="string" value="/root/archlinux-logo-dark-90dpi.png"/>
         <property name="last-image" type="string" value="/usr/share/backgrounds/xfce/xfce-blue.jpg"/>
         <property name="last-image" type="string" value="/usr/share/backgrounds/xfce/xfce-blue.jpg"/>
-
         <property name="last-single-image" type="string" value="/usr/share/backgrounds/xfce/xfce-blue.jpg"/>
+
         <property name="last-single-image" type="string" value="/root/archlinux-logo-dark-90dpi.png"/>
 +
        <property name="image-style" type="int" value="1"/>
 +
        <property name="image-show" type="bool" value="true"/>
       </property>
       </property>
     </property>
     </property>
Line 146: Line 196:
</channel>
</channel>
</pre>
</pre>
-
<pre>
+
===== xfce4-panel.xml =====
-
# nano xfce4-panel.xml
+
* with application shorcuts
-
</pre>
+
<pre>
<pre>
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
Line 171: Line 220:
       <property name="length" type="uint" value="100"/>
       <property name="length" type="uint" value="100"/>
       <property name="background-color" type="array">
       <property name="background-color" type="array">
-
         <value type="uint" value="23589"/>
+
         <value type="uint" value="5911"/>
-
         <value type="uint" value="37012"/>
+
         <value type="uint" value="35723"/>
-
         <value type="uint" value="45286"/>
+
         <value type="uint" value="50629"/>
         <value type="uint" value="65535"/>
         <value type="uint" value="65535"/>
       </property>
       </property>
Line 197: Line 246:
       <property name="disable-tooltips" type="bool" value="false"/>
       <property name="disable-tooltips" type="bool" value="false"/>
     </property>
     </property>
-
     <property name="plugin-2" type="string" value="launcher">
+
     <property name="plugin-5" type="string" value="launcher">
       <property name="items" type="array">
       <property name="items" type="array">
         <value type="string" value="13526269274.desktop"/>
         <value type="string" value="13526269274.desktop"/>
       </property>
       </property>
     </property>
     </property>
 +
    <property name="plugin-2" type="string" value="xkb-plugin"/>
   </property>
   </property>
</channel>
</channel>
</pre>
</pre>
-
===== Terminal =====
+
* without application shortcuts
<pre>
<pre>
-
# mkdir -p root-image/root/.config/Terminal
+
<?xml version="1.0" encoding="UTF-8"?>
-
# nano terminalrc
+
 
 +
<channel name="xfce4-panel" version="1.0">
 +
  <property name="configver" type="int" value="2"/>
 +
  <property name="panels" type="array">
 +
    <value type="int" value="1"/>
 +
    <property name="panel-1" type="empty">
 +
      <property name="position" type="string" value="p=6;x=17;y=72"/>
 +
      <property name="mode" type="uint" value="1"/>
 +
      <property name="size" type="uint" value="48"/>
 +
      <property name="background-style" type="uint" value="1"/>
 +
      <property name="plugin-ids" type="array">
 +
        <value type="int" value="4"/>
 +
        <value type="int" value="3"/>
 +
        <value type="int" value="2"/>
 +
        <value type="int" value="6"/>
 +
        <value type="int" value="1"/>
 +
      </property>
 +
      <property name="position-locked" type="bool" value="true"/>
 +
      <property name="length" type="uint" value="100"/>
 +
      <property name="background-color" type="array">
 +
        <value type="uint" value="5911"/>
 +
        <value type="uint" value="35723"/>
 +
        <value type="uint" value="50629"/>
 +
        <value type="uint" value="65535"/>
 +
      </property>
 +
    </property>
 +
  </property>
 +
  <property name="plugins" type="empty">
 +
    <property name="plugin-1" type="string" value="tasklist">
 +
      <property name="show-labels" type="bool" value="false"/>
 +
      <property name="show-handle" type="bool" value="false"/>
 +
    </property>
 +
    <property name="plugin-3" type="string" value="systray"/>
 +
    <property name="plugin-4" type="string" value="clock">
 +
      <property name="mode" type="uint" value="4"/>
 +
      <property name="show-frame" type="bool" value="false"/>
 +
    </property>
 +
    <property name="plugin-2" type="string" value="xkb-plugin"/>
 +
  </property>
 +
</channel>
</pre>
</pre>
 +
===== helpers.rc =====
 +
<pre>
 +
WebBrowser=chromium
 +
</pre>
 +
===== xkb-plugin-2.rc =====
 +
<pre>
 +
display_type=0
 +
display_textsize=0
 +
group_policy=2
 +
default_group=0
 +
never_modify_config=false
 +
model=evdev
 +
layouts=fr,us,de
 +
variants=,,
 +
toggle_option=
 +
compose_key_position=
 +
</pre>
 +
===== xfce4-mixer.xml =====
 +
<pre>
 +
<?xml version="1.0" encoding="UTF-8"?>
 +
 +
<channel name="xfce4-mixer" version="1.0">
 +
  <property name="window-height" type="int" value="480"/>
 +
  <property name="window-width" type="int" value="640"/>
 +
</channel>
 +
</pre>
 +
 +
=== Terminal ===
 +
<syntaxhighlight lang="bash" line start="1">
 +
mkdir -p root-image/root/.config/Terminal
 +
nano root-image/root/.config/Terminal/terminalrc
 +
</syntaxhighlight>
 +
===== terminalrc =====
<pre>
<pre>
[Configuration]
[Configuration]
-
FontName=Monospace 10
+
FontName=Monospace 9
MiscAlwaysShowTabs=FALSE
MiscAlwaysShowTabs=FALSE
MiscBell=FALSE
MiscBell=FALSE
Line 218: Line 340:
MiscCursorBlinks=FALSE
MiscCursorBlinks=FALSE
MiscCursorShape=TERMINAL_CURSOR_SHAPE_BLOCK
MiscCursorShape=TERMINAL_CURSOR_SHAPE_BLOCK
-
MiscDefaultGeometry=80x24
+
MiscDefaultGeometry=80x36
MiscInheritGeometry=FALSE
MiscInheritGeometry=FALSE
MiscMenubarDefault=FALSE
MiscMenubarDefault=FALSE
Line 229: Line 351:
MiscTabPosition=GTK_POS_TOP
MiscTabPosition=GTK_POS_TOP
MiscHighlightUrls=TRUE
MiscHighlightUrls=TRUE
 +
BackgroundMode=TERMINAL_BACKGROUND_TRANSPARENT
 +
BackgroundDarkness=0.660000
</pre>
</pre>
-
==== Application shortcuts ====
+
=== Application shortcuts ===
-
===== Chrome =====
+
==== Chrome ====
 +
===== Common =====
* allow chrome to start as root using argument --user-data-dir
* allow chrome to start as root using argument --user-data-dir
 +
<syntaxhighlight lang="bash" line start="1">
 +
mkdir root-image/etc/chromium
 +
nano root-image/etc/chromium/default
 +
</syntaxhighlight>
<pre>
<pre>
-
# mkdir -p root-image/root/.config/xfce4/panel/launcher-6
+
# Default settings for chromium. This file is sourced by /usr/bin/chromium
-
# nano 13526260781.desktop
+
 
 +
# Options to pass to chromium
 +
CHROMIUM_FLAGS="-user-data-dir=/tmp/chromium"
</pre>
</pre>
 +
 +
===== Button =====
 +
<syntaxhighlight lang="bash" line start="1">
 +
mkdir -p root-image/root/.config/xfce4/panel/launcher-6
 +
nano root-image/root/.config/xfce4/panel/launcher-6/13526260781.desktop
 +
</syntaxhighlight>
<pre>
<pre>
[Desktop Entry]
[Desktop Entry]
Line 244: Line 381:
Name=Chrome
Name=Chrome
Comment=
Comment=
-
Exec=chromium --user-data-dir=/tmp/
+
Exec=chromium --user-data-dir=/tmp/chromium
Icon=chromium
Icon=chromium
Path=
Path=
Line 251: Line 388:
</pre>
</pre>
-
===== Blender =====
+
==== Blender ====
-
<pre>
+
===== Button =====
-
# mkdir -p root-image/root/.config/xfce4/panel/launcher-2<br />
+
<syntaxhighlight lang="bash" line start="1">
-
# nano 13526269274.desktop
+
mkdir -p root-image/root/.config/xfce4/panel/launcher-5
-
</pre>
+
nano root-image/root/.config/xfce4/panel/launcher-5/13526269274.desktop
 +
</syntaxhighlight>
<pre>
<pre>
[Desktop Entry]
[Desktop Entry]
Line 269: Line 407:
</pre>
</pre>
-
=== Boot Loader ===
+
== User management ==
-
==== SysLinux ====
+
* (optional) define user passwords
 +
{| class="wikitable"
 +
|-
 +
! Login !! Passwd
 +
|-
 +
| root || <empty>
 +
|-
 +
| arch || <empty>
 +
|}
 +
<syntaxhighlight lang="bash" line start="1">
 +
## need some command here
 +
</syntaxhighlight>
 +
 
 +
== Boot Loader ==
 +
=== SysLinux ===
 +
==== Menu Desktop ====
* blacklist the ''nouveau'' module in favor of ''nvidia''
* blacklist the ''nouveau'' module in favor of ''nvidia''
 +
* autologin with [https://wiki.archlinux.org/index.php/SLiM#Autologin SLiM]
 +
<syntaxhighlight lang="bash" line start="1">
 +
nano syslinux/archiso_sys.cfg
 +
</syntaxhighlight>
<pre>
<pre>
-
# nano syslinux/archiso_sys.cfg
+
LABEL arch
 +
TEXT HELP
 +
Boot the Arch Linux live medium. It allows you to install Arch Linux or
 +
perform system maintenance.
 +
ENDTEXT
 +
MENU LABEL Arch Linux [^Desktop]
 +
LINUX boot/%ARCH%/vmlinuz
 +
INITRD boot/%ARCH%/archiso.img
 +
APPEND quiet vga=current modprobe.blacklist=nouveau systemd.unit=graphical.target archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL%
</pre>
</pre>
 +
 +
==== Menu Console ====
 +
<syntaxhighlight lang="bash" line start="2">
 +
nano syslinux/archiso_two.cfg
 +
</syntaxhighlight>
<pre>
<pre>
-
LABEL arch
+
LABEL console
TEXT HELP
TEXT HELP
Boot the Arch Linux live medium. It allows you to install Arch Linux or
Boot the Arch Linux live medium. It allows you to install Arch Linux or
perform system maintenance.
perform system maintenance.
ENDTEXT
ENDTEXT
-
MENU LABEL Boot Arch Linux
+
MENU LABEL Arch Linux [^Console]
LINUX boot/%ARCH%/vmlinuz
LINUX boot/%ARCH%/vmlinuz
INITRD boot/%ARCH%/archiso.img
INITRD boot/%ARCH%/archiso.img
-
APPEND quiet modprobe.blacklist=nouveau archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL%
+
APPEND quiet systemd.unit=multi-user.target archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL%
 +
</pre>
 +
* define a multi-boot menu
 +
<syntaxhighlight lang="bash" line start="3">
 +
nano syslinux/archiso_sys_inc.cfg
 +
</syntaxhighlight>
 +
<pre>
 +
INCLUDE boot/syslinux/archiso_head.cfg
 +
INCLUDE boot/syslinux/archiso_sys.cfg
 +
INCLUDE boot/syslinux/archiso_two.cfg
 +
INCLUDE boot/syslinux/archiso_tail.cfg
 +
</pre>
 +
* define the option [Desktop] as default
 +
<syntaxhighlight lang="bash" line start="4">
 +
nano syslinux/archiso_head.cfg
 +
</syntaxhighlight>
 +
<pre>
 +
DEFAULT arch
 +
TIMEOUT 30
</pre>
</pre>
-
=== Build ===
+
== CoreMod ==
 +
<syntaxhighlight lang="bash" line start="1">
 +
mkdir -p root-image/etc/modules-load.d
 +
nano root-image/etc/modules-load.d/archiso.conf
 +
nano root-image/root/.zlogin
 +
nano root-image/root/coremod.sh
 +
chmod +x root-image/root/coremod.sh
 +
</syntaxhighlight>
 +
===== archiso.conf =====
 +
* modules claimed by CoreMod
<pre>
<pre>
-
# ./build.sh -v build single
+
msr
 +
dmi-sysfs
</pre>
</pre>
-
=== Test ===
+
===== .zlogin =====
-
* update the host syslinux configuration for a live test on computer
+
<pre>
<pre>
-
# cp -v out/archlinux-*-x86_64.iso /boot/
+
~/.automated_script.sh
-
# ln -fs /boot/archlinux-*-x86_64.iso /boot/archlive.iso
+
prompt adam2
-
# nano /boot/syslinux/syslinux.cfg
+
</pre>
</pre>
 +
===== coremod.sh =====
 +
<pre>
 +
#!/bin/bash
 +
 +
if [[ ! -d /opt/CoreMod ]]; then
 +
        echo -n 'Downloading ...'
 +
        mkdir /opt/CoreMod
 +
        cd /opt/CoreMod
 +
        wget -q -t 9 'http://code.cyring.fr/FTS/Source/C/CoreMod/Previous_Build/2012-0.1.4/Makefile'
 +
        echo -n '.'
 +
        wget -q -t 6 'http://code.cyring.fr/FTS/Source/C/CoreMod/Previous_Build/2012-0.1.4/coremod.c'
 +
        echo -n '.'
 +
        wget -q -t 6 'http://code.cyring.fr/FTS/Source/C/CoreMod/Previous_Build/2012-0.1.4/coremod.h'
 +
        echo '.'
 +
        if [[ -e Makefile && -e coremod.c && -e coremod.h ]]; then
 +
                make
 +
        fi
 +
        cd
 +
fi
 +
 +
if [[ -x /opt/CoreMod/bin/coremod ]]; then
 +
        /opt/CoreMod/bin/coremod
 +
        echo ''
 +
else
 +
        echo 'CoreMod not found !'
 +
fi
 +
</pre>
 +
 +
== Build & Test ==
 +
* clean then build
 +
<syntaxhighlight lang="bash" line start="1">
 +
./build.sh clean single
 +
./build.sh -v build single
 +
</syntaxhighlight>
 +
 +
* update the host syslinux configuration for a live boot on computer
 +
<syntaxhighlight lang="bash" line start="1">
 +
cp -v out/archlinux-*-x86_64.iso /boot/
 +
ln -fs /boot/archlinux-*-x86_64.iso /boot/archlive.iso
 +
nano /boot/syslinux/syslinux.cfg
 +
</syntaxhighlight>
<pre>
<pre>
LABEL cdrom
LABEL cdrom
Line 305: Line 542:
         APPEND iso raw
         APPEND iso raw
</pre>
</pre>
-
# reboot the computer and press [C] to boot the live CD
+
* reboot the computer and press [C] to boot the live CD
-
# open a Terminal and change to the directory CoreMod
+
http://blog.cyring.fr/wp-content/uploads/2012/11/ArchLive002-300x225.png
-
# build & run CoreMod
+
http://blog.cyring.fr/wp-content/uploads/2012/11/ArchLive003-300x225.png
-
<pre>
+
http://blog.cyring.fr/wp-content/uploads/2012/11/ArchLive004-300x225.png
-
# mkdir ~/CoreMod
+
* if integrated, open a Terminal then build & run CoreMod
-
# wget http://code.cyring.fr/FTS/Source/C/CoreMod/Nightly_Build/2012-0.1.4/Makefile -O ~/CoreMod/Makefile
+
<syntaxhighlight lang="bash" line start="1">
-
# wget http://code.cyring.fr/FTS/Source/C/CoreMod/Nightly_Build/2012-0.1.4/coremod.c -O ~/CoreMod/coremod.c
+
./coremod.sh
-
# wget http://code.cyring.fr/FTS/Source/C/CoreMod/Nightly_Build/2012-0.1.4/coremod.h -O ~/CoreMod/coremod.h
+
</syntaxhighlight>
-
# cd ~/CoreMod
+
http://blog.cyring.fr/wp-content/uploads/2012/11/ArchLive001-300x168.png
-
# make
+
-
# bin/coremod
+
-
</pre>
+

Latest revision as of 08:30, 18 December 2012

Contents

Download

Source files

releng.tgz

Working directory

  1. pacman -S archiso
  2. mkdir live
  3. chdir live
  4. cp -rv /usr/share/archiso/configs/releng/ .
  5. cd releng
  6. nano build.sh
  7. nano packages.both
  8. nano pacman.conf
  9. mkdir -p root-image/etc/X11/xorg.conf.d
  10. nano root-image/etc/X11/xorg.conf.d/10-evdev.conf
  11. mkdir -p root-image/etc/skel
  12. cp -v /etc/skel/.xinitrc root-image/etc/skel/
  13. nano root-image/etc/skel/.xinitrc
  14. chmod +x root-image/etc/skel/.xinitrc
  15. nano root-image/etc/slim.conf
  16. cp -v /etc/vconsole.conf root-image/etc/
  17. nano root-image/etc/systemd/system/display-manager.service
  18. cp -v /etc/systemd/system/multi-user.target.wants/ntpd.service root-image/etc/systemd/system/

Settings

build.sh
  • modify the build script to suit your local time
#       ln -sf /usr/share/zoneinfo/UTC ${work_dir}/root-image/etc/localtime
        ln -sf /usr/share/zoneinfo/Europe/Paris ${work_dir}/root-image/etc/localtime
packages.both
  • add the following packages
archlinux-themes-slim
base-devel
blender
chromium
cuda
flashplugin
gtk2
hddtemp
libvdpau
lm_sensors
nvidia
pangox-compat
slim
xorg-server
xf86-video-vesa
xfce4
xfce4-xkb-plugin
pacman.conf
SigLevel = Never
#[testing]
#SigLevel = PackageRequired
#Include = /etc/pacman.d/mirrorlist

[core]
#SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist

[extra]
#SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist

#[community-testing]
#SigLevel = PackageRequired
#Include = /etc/pacman.d/mirrorlist

[community]
#SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist
10-evdev.conf
  • remark : AZERTY keyboard
Section "InputClass"
        Identifier      "evdev keyboard catchall"
        MatchIsKeyboard "on"
        MatchDevicePath "/dev/input/event*"
        Driver          "evdev"
        Option          "xkb_layout" "fr"
        Option          "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection

Section "InputClass"
        Identifier      "evdev pointer catchall"
        MatchIsPointer  "on"
        MatchDevicePath "/dev/input/event*"
        Driver          "evdev"
        Option          "SampleRate" "500"
EndSection

Section "InputClass"
        Identifier      "evdev touchpad catchall"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Driver          "evdev"
EndSection

Section "InputClass"
        Identifier      "evdev tablet catchall"
        MatchIsTablet   "on"
        MatchDevicePath "/dev/input/event*"
        Driver          "evdev"
EndSection

Section "InputClass"
        Identifier      "evdev touchscreen catchall"
        MatchIsTouchscreen      "on"
        MatchDevicePath "/dev/input/event*"
        Driver          "evdev"
EndSection
.xinitrc
#!/bin/sh
#
# ~/.xinitrc
#
# Executed by startx (run your window manager from here)

if [ -d /etc/X11/xinit/xinitrc.d ]; then
  for f in /etc/X11/xinit/xinitrc.d/*; do
    [ -x "$f" ] && . "$f"
  done
  unset f
fi

# exec gnome-session
# exec startkde
exec startxfce4
# ...or the Window Manager of your choice
slim.conf
login_cmd           exec /bin/zsh -l ~/.xinitrc %session
default_user        root
auto_login          yes
current_theme       archlinux-simplyblack
display-manager.service
[Unit]
Description=SLiM Simple Login Manager
After=systemd-user-sessions.service

[Service]
ExecStart=/usr/bin/slim -nodaemon

[Install]
Alias=display-manager.service

Desktop Environment

Xfce

  1. wget https://www.archlinux.org/static/logos/archlinux-logo-dark-90dpi.png -O root-image/root/archlinux-logo-dark-90dpi.png
  2. mkdir -p root-image/root/.config/xfce4/xfconf/xfce-perchannel-xml
  3. nano root-image/root/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml
  4. nano root-image/root/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
  5. nano root-image/root/.config/xfce4/helpers.rc
  6. mkdir -p root-image/root/.config/xfce4/panel
  7. nano root-image/root/.config/xfce4/panel/xkb-plugin-2.rc
  8. nano root-image/root/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-mixer.xml
xfce4-desktop.xml
<?xml version="1.0" encoding="UTF-8"?>

<channel name="xfce4-desktop" version="1.0">
  <property name="backdrop" type="empty">
    <property name="screen0" type="empty">
      <property name="monitor0" type="empty">
        <property name="image-path" type="string" value="/root/archlinux-logo-dark-90dpi.png"/>
        <property name="last-image" type="string" value="/usr/share/backgrounds/xfce/xfce-blue.jpg"/>
        <property name="last-single-image" type="string" value="/root/archlinux-logo-dark-90dpi.png"/>
        <property name="image-style" type="int" value="1"/>
        <property name="image-show" type="bool" value="true"/>
      </property>
    </property>
  </property>
  <property name="desktop-icons" type="empty">
    <property name="icon-size" type="uint" value="32"/>
    <property name="file-icons" type="empty">
      <property name="show-home" type="bool" value="false"/>
      <property name="show-filesystem" type="bool" value="false"/>
      <property name="show-trash" type="bool" value="false"/>
    </property>
  </property>
</channel>
xfce4-panel.xml
  • with application shorcuts
<?xml version="1.0" encoding="UTF-8"?>

<channel name="xfce4-panel" version="1.0">
  <property name="configver" type="int" value="2"/>
  <property name="panels" type="array">
    <value type="int" value="1"/>
    <property name="panel-1" type="empty">
      <property name="position" type="string" value="p=6;x=17;y=72"/>
      <property name="mode" type="uint" value="1"/>
      <property name="size" type="uint" value="48"/>
      <property name="background-style" type="uint" value="1"/>
      <property name="plugin-ids" type="array">
        <value type="int" value="4"/>
        <value type="int" value="3"/>
        <value type="int" value="2"/>
        <value type="int" value="6"/>
        <value type="int" value="1"/>
      </property>
      <property name="position-locked" type="bool" value="true"/>
      <property name="length" type="uint" value="100"/>
      <property name="background-color" type="array">
        <value type="uint" value="5911"/>
        <value type="uint" value="35723"/>
        <value type="uint" value="50629"/>
        <value type="uint" value="65535"/>
      </property>
    </property>
  </property>
  <property name="plugins" type="empty">
    <property name="plugin-1" type="string" value="tasklist">
      <property name="show-labels" type="bool" value="false"/>
      <property name="show-handle" type="bool" value="false"/>
    </property>
    <property name="plugin-3" type="string" value="systray"/>
    <property name="plugin-4" type="string" value="clock">
      <property name="mode" type="uint" value="4"/>
      <property name="show-frame" type="bool" value="false"/>
    </property>
    <property name="plugin-6" type="string" value="launcher">
      <property name="items" type="array">
        <value type="string" value="13526260781.desktop"/>
      </property>
      <property name="arrow-position" type="uint" value="0"/>
      <property name="move-first" type="bool" value="false"/>
      <property name="show-label" type="bool" value="false"/>
      <property name="disable-tooltips" type="bool" value="false"/>
    </property>
    <property name="plugin-5" type="string" value="launcher">
      <property name="items" type="array">
        <value type="string" value="13526269274.desktop"/>
      </property>
    </property>
    <property name="plugin-2" type="string" value="xkb-plugin"/>
  </property>
</channel>
  • without application shortcuts
<?xml version="1.0" encoding="UTF-8"?>

<channel name="xfce4-panel" version="1.0">
  <property name="configver" type="int" value="2"/>
  <property name="panels" type="array">
    <value type="int" value="1"/>
    <property name="panel-1" type="empty">
      <property name="position" type="string" value="p=6;x=17;y=72"/>
      <property name="mode" type="uint" value="1"/>
      <property name="size" type="uint" value="48"/>
      <property name="background-style" type="uint" value="1"/>
      <property name="plugin-ids" type="array">
        <value type="int" value="4"/>
        <value type="int" value="3"/>
        <value type="int" value="2"/>
        <value type="int" value="6"/>
        <value type="int" value="1"/>
      </property>
      <property name="position-locked" type="bool" value="true"/>
      <property name="length" type="uint" value="100"/>
      <property name="background-color" type="array">
        <value type="uint" value="5911"/>
        <value type="uint" value="35723"/>
        <value type="uint" value="50629"/>
        <value type="uint" value="65535"/>
      </property>
    </property>
  </property>
  <property name="plugins" type="empty">
    <property name="plugin-1" type="string" value="tasklist">
      <property name="show-labels" type="bool" value="false"/>
      <property name="show-handle" type="bool" value="false"/>
    </property>
    <property name="plugin-3" type="string" value="systray"/>
    <property name="plugin-4" type="string" value="clock">
      <property name="mode" type="uint" value="4"/>
      <property name="show-frame" type="bool" value="false"/>
    </property>
    <property name="plugin-2" type="string" value="xkb-plugin"/>
  </property>
</channel>
helpers.rc
WebBrowser=chromium
xkb-plugin-2.rc
display_type=0
display_textsize=0
group_policy=2
default_group=0
never_modify_config=false
model=evdev
layouts=fr,us,de
variants=,,
toggle_option=
compose_key_position=
xfce4-mixer.xml
<?xml version="1.0" encoding="UTF-8"?>

<channel name="xfce4-mixer" version="1.0">
  <property name="window-height" type="int" value="480"/>
  <property name="window-width" type="int" value="640"/>
</channel>

Terminal

  1. mkdir -p root-image/root/.config/Terminal
  2. nano root-image/root/.config/Terminal/terminalrc
terminalrc
[Configuration]
FontName=Monospace 9
MiscAlwaysShowTabs=FALSE
MiscBell=FALSE
MiscBordersDefault=TRUE
MiscCursorBlinks=FALSE
MiscCursorShape=TERMINAL_CURSOR_SHAPE_BLOCK
MiscDefaultGeometry=80x36
MiscInheritGeometry=FALSE
MiscMenubarDefault=FALSE
MiscMouseAutohide=FALSE
MiscToolbarsDefault=FALSE
MiscConfirmClose=TRUE
MiscCycleTabs=TRUE
MiscTabCloseButtons=TRUE
MiscTabCloseMiddleClick=TRUE
MiscTabPosition=GTK_POS_TOP
MiscHighlightUrls=TRUE
BackgroundMode=TERMINAL_BACKGROUND_TRANSPARENT
BackgroundDarkness=0.660000

Application shortcuts

Chrome

Common
  • allow chrome to start as root using argument --user-data-dir
  1. mkdir root-image/etc/chromium
  2. nano root-image/etc/chromium/default
# Default settings for chromium. This file is sourced by /usr/bin/chromium

# Options to pass to chromium
CHROMIUM_FLAGS="-user-data-dir=/tmp/chromium"
Button
  1. mkdir -p root-image/root/.config/xfce4/panel/launcher-6
  2. nano root-image/root/.config/xfce4/panel/launcher-6/13526260781.desktop
[Desktop Entry]
Version=1.0
Type=Application
Name=Chrome
Comment=
Exec=chromium --user-data-dir=/tmp/chromium
Icon=chromium
Path=
Terminal=false
StartupNotify=false

Blender

Button
  1. mkdir -p root-image/root/.config/xfce4/panel/launcher-5
  2. nano root-image/root/.config/xfce4/panel/launcher-5/13526269274.desktop
[Desktop Entry]
Version=1.0
Type=Application
Name=Blender
Comment=
Exec=blender
Icon=blender
Path=
Terminal=false
StartupNotify=false

User management

  • (optional) define user passwords
Login Passwd
root <empty>
arch <empty>
  1. ## need some command here

Boot Loader

SysLinux

Menu Desktop

  • blacklist the nouveau module in favor of nvidia
  • autologin with SLiM
  1. nano syslinux/archiso_sys.cfg
LABEL arch
TEXT HELP
Boot the Arch Linux live medium. It allows you to install Arch Linux or
perform system maintenance.
ENDTEXT
MENU LABEL Arch Linux [^Desktop]
LINUX boot/%ARCH%/vmlinuz
INITRD boot/%ARCH%/archiso.img
APPEND quiet vga=current modprobe.blacklist=nouveau systemd.unit=graphical.target archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL%

Menu Console

  1. nano syslinux/archiso_two.cfg
LABEL console
TEXT HELP
Boot the Arch Linux live medium. It allows you to install Arch Linux or
perform system maintenance.
ENDTEXT
MENU LABEL Arch Linux [^Console]
LINUX boot/%ARCH%/vmlinuz
INITRD boot/%ARCH%/archiso.img
APPEND quiet systemd.unit=multi-user.target archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL%
  • define a multi-boot menu
  1. nano syslinux/archiso_sys_inc.cfg
INCLUDE boot/syslinux/archiso_head.cfg
INCLUDE boot/syslinux/archiso_sys.cfg
INCLUDE boot/syslinux/archiso_two.cfg
INCLUDE boot/syslinux/archiso_tail.cfg
  • define the option [Desktop] as default
  1. nano syslinux/archiso_head.cfg
DEFAULT arch
TIMEOUT 30

CoreMod

  1. mkdir -p root-image/etc/modules-load.d
  2. nano root-image/etc/modules-load.d/archiso.conf
  3. nano root-image/root/.zlogin
  4. nano root-image/root/coremod.sh
  5. chmod +x root-image/root/coremod.sh
archiso.conf
  • modules claimed by CoreMod
msr
dmi-sysfs
.zlogin
~/.automated_script.sh
prompt adam2
coremod.sh
#!/bin/bash

if [[ ! -d /opt/CoreMod ]]; then
        echo -n 'Downloading ...'
        mkdir /opt/CoreMod
        cd /opt/CoreMod
        wget -q -t 9 'http://code.cyring.fr/FTS/Source/C/CoreMod/Previous_Build/2012-0.1.4/Makefile'
        echo -n '.'
        wget -q -t 6 'http://code.cyring.fr/FTS/Source/C/CoreMod/Previous_Build/2012-0.1.4/coremod.c'
        echo -n '.'
        wget -q -t 6 'http://code.cyring.fr/FTS/Source/C/CoreMod/Previous_Build/2012-0.1.4/coremod.h'
        echo '.'
        if [[ -e Makefile && -e coremod.c && -e coremod.h ]]; then
                make
        fi
        cd
fi

if [[ -x /opt/CoreMod/bin/coremod ]]; then
        /opt/CoreMod/bin/coremod
        echo ''
else
        echo 'CoreMod not found !'
fi

Build & Test

  • clean then build
  1. ./build.sh clean single
  2. ./build.sh -v build single
  • update the host syslinux configuration for a live boot on computer
  1. cp -v out/archlinux-*-x86_64.iso /boot/
  2. ln -fs /boot/archlinux-*-x86_64.iso /boot/archlive.iso
  3. nano /boot/syslinux/syslinux.cfg
LABEL cdrom
        MENU LABEL ^CD-ROM
        LINUX memdisk
        INITRD archlive.iso
        APPEND iso raw
  • reboot the computer and press [C] to boot the live CD

ArchLive002-300x225.png ArchLive003-300x225.png ArchLive004-300x225.png

  • if integrated, open a Terminal then build & run CoreMod
  1. ./coremod.sh

ArchLive001-300x168.png

Personal tools