ArchLive
From Wiki.cyring.fr
(Difference between revisions)
(→Source files) |
(→Button) |
||
Line 385: | Line 385: | ||
<syntaxhighlight lang="bash" line start="1"> | <syntaxhighlight lang="bash" line start="1"> | ||
mkdir -p root-image/root/.config/xfce4/panel/launcher-5 | mkdir -p root-image/root/.config/xfce4/panel/launcher-5 | ||
- | nano root-image/root/.config/xfce4/panel/launcher- | + | nano root-image/root/.config/xfce4/panel/launcher-5/13526269274.desktop |
</syntaxhighlight> | </syntaxhighlight> | ||
<pre> | <pre> |
Revision as of 08:46, 17 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 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
Settings
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