ArchLive
From Wiki.cyring.fr
(Difference between revisions)
(→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> | ||
- | # | + | # 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 | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
</pre> | </pre> | ||
- | |||
- | |||
===== packages.both ===== | ===== packages.both ===== | ||
+ | * add the following packages | ||
<pre> | <pre> | ||
- | + | archlinux-themes-slim | |
base-devel | base-devel | ||
- | |||
blender | blender | ||
chromium | chromium | ||
cuda | cuda | ||
- | + | flashplugin | |
- | + | gtk2 | |
- | + | hddtemp | |
- | + | libvdpau | |
- | + | lm_sensors | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
nvidia | nvidia | ||
- | + | pangox-compat | |
- | + | slim | |
- | + | xorg-server | |
- | + | ||
- | + | ||
- | + | ||
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> | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
===== 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) | ||
- | ==== | + | 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> | ||
- | + | login_cmd exec /bin/zsh -l ~/.xinitrc %session | |
- | + | 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="/ | + | <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="/ | + | <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> | ||
- | + | ===== xfce4-panel.xml ===== | |
- | + | * with application shorcuts | |
- | + | ||
<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=" | + | <value type="uint" value="5911"/> |
- | <value type="uint" value=" | + | <value type="uint" value="35723"/> |
- | <value type="uint" value=" | + | <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- | + | <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> | ||
- | + | * without application shortcuts | |
<pre> | <pre> | ||
- | + | <?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> | ||
</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 | + | 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= | + | 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 === | |
- | ===== | + | ==== 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> | ||
- | # | + | # Default settings for chromium. This file is sourced by /usr/bin/chromium |
- | # | + | |
+ | # 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 ==== | |
- | < | + | ===== Button ===== |
- | + | <syntaxhighlight lang="bash" line start="1"> | |
- | + | mkdir -p root-image/root/.config/xfce4/panel/launcher-5 | |
- | </ | + | 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 == |
- | ==== | + | * (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> | ||
- | + | 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 | + | 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 | + | 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 | + | 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> | ||
- | === | + | == 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> | ||
- | + | msr | |
+ | dmi-sysfs | ||
</pre> | </pre> | ||
- | === | + | ===== .zlogin ===== |
- | + | ||
<pre> | <pre> | ||
- | + | ~/.automated_script.sh | |
- | + | prompt adam2 | |
- | + | ||
</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 | |
- | + | http://blog.cyring.fr/wp-content/uploads/2012/11/ArchLive002-300x225.png | |
- | + | http://blog.cyring.fr/wp-content/uploads/2012/11/ArchLive003-300x225.png | |
- | + | http://blog.cyring.fr/wp-content/uploads/2012/11/ArchLive004-300x225.png | |
- | + | * if integrated, open a Terminal then build & run CoreMod | |
- | + | <syntaxhighlight lang="bash" line start="1"> | |
- | + | ./coremod.sh | |
- | + | </syntaxhighlight> | |
- | + | http://blog.cyring.fr/wp-content/uploads/2012/11/ArchLive001-300x168.png | |
- | + | ||
- | + | ||
- | + |
Latest revision as of 08:30, 18 December 2012
Contents |
Download
Source files
Working directory
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/
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
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
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
mkdir -p root-image/root/.config/Terminal
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
mkdir root-image/etc/chromium
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
mkdir -p root-image/root/.config/xfce4/panel/launcher-6
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
mkdir -p root-image/root/.config/xfce4/panel/launcher-5
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> |
## need some command here
Boot Loader
SysLinux
Menu Desktop
- blacklist the nouveau module in favor of nvidia
- autologin with SLiM
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
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
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
nano syslinux/archiso_head.cfg
DEFAULT arch TIMEOUT 30
CoreMod
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
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
./build.sh clean single
./build.sh -v build single
- update the host syslinux configuration for a live boot on computer
cp -v out/archlinux-*-x86_64.iso /boot/
ln -fs /boot/archlinux-*-x86_64.iso /boot/archlive.iso
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
- if integrated, open a Terminal then build & run CoreMod
./coremod.sh