Arch linux without Systemd

Since i do not like systemd, and the homepage said rc scripts will be removed from january 2013 on, im looking for a way back to the old init scripts (or any sysv style init). What would be the best way to do that? I found some aur packages, but i guess i have to write init scripts for myself then?

Gusar wrote:
0mark wrote:I know that udev without systemd is not supported anymore
That is completely false, it is very much supported. (no need to link to that infamous post by Lennart - it does not say what you're claiming here).
I read this http://lists.freedesktop.org/archives/s … 06066.html and you are right, its not exactly the same. But i just wantet to say that i know that there might be problems ahead when using udev standalone.
@Gusar, tomk: Thanks, that looks like good starting point. Although i will probably not being enthusiastical enough to really put something up, i will at least try
@karol: Im already taking a look around, but i would rather keep arch. I think crux might be a good idea, or this archbang mentioned earlier.
@jasonwryan: I will try them, thanks.

Similar Messages

  • Can I install Arch Linux without Internet connection ?

    It sounds noobish but my friends like to know if they can install Arch Linux without Internet connection ?

    mcmillan wrote:
    The core iso should be all you need, just boot off that to start the installation. It's been a while since I did an install, but somewhere along the way it gives you an option to install off the cd or do a net install. You just need to choose the cd installation.
    That being said, all you'll have without internet will be what's on the cd, so you'll be left with a pretty minimal install. If you want to update and install additional software then you'll either need to get the computer temporarily  connected, or download the packages on a different computer and transfer them.
    I am looking to do something similar. I have the core system installed on an older laptop, but I cannot get the wireless working (it has no ethernet). I've tried downloading the libgl packagesfrom a mirror to a thumbdrive, but it's a dependency nightmare. Is there a better way to do this?

  • Install 2nd instance of Arch Linux without internet connection

    I have successfully install a first instance of Arch Linux using Arch Linux ISO + pacstrap + pacman with internet connection.
    I have updated to latest package database list (/var/lib/pacman/sync) and package cache files (/var/cache/pacman/pkg) in first instance of Arch Linux with "pacman -Swyu".
    Next, I would like to install 2nd instance of Arch Linux without using internet connection.
    I share the "/var/lib/pacman/sync" and "/var/cache/pacman/pkg" via NFS from first Arch Linux instance.
    I boot the 2nd instance with Arch Linux ISO and attempt to install without internet connection.  I mount the two NFS shares from 1st instance to "/var/cache/pacman/pkg" and "/mnt/var/lib/pacman/sync" respectively.  I execute
       # pacstrap -i -c /mnt"
    to start installation.
    I found it is almost impossible with current implementation of pacstrap script.  The pacstrap script always attempt to update package database list with -Sy option.
    I think some amendments on pacstrap script is needed to install Arch Linux without internet connection.

    I made the edit by adding the option -o to do what you want.
    I am too lazy for a feature request right now...
    #!/bin/bash
    # Assumptions:
    # 1) User has partitioned, formatted, and mounted partitions on /mnt
    # 2) Network is functional
    # 3) Arguments passed to the script are valid pacman targets
    # 4) A valid mirror appears in /etc/pacman.d/mirrorlist
    shopt -s extglob
    out() { printf "$1 $2\n" "${@:3}"; }
    error() { out "==> ERROR:" "$@"; } >&2
    msg() { out "==>" "$@"; }
    msg2() { out " ->" "$@";}
    die() { error "$@"; exit 1; }
    in_array() {
    local i
    for i in "${@:2}"; do
    [[ $1 = "$i" ]] && return
    done
    track_mount() {
    mount "$@" && CHROOT_ACTIVE_MOUNTS=("$2" "${CHROOT_ACTIVE_MOUNTS[@]}")
    api_fs_mount() {
    CHROOT_ACTIVE_MOUNTS=()
    { mountpoint -q "$1" || track_mount "$1" "$1" --bind; } &&
    track_mount proc "$1/proc" -t proc -o nosuid,noexec,nodev &&
    track_mount sys "$1/sys" -t sysfs -o nosuid,noexec,nodev &&
    track_mount udev "$1/dev" -t devtmpfs -o mode=0755,nosuid &&
    track_mount devpts "$1/dev/pts" -t devpts -o mode=0620,gid=5,nosuid,noexec &&
    track_mount shm "$1/dev/shm" -t tmpfs -o mode=1777,nosuid,nodev &&
    track_mount run "$1/run" -t tmpfs -o nosuid,nodev,mode=0755 &&
    track_mount tmp "$1/tmp" -t tmpfs -o mode=1777,strictatime,nodev,nosuid
    api_fs_umount() {
    umount "${CHROOT_ACTIVE_MOUNTS[@]}"
    valid_number_of_base() {
    local base=$1 len=${#2} i=
    for (( i = 0; i < len; i++ )); do
    (( (${2:i:1} & ~(base - 1)) == 0 )) || return
    done
    mangle() {
    local i= chr= out=
    unset {a..f} {A..F}
    for (( i = 0; i < ${#1}; i++ )); do
    chr=${1:i:1}
    case $chr in
    [[:space:]\\])
    printf -v chr '%03o' "'$chr"
    out+=\\
    # fallthrough
    out+=$chr
    esac
    done
    printf '%s' "$out"
    unmangle() {
    local i= chr= out= len=$(( ${#1} - 4 ))
    unset {a..f} {A..F}
    for (( i = 0; i < len; i++ )); do
    chr=${1:i:1}
    case $chr in
    if valid_number_of_base 8 "${1:i+1:3}" ||
    valid_number_of_base 16 "${1:i+1:3}"; then
    printf -v chr '%b' "${1:i:4}"
    (( i += 3 ))
    fi
    # fallthrough
    out+=$chr
    esac
    done
    printf '%s' "$out${1:i}"
    dm_name_for_devnode() {
    read dm_name <"/sys/class/block/${1#/dev/}/dm/name"
    if [[ $dm_name ]]; then
    printf '/dev/mapper/%s' "$dm_name"
    else
    # don't leave the caller hanging, just print the original name
    # along with the failure.
    print '%s' "$1"
    error 'Failed to resolve device mapper name for: %s' "$1"
    fi
    fstype_is_pseudofs() {
    # list taken from util-linux source: libmount/src/utils.c
    local -A pseudofs_types=([anon_inodefs]=1
    [autofs]=1
    [bdev]=1
    [binfmt_misc]=1
    [cgroup]=1
    [configfs]=1
    [cpuset]=1
    [debugfs]=1
    [devfs]=1
    [devpts]=1
    [devtmpfs]=1
    [dlmfs]=1
    [fuse.gvfs-fuse-daemon]=1
    [fusectl]=1
    [hugetlbfs]=1
    [mqueue]=1
    [nfsd]=1
    [none]=1
    [pipefs]=1
    [proc]=1
    [pstore]=1
    [ramfs]=1
    [rootfs]=1
    [rpc_pipefs]=1
    [securityfs]=1
    [sockfs]=1
    [spufs]=1
    [sysfs]=1
    [tmpfs]=1)
    (( pseudofs_types["$1"] ))
    newroot=/mnt
    hostcache=0
    copykeyring=1
    copymirrorlist=1
    offline=0
    usage() {
    cat <<EOF
    usage: ${0##*/} [options] root [packages...]
    Options:
    -C config Use an alternate config file for pacman
    -c Use the package cache on the host, rather than the target
    -d Allow installation to a non-mountpoint directory
    -G Avoid copying the host's pacman keyring to the target
    -i Avoid auto-confirmation of package selections
    -M Avoid copying the host's mirrorlist to the target
    -o Do not update the pacman cache for offline installation
    -h Print this help message
    pacstrap installs packages to the specified new root directory. If no packages
    are given, pacstrap defaults to the "base" group.
    EOF
    if [[ -z $1 || $1 = @(-h|--help) ]]; then
    usage
    exit $(( $# ? 0 : 1 ))
    fi
    (( EUID == 0 )) || die 'This script must be run with root privileges'
    while getopts ':C:cdGiMo' flag; do
    case $flag in
    C)
    pacman_config=$OPTARG
    d)
    directory=1
    c)
    hostcache=1
    i)
    interactive=1
    G)
    copykeyring=0
    M)
    copymirrorlist=0
    o)
    offline=1
    die '%s: option requires an argument -- '\''%s'\' "${0##*/}" "$OPTARG"
    die '%s: invalid option -- '\''%s'\' "${0##*/}" "$OPTARG"
    esac
    done
    shift $(( OPTIND - 1 ))
    (( $# )) || die "No root directory specified"
    newroot=$1; shift
    pacman_args=("${@:-base}")
    if (( ! hostcache )); then
    pacman_args+=(--cachedir="$newroot/var/cache/pacman/pkg")
    fi
    if (( ! interactive )); then
    pacman_args+=(--noconfirm)
    fi
    if (( ! offline )); then
    pacman_args+=(-y)
    fi
    if [[ $pacman_config ]]; then
    pacman_args+=(--config="$pacman_config")
    fi
    [[ -d $newroot ]] || die "%s is not a directory" "$newroot"
    if ! mountpoint -q "$newroot" && (( ! directory )); then
    die '%s is not a mountpoint!' "$newroot"
    fi
    # create obligatory directories
    msg 'Creating install root at %s' "$newroot"
    mkdir -m 0755 -p "$newroot"/var/{cache/pacman/pkg,lib/pacman,log} "$newroot"/{dev,run,etc}
    mkdir -m 1777 -p "$newroot"/tmp
    mkdir -m 0555 -p "$newroot"/{sys,proc}
    # always call umount on quit after this point
    trap 'api_fs_umount "$newroot" 2>/dev/null' EXIT
    # mount API filesystems
    api_fs_mount "$newroot" || die "failed to setup API filesystems in new root"
    msg 'Installing packages to %s' "$newroot"
    if ! pacman -r "$newroot" -S "${pacman_args[@]}"; then
    die 'Failed to install packages to new root'
    fi
    if (( copykeyring )); then
    # if there's a keyring on the host, copy it into the new root, unless it exists already
    if [[ -d /etc/pacman.d/gnupg && ! -d $newroot/etc/pacman.d/gnupg ]]; then
    cp -a /etc/pacman.d/gnupg "$newroot/etc/pacman.d/"
    fi
    fi
    if (( copymirrorlist )); then
    # install the host's mirrorlist onto the new root
    cp -a /etc/pacman.d/mirrorlist "$newroot/etc/pacman.d/"
    fi
    # vim: et ts=2 sw=2 ft=sh:

  • Migration to Arch Linux without extra partition requirement

    Hello every body.
    I'm currently making somes linux migration distribution, which means, installing on the current root partition Arch Linux and then having the possibility to switch from one to the other one just like you would have 2 distros on separate partitions. As you can imagine it's a interesting challenge. For me it is a must since I do not have any disk free needer want to create any new partitions. Moreover, the all process is possible to be done remotetly.
    They is an available detail explaination how I proceed at http://kiao.no-ip.info/depot/arch.
    Just be aware it is continuously updated as I'm doing the migration.
    Any comment are welcome
    Thierry
    Last edited by kiao (2007-07-10 12:26:30)

    Have you looked at the wiki for installing the arch32 bit enviornment on arch64 ?
    I think it's basically a decription of what your wanting to do. Even though it was written for just adding a minimal 32 bit install within arch 64, you could use the steps to install a complete sytem within another.
    http://wiki.archlinux.org/index.php/Arc … bit_system

  • HP DV6000 randomly freezing with Arch Linux

    Hello,
    Just to clarify I am working with Arch Linux as a Web Developer, therefore I do have special needs such as having 20+ tabs open with vital information in different pages.
    I can assure that after using Windows XP, Windows 7, xUbuntu, Linux Mint and Ubuntu I have never had such breaks or freezes in this machine.
    The freezes are identifiable when the mouse seems to be very slow to move, the computer very slow to respond, the cursor of the icon does not change within the context where it is, I can't even open the menu bar to access the terminal (using Terminator).
    After noticing these randomly freezes, I've started to keep the Terminator open with top command inserted. After seeing the values of percentage usage in CPU or RAM, the levels don't even go up more than 20%. However, I notice that the laptop suddenly starts heating a lot.
    The solution is just to wait with some luck about 10 minutes. If it does not go on after that, I need to turn off the computer by pressing the button or unplugging the battery (yeah, the battery is dead too).
    Some main packages I currently use are:
    - Cinnamon
    - Filezilla
    - Netbeans PHP IDE 8.0
    - Skype
    - Geany
    - 7-Zip FM
    - Adobe Flash Player
    - Chromium (my main browser)
    - Firefox
    - SSH
    - Htop
    - VLC Media Player
    - Terminator
    Any ideas of what could it be?
    Thanks!
    Last edited by SirPereira (2014-05-19 14:52:56)

    Rexilion wrote:
    It seems you do not have any swap. Correct?
    Could you provide the output of dmesg after the occurance?
    Yes, you are correct, I do not have any swap. Would I benefit from it? I guess I never used it.
    After the occurance you mean, after the freeze? I will try to do it, but it is rare the case when the computer is able to not freeze at all.
    Got it now:
    The output of dmesg:
    [ 0.443614] pcieport 0000:00:1c.3: irq 43 for MSI/MSI-X
    [ 0.443838] pcieport 0000:00:1c.4: irq 44 for MSI/MSI-X
    [ 0.444061] pcieport 0000:00:1c.5: irq 45 for MSI/MSI-X
    [ 0.444184] pcieport 0000:00:01.0: Signaling PME through PCIe PME interrupt
    [ 0.444187] pci 0000:01:00.0: Signaling PME through PCIe PME interrupt
    [ 0.444190] pcie_pme 0000:00:01.0:pcie01: service driver pcie_pme loaded
    [ 0.444210] pcieport 0000:00:1c.0: Signaling PME through PCIe PME interrupt
    [ 0.444213] pci 0000:02:00.0: Signaling PME through PCIe PME interrupt
    [ 0.444217] pcie_pme 0000:00:1c.0:pcie01: service driver pcie_pme loaded
    [ 0.444237] pcieport 0000:00:1c.1: Signaling PME through PCIe PME interrupt
    [ 0.444239] pci 0000:03:00.0: Signaling PME through PCIe PME interrupt
    [ 0.444243] pcie_pme 0000:00:1c.1:pcie01: service driver pcie_pme loaded
    [ 0.444266] pcieport 0000:00:1c.3: Signaling PME through PCIe PME interrupt
    [ 0.444271] pcie_pme 0000:00:1c.3:pcie01: service driver pcie_pme loaded
    [ 0.444290] pcieport 0000:00:1c.4: Signaling PME through PCIe PME interrupt
    [ 0.444293] pci 0000:06:00.0: Signaling PME through PCIe PME interrupt
    [ 0.444295] pci 0000:06:00.1: Signaling PME through PCIe PME interrupt
    [ 0.444297] pci 0000:06:00.2: Signaling PME through PCIe PME interrupt
    [ 0.444298] pci 0000:06:00.3: Signaling PME through PCIe PME interrupt
    [ 0.444300] pci 0000:06:00.4: Signaling PME through PCIe PME interrupt
    [ 0.444305] pcie_pme 0000:00:1c.4:pcie01: service driver pcie_pme loaded
    [ 0.444324] pcieport 0000:00:1c.5: Signaling PME through PCIe PME interrupt
    [ 0.444329] pcie_pme 0000:00:1c.5:pcie01: service driver pcie_pme loaded
    [ 0.444345] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
    [ 0.444364] pciehp: PCI Express Hot Plug Controller Driver version: 0.4
    [ 0.444399] intel_idle: does not run on family 6 model 23
    [ 0.444441] GHES: HEST is not enabled!
    [ 0.444500] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
    [ 0.444971] Linux agpgart interface v0.103
    [ 0.445012] rtc_cmos 00:03: RTC can wake from S4
    [ 0.445141] rtc_cmos 00:03: rtc core: registered rtc_cmos as rtc0
    [ 0.445167] rtc_cmos 00:03: alarms up to one month, 242 bytes nvram, hpet irqs
    [ 0.445178] ledtrig-cpu: registered to indicate activity on CPUs
    [ 0.445322] TCP: cubic registered
    [ 0.445446] NET: Registered protocol family 10
    [ 0.445656] NET: Registered protocol family 17
    [ 0.445905] registered taskstats version 1
    [ 0.446529] Magic number: 14:681:877
    [ 0.446613] rtc_cmos 00:03: setting system clock to 2014-05-20 08:51:33 UTC (1400575893)
    [ 0.446705] PM: Hibernation image not present or could not be loaded.
    [ 0.447929] Freeing unused kernel memory: 1120K (ffffffff818d8000 - ffffffff819f0000)
    [ 0.447931] Write protecting the kernel read-only data: 8192k
    [ 0.450553] Freeing unused kernel memory: 904K (ffff88000151e000 - ffff880001600000)
    [ 0.451721] Freeing unused kernel memory: 416K (ffff880001798000 - ffff880001800000)
    [ 0.458667] random: systemd-tmpfile urandom read with 2 bits of entropy available
    [ 0.460077] systemd-udevd[47]: starting version 212
    [ 0.478236] i8042: PNP: PS/2 Controller [PNP0303:KBC,PNP0f13:MOUE] at 0x60,0x64 irq 1,12
    [ 0.489263] ACPI: bus type USB registered
    [ 0.489293] usbcore: registered new interface driver usbfs
    [ 0.489304] usbcore: registered new interface driver hub
    [ 0.494274] sdhci: Secure Digital Host Controller Interface driver
    [ 0.494278] sdhci: Copyright(c) Pierre Ossman
    [ 0.494499] sdhci-pci 0000:06:00.1: SDHCI controller found [197b:2382] (rev 0)
    [ 0.494708] mmc0: SDHCI controller on PCI [0000:06:00.1] using DMA
    [ 0.494739] sdhci-pci 0000:06:00.2: SDHCI controller found [197b:2381] (rev 0)
    [ 0.494796] sdhci-pci 0000:06:00.2: Refusing to bind to secondary interface.
    [ 0.499195] usbcore: registered new device driver usb
    [ 0.499671] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
    [ 0.499940] uhci_hcd: USB Universal Host Controller Interface driver
    [ 0.500201] ehci-pci: EHCI PCI platform driver
    [ 0.500769] uhci_hcd 0000:00:1a.0: UHCI Host Controller
    [ 0.500777] uhci_hcd 0000:00:1a.0: new USB bus registered, assigned bus number 1
    [ 0.500786] uhci_hcd 0000:00:1a.0: detected 2 ports
    [ 0.500808] uhci_hcd 0000:00:1a.0: irq 16, io base 0x000080e0
    [ 0.501200] hub 1-0:1.0: USB hub found
    [ 0.501209] hub 1-0:1.0: 2 ports detected
    [ 0.501580] uhci_hcd 0000:00:1a.1: UHCI Host Controller
    [ 0.501587] uhci_hcd 0000:00:1a.1: new USB bus registered, assigned bus number 2
    [ 0.501593] uhci_hcd 0000:00:1a.1: detected 2 ports
    [ 0.501626] uhci_hcd 0000:00:1a.1: irq 21, io base 0x000080c0
    [ 0.503178] SCSI subsystem initialized
    [ 0.503409] hub 2-0:1.0: USB hub found
    [ 0.503419] hub 2-0:1.0: 2 ports detected
    [ 0.503907] ehci-pci 0000:00:1a.7: EHCI Host Controller
    [ 0.503914] ehci-pci 0000:00:1a.7: new USB bus registered, assigned bus number 3
    [ 0.503929] ehci-pci 0000:00:1a.7: debug port 1
    [ 0.507842] ehci-pci 0000:00:1a.7: cache line size of 64 is not supported
    [ 0.507859] ehci-pci 0000:00:1a.7: irq 19, io mem 0xdd005c00
    [ 0.508093] libata version 3.00 loaded.
    [ 0.508752] serio: i8042 KBD port at 0x60,0x64 irq 1
    [ 0.508793] serio: i8042 AUX port at 0x60,0x64 irq 12
    [ 0.513351] ehci-pci 0000:00:1a.7: USB 2.0 started, EHCI 1.00
    [ 0.513563] hub 3-0:1.0: USB hub found
    [ 0.513629] hub 3-0:1.0: 4 ports detected
    [ 0.536813] hub 1-0:1.0: USB hub found
    [ 0.536828] hub 1-0:1.0: 2 ports detected
    [ 0.556530] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0
    [ 0.560059] hub 2-0:1.0: USB hub found
    [ 0.560067] hub 2-0:1.0: 2 ports detected
    [ 0.560345] ehci-pci 0000:00:1d.7: EHCI Host Controller
    [ 0.560352] ehci-pci 0000:00:1d.7: new USB bus registered, assigned bus number 4
    [ 0.560366] ehci-pci 0000:00:1d.7: debug port 1
    [ 0.563401] firewire_ohci 0000:06:00.0: added OHCI v1.10 device as card 0, 4 IR + 0 IT contexts, quirks 0x10
    [ 0.568179] ehci-pci 0000:00:1d.7: cache line size of 64 is not supported
    [ 0.568198] ehci-pci 0000:00:1d.7: irq 20, io mem 0xdd005800
    [ 0.576683] ehci-pci 0000:00:1d.7: USB 2.0 started, EHCI 1.00
    [ 0.576856] hub 4-0:1.0: USB hub found
    [ 0.576865] hub 4-0:1.0: 8 ports detected
    [ 0.577213] uhci_hcd 0000:00:1d.0: UHCI Host Controller
    [ 0.577220] uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 5
    [ 0.577228] uhci_hcd 0000:00:1d.0: detected 2 ports
    [ 0.577249] uhci_hcd 0000:00:1d.0: irq 20, io base 0x000080a0
    [ 0.577420] hub 5-0:1.0: USB hub found
    [ 0.577429] hub 5-0:1.0: 2 ports detected
    [ 0.577678] uhci_hcd 0000:00:1d.1: UHCI Host Controller
    [ 0.577684] uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 6
    [ 0.577691] uhci_hcd 0000:00:1d.1: detected 2 ports
    [ 0.577712] uhci_hcd 0000:00:1d.1: irq 19, io base 0x00008080
    [ 0.577877] hub 6-0:1.0: USB hub found
    [ 0.577885] hub 6-0:1.0: 2 ports detected
    [ 0.578124] uhci_hcd 0000:00:1d.2: UHCI Host Controller
    [ 0.578130] uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 7
    [ 0.578136] uhci_hcd 0000:00:1d.2: detected 2 ports
    [ 0.578156] uhci_hcd 0000:00:1d.2: irq 16, io base 0x00008060
    [ 0.578323] hub 7-0:1.0: USB hub found
    [ 0.578331] hub 7-0:1.0: 2 ports detected
    [ 0.578566] uhci_hcd 0000:00:1d.3: UHCI Host Controller
    [ 0.578573] uhci_hcd 0000:00:1d.3: new USB bus registered, assigned bus number 8
    [ 0.578579] uhci_hcd 0000:00:1d.3: detected 2 ports
    [ 0.578609] uhci_hcd 0000:00:1d.3: irq 18, io base 0x00008040
    [ 0.578778] hub 8-0:1.0: USB hub found
    [ 0.578786] hub 8-0:1.0: 2 ports detected
    [ 0.579138] ahci 0000:00:1f.2: version 3.0
    [ 0.579314] ahci 0000:00:1f.2: irq 46 for MSI/MSI-X
    [ 0.579386] ahci 0000:00:1f.2: AHCI 0001.0200 32 slots 4 ports 3 Gbps 0x33 impl SATA mode
    [ 0.579390] ahci 0000:00:1f.2: flags: 64bit ncq sntf ilck pm led clo pmp pio slum part ccc ems sxs
    [ 0.597458] scsi0 : ahci
    [ 0.597577] scsi1 : ahci
    [ 0.597688] scsi2 : ahci
    [ 0.597787] scsi3 : ahci
    [ 0.597890] scsi4 : ahci
    [ 0.597988] scsi5 : ahci
    [ 0.598049] ata1: SATA max UDMA/133 abar m2048@0xdd005000 port 0xdd005100 irq 46
    [ 0.598053] ata2: SATA max UDMA/133 abar m2048@0xdd005000 port 0xdd005180 irq 46
    [ 0.598054] ata3: DUMMY
    [ 0.598056] ata4: DUMMY
    [ 0.598058] ata5: SATA max UDMA/133 abar m2048@0xdd005000 port 0xdd005300 irq 46
    [ 0.598060] ata6: SATA max UDMA/133 abar m2048@0xdd005000 port 0xdd005380 irq 46
    [ 0.916700] ata6: SATA link down (SStatus 0 SControl 300)
    [ 0.916718] ata5: SATA link down (SStatus 0 SControl 300)
    [ 1.063421] firewire_core 0000:06:00.0: created device fw0: GUID 0000000000000000, S400
    [ 1.083353] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
    [ 1.083369] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
    [ 1.083987] ata1.00: ATA-8: TOSHIBA MK5055GSX, FG002C, max UDMA/100
    [ 1.083990] ata1.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
    [ 1.084680] ata1.00: configured for UDMA/100
    [ 1.084792] scsi 0:0:0:0: Direct-Access ATA TOSHIBA MK5055GS FG00 PQ: 0 ANSI: 5
    [ 1.087088] ata2.00: ATAPI: HL-DT-ST DVDRAM GSA-T50L, SC04, max UDMA/100
    [ 1.092125] ata2.00: configured for UDMA/100
    [ 1.113361] usb 2-2: new low-speed USB device number 2 using uhci_hcd
    [ 1.203938] scsi 1:0:0:0: CD-ROM HL-DT-ST DVDRAM GSA-T50L SC04 PQ: 0 ANSI: 5
    [ 1.208648] sd 0:0:0:0: [sda] 976773168 512-byte logical blocks: (500 GB/465 GiB)
    [ 1.208739] sd 0:0:0:0: [sda] Write Protect is off
    [ 1.208743] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
    [ 1.208779] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
    [ 1.290173] hidraw: raw HID events driver (C) Jiri Kosina
    [ 1.323084] sr0: scsi3-mmc drive: 24x/24x writer dvd-ram cd/rw xa/form2 cdda tray
    [ 1.323088] cdrom: Uniform CD-ROM driver Revision: 3.20
    [ 1.323226] sr 1:0:0:0: Attached scsi CD-ROM sr0
    [ 1.325332] usbcore: registered new interface driver usbhid
    [ 1.325335] usbhid: USB HID core driver
    [ 1.325918] input: Microsoft Wired Keyboard 600 as /devices/pci0000:00/0000:00:1a.1/usb2/2-2/2-2:1.0/0003:045E:0750.0001/input/input2
    [ 1.326088] hid-generic 0003:045E:0750.0001: input,hidraw0: USB HID v1.11 Keyboard [Microsoft Wired Keyboard 600] on usb-0000:00:1a.1-2/input0
    [ 1.336169] input: Microsoft Wired Keyboard 600 as /devices/pci0000:00/0000:00:1a.1/usb2/2-2/2-2:1.1/0003:045E:0750.0002/input/input3
    [ 1.336217] hid-generic 0003:045E:0750.0002: input,hidraw1: USB HID v1.11 Device [Microsoft Wired Keyboard 600] on usb-0000:00:1a.1-2/input1
    [ 1.418377] sda: sda1 sda2
    [ 1.418731] sd 0:0:0:0: [sda] Attached SCSI disk
    [ 1.426688] tsc: Refined TSC clocksource calibration: 2394.269 MHz
    [ 1.446699] usb 4-4: new high-speed USB device number 3 using ehci-pci
    [ 2.115101] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
    [ 2.200031] usb 5-1: new low-speed USB device number 2 using uhci_hcd
    [ 2.385422] input: Logitech USB Optical Mouse as /devices/pci0000:00/0000:00:1d.0/usb5/5-1/5-1:1.0/0003:046D:C05A.0003/input/input4
    [ 2.385472] hid-generic 0003:046D:C05A.0003: input,hidraw2: USB HID v1.11 Mouse [Logitech USB Optical Mouse] on usb-0000:00:1d.0-1/input0
    [ 2.426729] Switched to clocksource tsc
    [ 2.490018] usb 7-2: new full-speed USB device number 2 using uhci_hcd
    [ 2.502963] random: nonblocking pool is initialized
    [ 2.721320] systemd[1]: systemd 212 running in system mode. (+PAM -AUDIT -SELINUX -IMA -SYSVINIT +LIBCRYPTSETUP +GCRYPT +ACL +XZ +SECCOMP -APPARMOR)
    [ 2.721454] systemd[1]: Detected architecture 'x86-64'.
    [ 2.739429] systemd[1]: Set hostname to <arch>.
    [ 3.632105] systemd[1]: Configuration file /etc/systemd/system/netctl@my\x2dnetwork.service is marked world-inaccessible. This has no effect as configuration data is accessible via APIs without restrictions. Proceeding anyway.
    [ 3.755410] systemd[1]: Starting Login Prompts.
    [ 3.755928] systemd[1]: Reached target Login Prompts.
    [ 3.755939] systemd[1]: Starting Forward Password Requests to Wall Directory Watch.
    [ 3.755992] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
    [ 3.756002] systemd[1]: Starting Remote File Systems.
    [ 3.756478] systemd[1]: Reached target Remote File Systems.
    [ 3.756488] systemd[1]: Expecting device sys-subsystem-net-devices-wlan0.device...
    [ 3.756839] systemd[1]: Starting Encrypted Volumes.
    [ 3.757313] systemd[1]: Reached target Encrypted Volumes.
    [ 3.757330] systemd[1]: Starting Dispatch Password Requests to Console Directory Watch.
    [ 3.757364] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
    [ 3.757373] systemd[1]: Starting Paths.
    [ 3.757845] systemd[1]: Reached target Paths.
    [ 3.757866] systemd[1]: Starting Arbitrary Executable File Formats File System Automount Point.
    [ 3.758419] systemd[1]: Set up automount Arbitrary Executable File Formats File System Automount Point.
    [ 3.758432] systemd[1]: Starting Swap.
    [ 3.758902] systemd[1]: Reached target Swap.
    [ 3.758913] systemd[1]: Expecting device dev-disk-by\x2duuid-3e31eb5f\x2d326a\x2d4cd0\x2daab3\x2d7d1e7ac0797b.device...
    [ 3.759249] systemd[1]: Starting Root Slice.
    [ 3.766515] systemd[1]: Created slice Root Slice.
    [ 3.766527] systemd[1]: Starting User and Session Slice.
    [ 3.767173] systemd[1]: Created slice User and Session Slice.
    [ 3.767184] systemd[1]: Starting Device-mapper event daemon FIFOs.
    [ 3.767681] systemd[1]: Listening on Device-mapper event daemon FIFOs.
    [ 3.767691] systemd[1]: Starting /dev/initctl Compatibility Named Pipe.
    [ 3.768180] systemd[1]: Listening on /dev/initctl Compatibility Named Pipe.
    [ 3.768189] systemd[1]: Starting Delayed Shutdown Socket.
    [ 3.768677] systemd[1]: Listening on Delayed Shutdown Socket.
    [ 3.768687] systemd[1]: Starting LVM2 metadata daemon socket.
    [ 3.769176] systemd[1]: Listening on LVM2 metadata daemon socket.
    [ 3.769189] systemd[1]: Starting udev Control Socket.
    [ 3.769676] systemd[1]: Listening on udev Control Socket.
    [ 3.769688] systemd[1]: Starting udev Kernel Socket.
    [ 3.770181] systemd[1]: Listening on udev Kernel Socket.
    [ 3.770192] systemd[1]: Starting Journal Socket.
    [ 3.770700] systemd[1]: Listening on Journal Socket.
    [ 3.770716] systemd[1]: Starting System Slice.
    [ 3.771341] systemd[1]: Created slice System Slice.
    [ 3.771357] systemd[1]: Started File System Check on Root Device.
    [ 3.771365] systemd[1]: Starting system-systemd\x2dfsck.slice.
    [ 3.772001] systemd[1]: Created slice system-systemd\x2dfsck.slice.
    [ 3.772011] systemd[1]: Mounting Temporary Directory...
    [ 3.790231] systemd[1]: Starting system-netctl.slice.
    [ 3.790914] systemd[1]: Created slice system-netctl.slice.
    [ 3.790930] systemd[1]: Starting system-getty.slice.
    [ 3.791567] systemd[1]: Created slice system-getty.slice.
    [ 3.809849] systemd[1]: Started Set Up Additional Binary Formats.
    [ 3.852492] systemd[1]: Starting Create list of required static device nodes for the current kernel...
    [ 3.876658] systemd[1]: Starting Apply Kernel Variables...
    [ 3.877416] systemd[1]: Mounting POSIX Message Queue File System...
    [ 3.878150] systemd[1]: Mounting Huge Pages File System...
    [ 3.878884] systemd[1]: Starting udev Coldplug all Devices...
    [ 3.879636] systemd[1]: Starting Setup Virtual Console...
    [ 3.880782] systemd[1]: Started Load Kernel Modules.
    [ 3.880820] systemd[1]: Mounting Configuration File System...
    [ 3.881579] systemd[1]: Mounting Debug File System...
    [ 3.882319] systemd[1]: Mounted FUSE Control File System.
    [ 3.882346] systemd[1]: Starting Journal Service...
    [ 3.883635] systemd[1]: Started Journal Service.
    [ 4.312288] EXT4-fs (sda1): re-mounted. Opts: data=ordered
    [ 4.431925] systemd-udevd[146]: starting version 212
    [ 5.513427] input: Power Button as /devices/LNXSYSTM:00/device:00/PNP0C0C:00/input/input5
    [ 5.513433] ACPI: Power Button [PWRB]
    [ 5.513493] input: Lid Switch as /devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input6
    [ 5.513777] ACPI: Lid Switch [LID0]
    [ 5.513831] input: Sleep Button as /devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input7
    [ 5.513834] ACPI: Sleep Button [SLPB]
    [ 5.513911] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input8
    [ 5.513914] ACPI: Power Button [PWRF]
    [ 5.596907] ACPI: AC Adapter [ACAD] (on-line)
    [ 5.645033] snd_hda_intel 0000:00:1b.0: irq 47 for MSI/MSI-X
    [ 5.657955] ACPI: Video Device [VGA] (multi-head: yes rom: no post: no)
    [ 5.661096] acpi device:08: registered as cooling_device0
    [ 5.663657] acpi device:0a: registered as cooling_device1
    [ 5.663725] input: Video Bus as /devices/LNXSYSTM:00/device:00/PNP0A08:00/device:06/LNXVIDEO:01/input/input9
    [ 5.708497] hp_accel: laptop model unknown, using default axes configuration
    [ 5.720053] lis3lv02d: 8 bits sensor found
    [ 5.729279] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
    [ 5.791571] ene_ir: chip is 0x3926 - kbver = 0x00, rev = 0xc0
    [ 5.791574] ene_ir: PLL freq = 1406
    [ 5.791575] ene_ir: KB3926C detected
    [ 5.791586] ene_ir: Firmware regs: 00 00
    [ 5.791587] ene_ir: Hardware features:
    [ 5.791589] ene_ir: * Uses GPIO 40 for IR demodulated input
    [ 5.821208] Monitor-Mwait will be used to enter C-1 state
    [ 5.821217] Monitor-Mwait will be used to enter C-2 state
    [ 5.821221] Monitor-Mwait will be used to enter C-3 state
    [ 5.821225] tsc: Marking TSC unstable due to TSC halts in idle
    [ 5.821242] ACPI: acpi_idle registered with cpuidle
    [ 5.821270] Switched to clocksource hpet
    [ 5.827916] Registered IR keymap rc-rc6-mce
    [ 5.828003] input: ENE eHome Infrared Remote Receiver as /devices/virtual/rc/rc0/input10
    [ 5.828066] rc0: ENE eHome Infrared Remote Receiver as /devices/virtual/rc/rc0
    [ 5.840895] ene_ir: driver has been successfully loaded
    [ 5.848018] input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/input/input11
    [ 5.877265] IR JVC protocol handler initialized
    [ 5.878491] IR NEC protocol handler initialized
    [ 5.879175] IR RC6 protocol handler initialized
    [ 5.880281] IR RC5(x) protocol handler initialized
    [ 5.880739] IR SANYO protocol handler initialized
    [ 5.881059] input: MCE IR Keyboard/Mouse (ene_ir) as /devices/virtual/input/input12
    [ 5.881065] IR MCE Keyboard/mouse protocol handler initialized
    [ 5.881065] IR Sony protocol handler initialized
    [ 5.881758] lirc_dev: IR Remote Control driver registered, major 249
    [ 5.882267] rc rc0: lirc_dev: driver ir-lirc-codec (ene_ir) registered at minor = 0
    [ 5.882270] IR LIRC bridge handler initialized
    [ 5.891466] [Firmware Bug]: Invalid critical threshold (0)
    [ 5.892123] thermal LNXTHERM:00: registered as thermal_zone0
    [ 5.892126] ACPI: Thermal Zone [TZ01] (31 C)
    [ 5.903447] input: ST LIS3LV02DL Accelerometer as /devices/platform/lis3lv02d/input/input13
    [ 5.903835] wmi: Mapper loaded
    [ 5.927466] ACPI: Battery Slot [BAT0] (battery present)
    [ 6.029419] [drm] Initialized drm 1.1.0 20060810
    [ 6.114983] cfg80211: Calling CRDA to update world regulatory domain
    [ 6.137776] ACPI Warning: SystemIO range 0x0000000000000428-0x000000000000042f conflicts with OpRegion 0x0000000000000400-0x000000000000047f (\PMBA) (20131218/utaddress-258)
    [ 6.137785] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
    [ 6.137789] ACPI Warning: SystemIO range 0x0000000000000500-0x000000000000052f conflicts with OpRegion 0x0000000000000500-0x000000000000050f (\GPIO) (20131218/utaddress-258)
    [ 6.137793] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
    [ 6.137822] lpc_ich: Resource conflict(s) found affecting gpio_ich
    [ 6.180252] Intel(R) Wireless WiFi driver for Linux, in-tree:
    [ 6.180255] Copyright(c) 2003- 2014 Intel Corporation
    [ 6.180475] iwlwifi 0000:02:00.0: irq 48 for MSI/MSI-X
    [ 6.287693] r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded
    [ 6.287960] r8169 0000:03:00.0: irq 49 for MSI/MSI-X
    [ 6.288149] r8169 0000:03:00.0 eth0: RTL8168c/8111c at 0xffffc9000584a000, 00:00:00:00:00:00, XID 1c4000c0 IRQ 49
    [ 6.288152] r8169 0000:03:00.0 eth0: jumbo features [frames: 6128 bytes, tx checksumming: ko]
    [ 6.345229] mousedev: PS/2 mouse device common for all mice
    [ 6.436120] ACPI Warning: SystemIO range 0x0000000000008000-0x000000000000801f conflicts with OpRegion 0x0000000000008000-0x000000000000800f (\_SB_.PCI0.SBUS.SMBI) (20131218/utaddress-258)
    [ 6.436128] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
    [ 6.526671] microcode: CPU0 sig=0x10676, pf=0x80, revision=0x60c
    [ 6.535077] media: Linux media interface: v0.10
    [ 6.569608] microcode: CPU1 sig=0x10676, pf=0x80, revision=0x60c
    [ 6.569745] microcode: Microcode Update Driver: v2.00 <[email protected]>, Peter Oruba
    [ 6.570548] input: HDA Intel HDMI/DP,pcm=3 Phantom as /devices/pci0000:00/0000:00:1b.0/sound/card0/input17
    [ 6.570639] input: HDA Intel Front Line Out as /devices/pci0000:00/0000:00:1b.0/sound/card0/input16
    [ 6.570714] input: HDA Intel Mic as /devices/pci0000:00/0000:00:1b.0/sound/card0/input15
    [ 6.581760] input: PC Speaker as /devices/platform/pcspkr/input/input18
    [ 6.599116] iwlwifi 0000:02:00.0: loaded firmware version 8.83.5.1 build 33692 op_mode iwldvm
    [ 6.683172] iwlwifi 0000:02:00.0: CONFIG_IWLWIFI_DEBUG disabled
    [ 6.683177] iwlwifi 0000:02:00.0: CONFIG_IWLWIFI_DEBUGFS disabled
    [ 6.683179] iwlwifi 0000:02:00.0: CONFIG_IWLWIFI_DEVICE_TRACING enabled
    [ 6.683182] iwlwifi 0000:02:00.0: Detected Intel(R) WiFi Link 5100 AGN, REV=0x54
    [ 6.683232] iwlwifi 0000:02:00.0: L1 Disabled; Enabling L0S
    [ 6.701985] Linux video capture interface: v2.00
    [ 6.780556] ieee80211 phy0: Selected rate control algorithm 'iwl-agn-rs'
    [ 6.922833] nvidia: module license 'NVIDIA' taints kernel.
    [ 6.922839] Disabling lock debugging due to kernel taint
    [ 6.939605] vgaarb: device changed decodes: PCI:0000:01:00.0,olddecodes=io+mem,decodes=none:owns=none
    [ 6.939882] [drm] Initialized nvidia-drm 0.0.0 20130102 for 0000:01:00.0 on minor 0
    [ 6.939892] NVRM: loading NVIDIA UNIX x86_64 Kernel Module 337.12 Fri Apr 4 14:51:15 PDT 2014
    [ 6.991292] iTCO_vendor_support: vendor-support=0
    [ 6.991687] iTCO_wdt: Intel TCO WatchDog Timer Driver v1.10
    [ 6.991726] iTCO_wdt: Found a ICH9M TCO device (Version=2, TCOBASE=0x0460)
    [ 6.991831] iTCO_wdt: initialized. heartbeat=30 sec (nowayout=0)
    [ 7.064547] input: HP WMI hotkeys as /devices/virtual/input/input19
    [ 7.066862] systemd-udevd[153]: renamed network interface eth0 to enp3s0
    [ 7.089277] Bluetooth: Core ver 2.18
    [ 7.089304] NET: Registered protocol family 31
    [ 7.089306] Bluetooth: HCI device and connection manager initialized
    [ 7.089316] Bluetooth: HCI socket layer initialized
    [ 7.089319] Bluetooth: L2CAP socket layer initialized
    [ 7.089331] Bluetooth: SCO socket layer initialized
    [ 7.097641] gpio_ich: GPIO from 195 to 255 on gpio_ich
    [ 7.119889] uvcvideo: Found UVC 1.00 device HP Webcam (05c8:010f)
    [ 7.125560] usbcore: registered new interface driver btusb
    [ 7.136432] input: HP Webcam as /devices/pci0000:00/0000:00:1d.7/usb4/4-4/4-4:1.0/input/input20
    [ 7.136523] usbcore: registered new interface driver uvcvideo
    [ 7.136525] USB Video Class driver (1.1.1)
    [ 7.162108] kvm: disabled by bios
    [ 7.167498] systemd-udevd[149]: renamed network interface wlan0 to wlp2s0
    [ 7.515656] psmouse serio1: synaptics: Touchpad model: 1, fw: 6.5, id: 0x1c0b1, caps: 0xa04751/0xa00000/0x0, board id: 3655, fw id: 428212
    [ 7.594362] input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input14
    [ 7.949749] EXT4-fs (sda2): mounted filesystem with ordered data mode. Opts: data=ordered
    [ 8.055002] systemd-journald[127]: Received request to flush runtime journal from PID 1
    [ 13.835532] iwlwifi 0000:02:00.0: L1 Disabled; Enabling L0S
    [ 13.838466] iwlwifi 0000:02:00.0: Radio type=0x1-0x2-0x0
    [ 13.935096] iwlwifi 0000:02:00.0: L1 Disabled; Enabling L0S
    [ 13.938046] iwlwifi 0000:02:00.0: Radio type=0x1-0x2-0x0
    [ 13.964225] IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
    [ 14.845976] nvidia 0000:01:00.0: irq 50 for MSI/MSI-X
    [ 20.903153] wlp2s0: authenticate with b8:c7:5d:02:3b:9d
    [ 20.906517] wlp2s0: send auth to b8:c7:5d:02:3b:9d (try 1/3)
    [ 20.909113] wlp2s0: authenticated
    [ 20.910074] wlp2s0: associate with b8:c7:5d:02:3b:9d (try 1/3)
    [ 20.913437] wlp2s0: RX AssocResp from b8:c7:5d:02:3b:9d (capab=0x1431 status=0 aid=7)
    [ 20.918955] wlp2s0: associated
    [ 20.919008] IPv6: ADDRCONF(NETDEV_CHANGE): wlp2s0: link becomes ready
    [ 21.089546] wlp2s0: deauthenticating from b8:c7:5d:02:3b:9d by local choice (reason=2)
    [ 21.096263] wlp2s0: authenticate with b8:c7:5d:02:3b:9d
    [ 21.099042] wlp2s0: send auth to b8:c7:5d:02:3b:9d (try 1/3)
    [ 21.099780] cfg80211: Calling CRDA for country: AT
    [ 21.101974] wlp2s0: authenticated
    [ 21.103555] wlp2s0: associate with b8:c7:5d:02:3b:9d (try 1/3)
    [ 21.108457] wlp2s0: RX AssocResp from b8:c7:5d:02:3b:9d (capab=0x1431 status=0 aid=7)
    [ 21.115231] wlp2s0: associated
    [ 26.591580] fuse init (API version 7.22)
    [ 148.105211] wlp2s0: authenticate with b8:c7:5d:02:3b:9e
    [ 148.107797] wlp2s0: direct probe to b8:c7:5d:02:3b:9e (try 1/3)
    [ 148.108518] cfg80211: Calling CRDA to update world regulatory domain
    [ 148.310034] wlp2s0: direct probe to b8:c7:5d:02:3b:9e (try 2/3)
    [ 148.513366] wlp2s0: send auth to b8:c7:5d:02:3b:9e (try 3/3)
    [ 148.514272] wlp2s0: authenticated
    [ 148.516865] wlp2s0: associate with b8:c7:5d:02:3b:9e (try 1/3)
    [ 148.517652] wlp2s0: RX AssocResp from b8:c7:5d:02:3b:9e (capab=0x1511 status=0 aid=4)
    [ 148.519034] wlp2s0: associated
    [ 148.531940] wlp2s0: Limiting TX power to 30 (30 - 0) dBm as advertised by b8:c7:5d:02:3b:9e
    [ 231.077026] wlp2s0: authenticate with b8:c7:5d:02:3b:9d
    [ 231.080206] wlp2s0: send auth to b8:c7:5d:02:3b:9d (try 1/3)
    [ 231.081422] cfg80211: Calling CRDA to update world regulatory domain
    [ 231.082756] wlp2s0: authenticated
    [ 231.083955] wlp2s0: waiting for beacon from b8:c7:5d:02:3b:9d
    [ 231.362261] wlp2s0: authenticate with b8:c7:5d:02:3b:9e
    [ 231.365917] wlp2s0: send auth to b8:c7:5d:02:3b:9e (try 1/3)
    [ 231.380479] wlp2s0: authenticated
    [ 231.383400] wlp2s0: associate with b8:c7:5d:02:3b:9e (try 1/3)
    [ 231.386425] wlp2s0: RX AssocResp from b8:c7:5d:02:3b:9e (capab=0x1511 status=0 aid=4)
    [ 231.390072] wlp2s0: associated
    [ 231.481241] wlp2s0: Limiting TX power to 30 (30 - 0) dBm as advertised by b8:c7:5d:02:3b:9e
    [ 311.833862] perf samples too long (2511 > 2500), lowering kernel.perf_event_max_sample_rate to 50100
    [ 3074.285425] Watchdog[977]: segfault at 0 ip 00007f42693ed9b8 sp 00007f4251f777d0 error 6 in chromium[7f4265a4e000+55d7000]
    [ 3166.859073] chromium[1212]: segfault at 39 ip 00007f7ddd6a7280 sp 00007fff9d984088 error 6 in chromium[7f7ddcefc000+55d7000]
    [ 3172.385333] chromium[1169]: segfault at fbadbeef ip 00007f7ddf63345d sp 00007fff9d983f20 error 6 in chromium[7f7ddcefc000+55d7000]

  • Archwiz Script for installing Arch Linux

    I created a new Bash Script Project called Archwiz, located on  github flesh/archwiz ,
    its still in Beta for a few reasons, I never figured out how to get computer translations working in the script so I can Localize it, and I never figured out all the details to get an AUR custom repo working and lastly I didn't get the Asynchronous downloads to work right, so there are all disabled in this script.
    This script was a fork of another script found here Archlinux Ultimate Install Script.
    The Script itself has several files, the wizard.sh is a library, that allow programmers to use this library as an API for writing scripts, so its usefully to anyone that wants an API to write Bash Scripts, but the script itself scripts a script that is saved as configuration files, then executes the script inside itself, so you can look at all the configuration files before running it.
    The script was written for use by anyone, but mostly targets programmers like myself who need to setup a machine to use as a work station and want it set up a certain way every time, although this script is far from finished, I have a lot of tweaking to do to it before it would be completely there, but as it is, I can get up and running on a machine with little effort, so this make it ideal for a Linux Administrator who has to install thousands of OS's and have them configured all the same way, but works great for someone just wanting to install Arch Linux.
    The Project is Self Documenting and Self Localizing, although currently only English works, but the po files are there, so it would be easy enough if you wanted to localize it; but the computer translation function I started would be the correct way to do this.
    The scripts makes use of a custom repo, so remove it when finished, the script should do this for you, but just to let you know, it downloads the core to the flash drive, this way it can install very fast, once you install it one, it has all the files on it to install on another computer without an Internet connection, well at least that was my thinking, I never did get the AUR custom repo to work, but the idea is to have all the files on the flash so you do not need to use up bandwidth installing Arch Linux on a new machine, just install it, then run pacman updates.
    The Idea of a Wizard is to make the life of those installing an OS, much easier, they have the Option to do a Custom install, or a Wizard install, even an Automatic install to pre-configure machines.
    The script determines if you have UEFI Bios or not, and formats and configures the Hard Drive correctly, and gives you full control over the partitioning of the drive, within the bounds of the tools used, so its very flexible, it uses systemd, so boot time on my machine is 10 seconds flat, and that's because I mount a lot of network drives and map them at boot time, I got 2 seconds boot time with mounting, so the packages are not perfect, but they do work.
    I only tested GDM, since I installed every Desktop Manager and configuration for my needs, this was the only one I got to work for all of them, but I normally use KDE or Mate, but I ran into issues with Mate and went back to KDE, so I could get back to work.
    This script was designed to Format the Drive you install it to, so do not use this on a Partitioned Drive,  it will format the hard drive, so you are warned once more during the install, but this could be fixed, I had to abandon the project to finish another, so the script is as it is, but could give someone a great start if they want to folk it and finish it, so fork me.
    See the help.html for details.
    Last edited by Flesh (2013-02-28 00:31:54)

    Moving to Community Contributions...

  • LXC container arch linux does not offer login

    I am sure this is silly, but it still seems I cannot find my way out of it.
    I am trying to set up an archlinux container within Arch Linux. I have followed verbatim the wiki, and the added comment on how to circumvent new problems deriving from the introduction of systemd. The container installs without errors, and it starts without errors, and yet... the command lxc-console does not
    offer me a login prompt, it just stops at "Type <Ctrl+a q> to exit the console...".
    The machine is running (replies correctly to pings); I tried to install ssh server ab initio in the hope of connecting via ssh rather than console, but no luck there. I am stumped because I do not know how to diagnose this problem. The only thing I did  "not" do, of those suggested in the wiki, is
    For a container to be able to use a host's virtual console it must not be in use by the host. This will most likely require the host's /etc/inittab to be modified to ensure no getty or other process runs on any virtual console that is to be used by the container.
    After editing the host's /etc/inittab file, issung a killall -HUP init will terminate any getty processes that are no longer configured and this will free up the virtual conosole for use by the container.
    Thanks for your help.

    I'm not sure if you've tried Docker yet, but it took about 3 minutes to have a working Arch Docker container on my Ubuntu 12.04 server:
    # docker pull base/arch
    # docker run -i -t base/arch /bin/bash
    [root@c21eea45fb46 /]# pacman -Syu
    :: Synchronizing package databases...
    core 106.7 KiB 617K/s 00:00 [###############################################] 100%
    extra 1533.7 KiB 2.15M/s 00:01 [###############################################] 100%
    community 2.1 MiB 2022K/s 00:01 [###############################################] 100%
    :: Starting full system upgrade...
    resolving dependencies...
    looking for inter-conflicts...
    Packages (11): archlinux-keyring-20140220-1 curl-7.35.0-1 e2fsprogs-1.42.9-1 gcc-libs-4.8.2-8 glibc-2.19-2 libgcrypt-1.6.1-1
    libldap-2.4.39-1 libsasl-2.1.26-7 linux-api-headers-3.13.2-1 pam-1.1.8-3 util-linux-2.24.1-1
    Total Download Size: 14.53 MiB
    Total Installed Size: 60.52 MiB
    Net Upgrade Size: 0.35 MiB
    :: Proceed with installation? [Y/n]
    :: Retrieving packages ...
    archlinux-keyring-20140220-1-any 432.6 KiB 968K/s 00:00 [###############################################] 100%
    curl-7.35.0-1-x86_64 471.5 KiB 2.19M/s 00:00 [###############################################] 100%
    Scott

  • Installed arch linux on windows 8 laptop and with GNOME

    Hi all,
    I am trying to learn more about linux and decided to go the Arch Linux way. I've battled through a bunch of issues before I got to this point so I might have fudged something along the way.
    The current issue is that I install GNOME, and it boots up into GNOME, and I select my username and type my password, and then I see black screen with blinking cursor for 10 seconds after which I am returned to GNOME login screen. It doesn't do a system reboot before going back to the login screen.
    The only way to stop this is to put in my livecd arch-linux usb drive and then delete GNOME, after which arch linux will boot back into terminal. (I wish I knew how to do this without using the usb drive)
    What should I look at for hints? I don't see any output when this loop happens.
    Thanks!

    Ok that works and I can log in. However I don't see any familiar drives mounted. Anyway, I have the output from journalctl. Here it is
    Mar 07 18:34:57 localhost systemd[1]: Started User Manager for UID 120.
    Mar 07 18:34:57 localhost org.a11y.Bus[311]: Activating service name='org.a11y.atspi.Registry'
    Mar 07 18:34:57 localhost org.a11y.Bus[311]: Successfully activated service 'org.a11y.atspi.Registry'
    Mar 07 18:34:57 localhost org.a11y.atspi.Registry[318]: SpiRegistry daemon is running with well-known name - org.a11y.atspi.Registry
    Mar 07 18:34:57 localhost gnome-session[307]: gnome-session[307]: WARNING: Could not parse desktop file orca-autostart.desktop or it references a not found TryExec binary
    Mar 07 18:34:57 localhost gnome-session[307]: WARNING: Could not parse desktop file orca-autostart.desktop or it references a not found TryExec binary
    Mar 07 18:34:57 localhost dbus[209]: [system] Activating via systemd: service name='org.freedesktop.UPower' unit='upower.service'
    Mar 07 18:34:57 localhost systemd[1]: Starting Daemon for power management...
    Mar 07 18:34:57 localhost dbus[209]: [system] Successfully activated service 'org.freedesktop.UPower'
    Mar 07 18:34:57 localhost systemd[1]: Started Daemon for power management.
    Mar 07 18:34:57 localhost upowerd[335]: (upowerd:335): UPower-Linux-WARNING **: energy 49.705840 bigger than full 49.698200
    Mar 07 18:34:57 localhost systemd[1]: Mounting FUSE Control File System...
    Mar 07 18:34:57 localhost kernel: fuse init (API version 7.23)
    Mar 07 18:34:57 localhost systemd[1]: Mounted FUSE Control File System.
    Mar 07 18:34:57 localhost dbus[209]: [system] Activating via systemd: service name='org.freedesktop.ColorManager' unit='colord.service'
    Mar 07 18:34:57 localhost systemd[1]: Starting Manage, Install and Generate Color Profiles...
    Mar 07 18:34:57 localhost gnome-session[307]: Entering running state
    Mar 07 18:34:57 localhost dbus[209]: [system] Successfully activated service 'org.freedesktop.ColorManager'
    Mar 07 18:34:57 localhost systemd[1]: Started Manage, Install and Generate Color Profiles.
    Mar 07 18:34:57 localhost dbus[209]: [system] Activating via systemd: service name='org.freedesktop.RealtimeKit1' unit='rtkit-daemon.service'
    Mar 07 18:34:57 localhost systemd[1]: Starting RealtimeKit Scheduling Policy Service...
    Mar 07 18:34:57 localhost dbus[209]: [system] Successfully activated service 'org.freedesktop.RealtimeKit1'
    Mar 07 18:34:57 localhost rtkit-daemon[382]: Successfully called chroot.
    Mar 07 18:34:57 localhost rtkit-daemon[382]: Successfully dropped privileges.
    Mar 07 18:34:57 localhost rtkit-daemon[382]: Successfully limited resources.
    Mar 07 18:34:57 localhost rtkit-daemon[382]: Running.
    Mar 07 18:34:57 localhost rtkit-daemon[382]: Canary thread running.
    Mar 07 18:34:57 localhost rtkit-daemon[382]: Watchdog thread running.
    Mar 07 18:34:57 localhost systemd[1]: Started RealtimeKit Scheduling Policy Service.
    Mar 07 18:34:57 localhost gdm-Xorg-:0[241]: (II) intel(0): EDID vendor "SHP", prod id 5153
    Mar 07 18:34:57 localhost gdm-Xorg-:0[241]: (II) intel(0): Printing DDC gathered Modelines:
    Mar 07 18:34:57 localhost gdm-Xorg-:0[241]: (II) intel(0): Modeline "3200x1800"x0.0 373.25 3200 3248 3280 3360 1800 1803 1808 1852 -hsync -vsync (111.1 kHz eP)
    Mar 07 18:34:57 localhost rtkit-daemon[382]: Successfully made thread 381 of process 381 (/usr/bin/pulseaudio) owned by '120' high priority at nice level -11.
    Mar 07 18:34:57 localhost rtkit-daemon[382]: Supervising 1 threads of 1 processes of 1 users.
    Mar 07 18:34:57 localhost colord[374]: /usr/lib/colord/colord-sane: error while loading shared libraries: libsane.so.1: cannot open shared object file: No such file or directory
    Mar 07 18:34:57 localhost rtkit-daemon[382]: Supervising 1 threads of 1 processes of 1 users.
    Mar 07 18:34:57 localhost rtkit-daemon[382]: Successfully made thread 389 of process 381 (/usr/bin/pulseaudio) owned by '120' RT at priority 5.
    Mar 07 18:34:57 localhost rtkit-daemon[382]: Supervising 2 threads of 1 processes of 1 users.
    Mar 07 18:34:57 localhost dbus[209]: [system] Activating via systemd: service name='org.bluez' unit='dbus-org.bluez.service'
    Mar 07 18:34:57 localhost dbus[209]: [system] Activation via systemd failed for unit 'dbus-org.bluez.service': Unit dbus-org.bluez.service failed to load: No such file or directory.
    Mar 07 18:34:57 localhost pulseaudio[381]: [pulseaudio] module-gconf.c: Unable to read or parse data from client.
    Mar 07 18:34:57 localhost pulseaudio[381]: [pulseaudio] module.c: Failed to load module "module-gconf" (argument: ""): initialization failed.
    Mar 07 18:34:57 localhost pulseaudio[381]: [pulseaudio] main.c: Module load failed.
    Mar 07 18:34:57 localhost pulseaudio[381]: [pulseaudio] bluez5-util.c: GetManagedObjects() failed: org.freedesktop.systemd1.LoadFailed: Unit dbus-org.bluez.service failed to load: No such file or directory.
    Mar 07 18:34:58 localhost dbus[209]: [system] Activating via systemd: service name='org.freedesktop.locale1' unit='dbus-org.freedesktop.locale1.service'
    Mar 07 18:34:58 localhost systemd[1]: Starting Locale Service...
    Mar 07 18:34:58 localhost dbus[209]: [system] Successfully activated service 'org.freedesktop.locale1'
    Mar 07 18:34:58 localhost systemd[1]: Started Locale Service.
    Mar 07 18:34:58 localhost gnome-session[307]: Gjs-Message: JS LOG: Failed to launch ibus-daemon: Failed to execute child process "ibus-daemon" (No such file or directory)
    Mar 07 18:34:58 localhost dbus[209]: [system] Activating via systemd: service name='org.freedesktop.GeoClue2' unit='geoclue.service'
    Mar 07 18:34:58 localhost systemd[1]: Starting Location Lookup Service...
    Mar 07 18:34:58 localhost dbus[209]: [system] Activating via systemd: service name='fi.w1.wpa_supplicant1' unit='wpa_supplicant.service'
    Mar 07 18:34:58 localhost systemd[1]: Starting WPA supplicant...
    Mar 07 18:34:58 localhost dbus[209]: [system] Successfully activated service 'fi.w1.wpa_supplicant1'
    Mar 07 18:34:58 localhost systemd[1]: Started WPA supplicant.
    Mar 07 18:34:58 localhost dbus[209]: [system] Successfully activated service 'org.freedesktop.GeoClue2'
    Mar 07 18:34:58 localhost systemd[1]: Started Location Lookup Service.
    Mar 07 18:34:58 localhost polkitd[247]: Registered Authentication Agent for unix-session:c1 (system bus name :1.15 [gnome-shell --mode=gdm], object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale C)
    Mar 07 18:34:58 localhost gnome-session[307]: Gjs-Message: JS LOG: No permission to trigger offline updates: Polkit.Error: GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: Action org.freedesktop.packagekit.trigger-offline-update is not registered
    Mar 07 18:34:58 localhost org.gnome.OnlineAccounts[311]: goa-daemon-Message: goa-daemon version 3.14.3 starting
    Mar 07 18:34:58 localhost dbus[209]: [system] Activating via systemd: service name='org.freedesktop.UDisks2' unit='udisks2.service'
    Mar 07 18:34:58 localhost systemd[1]: Starting Disk Manager...
    Mar 07 18:34:58 localhost udisksd[428]: udisks daemon version 2.1.4 starting
    Mar 07 18:34:58 localhost dbus[209]: [system] Successfully activated service 'org.freedesktop.UDisks2'
    Mar 07 18:34:58 localhost udisksd[428]: Acquired the name org.freedesktop.UDisks2 on the system message bus
    Mar 07 18:34:58 localhost systemd[1]: Started Disk Manager.
    Mar 07 18:34:59 localhost gnome-session[307]: Gjs-Message: JS LOG: GNOME Shell started at Sat Mar 07 2015 18:34:58 GMT+0000 (UTC)
    Mar 07 18:35:11 localhost gdm-password][441]: pam_unix(gdm-password:session): session opened for user asadali by (uid=0)
    Mar 07 18:35:11 localhost systemd[1]: Starting user-1000.slice.
    Mar 07 18:35:11 localhost systemd[1]: Created slice user-1000.slice.
    Mar 07 18:35:11 localhost systemd[1]: Starting User Manager for UID 1000...
    Mar 07 18:35:11 localhost systemd[445]: pam_unix(systemd-user:session): session opened for user asadali by (uid=0)
    Mar 07 18:35:11 localhost systemd[1]: Starting Session c2 of user asadali.
    Mar 07 18:35:11 localhost systemd-logind[207]: New session c2 of user asadali.
    Mar 07 18:35:11 localhost systemd[1]: Started Session c2 of user asadali.
    Mar 07 18:35:11 localhost systemd[445]: Starting Sockets.
    Mar 07 18:35:11 localhost systemd[445]: Reached target Sockets.
    Mar 07 18:35:11 localhost systemd[445]: Starting Paths.
    Mar 07 18:35:11 localhost systemd[445]: Reached target Paths.
    Mar 07 18:35:11 localhost systemd[445]: Starting Timers.
    Mar 07 18:35:11 localhost systemd[445]: Reached target Timers.
    Mar 07 18:35:11 localhost systemd[445]: Starting Basic System.
    Mar 07 18:35:11 localhost systemd[445]: Reached target Basic System.
    Mar 07 18:35:11 localhost systemd[445]: Starting Default.
    Mar 07 18:35:11 localhost systemd[445]: Reached target Default.
    Mar 07 18:35:11 localhost systemd[445]: Startup finished in 4ms.
    Mar 07 18:35:11 localhost systemd[1]: Started User Manager for UID 1000.
    Mar 07 18:35:11 localhost gdm-Xorg-:0[241]: (II) AIGLX: Suspending AIGLX clients for VT switch
    Mar 07 18:35:32 localhost gnome-session[453]: WARNING: IceLockAuthFile failed: Permission denied
    Mar 07 18:35:32 localhost gdm-password][441]: pam_unix(gdm-password:session): session closed for user asadali
    Mar 07 18:35:32 localhost gnome-session[453]: gnome-session[453]: WARNING: IceLockAuthFile failed: Permission denied
    Mar 07 18:35:32 localhost gdm-Xorg-:0[241]: (II) AIGLX: Resuming AIGLX clients after VT switch
    Mar 07 18:35:32 localhost gdm-Xorg-:0[241]: (II) intel(0): switch to mode [email protected] on eDP1 using pipe 0, position (0, 0), rotation normal, reflection none
    Mar 07 18:35:32 localhost gdm-session-worker[441]: <3>GLib: Source ID 39 was not found when attempting to remove it
    Mar 07 18:35:32 localhost gdm-Xorg-:0[241]: (--) synaptics: DLL0665:01 06CB:76AD UNKNOWN: touchpad found
    Mar 07 18:37:09 localhost gdm-password][475]: pam_unix(gdm-password:session): session opened for user asadali by (uid=0)
    Mar 07 18:37:09 localhost systemd[1]: Starting Session c3 of user asadali.
    Mar 07 18:37:09 localhost systemd-logind[207]: New session c3 of user asadali.
    Mar 07 18:37:09 localhost systemd[1]: Started Session c3 of user asadali.
    Mar 07 18:37:09 localhost gdm[213]: GLib-GObject: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
    Mar 07 18:37:09 localhost gdm[213]: GLib-GObject: g_object_get: assertion 'G_IS_OBJECT (object)' failed
    Mar 07 18:37:09 localhost gdm[213]: GLib-GObject: g_object_set_data_full: assertion 'G_IS_OBJECT (object)' failed
    Mar 07 18:37:09 localhost gdm[213]: gdm_display_get_timed_login_details: assertion 'GDM_IS_DISPLAY (display)' failed
    Mar 07 18:37:10 localhost gdm-Xorg-:0[241]: (II) AIGLX: Suspending AIGLX clients for VT switch
    Mar 07 18:37:30 localhost gnome-session[484]: WARNING: IceLockAuthFile failed: Permission denied
    Mar 07 18:37:30 localhost gnome-session[484]: gnome-session[484]: WARNING: IceLockAuthFile failed: Permission denied
    Mar 07 18:37:30 localhost gdm-password][475]: pam_unix(gdm-password:session): session closed for user asadali
    Mar 07 18:37:30 localhost gdm-Xorg-:0[241]: (II) AIGLX: Resuming AIGLX clients after VT switch
    Mar 07 18:37:30 localhost gdm-Xorg-:0[241]: (II) intel(0): switch to mode [email protected] on eDP1 using pipe 0, position (0, 0), rotation normal, reflection none
    Mar 07 18:37:30 localhost gdm-session-worker[475]: <3>GLib: Source ID 40 was not found when attempting to remove it
    Mar 07 18:37:30 localhost gdm-Xorg-:0[241]: (--) synaptics: DLL0665:01 06CB:76AD UNKNOWN: touchpad found
    Mar 07 18:37:34 localhost gdm-Xorg-:0[241]: (II) AIGLX: Suspending AIGLX clients for VT switch
    Mar 07 18:38:21 localhost systemd[1]: Starting Getty on tty4...
    Mar 07 18:38:21 localhost systemd[1]: Started Getty on tty4.
    Mar 07 18:38:27 localhost login[503]: pam_unix(login:session): session opened for user asadali by LOGIN(uid=0)
    Mar 07 18:38:27 localhost systemd[1]: Starting Session c4 of user asadali.
    Mar 07 18:38:27 localhost systemd-logind[207]: New session c4 of user asadali.
    Mar 07 18:38:27 localhost systemd[1]: Started Session c4 of user asadali.
    Mar 07 18:38:27 localhost login[503]: LOGIN ON tty4 BY asadali
    Mar 07 18:40:43 localhost kernel: usb 1-2: USB disconnect, device number 2
    Mar 07 18:40:43 localhost systemd-udevd[163]: error opening USB device 'descriptors' file
    Mar 07 18:40:43 localhost colord[374]: /usr/lib/colord/colord-sane: error while loading shared libraries: libsane.so.1: cannot open shared object file: No such file or directory
    Mar 07 18:40:43 localhost kernel: usb 1-2: new high-speed USB device number 6 using xhci_hcd
    Mar 07 18:40:43 localhost colord[374]: /usr/lib/colord/colord-sane: error while loading shared libraries: libsane.so.1: cannot open shared object file: No such file or directory
    Mar 07 18:40:43 localhost colord[374]: /usr/lib/colord/colord-sane: error while loading shared libraries: libsane.so.1: cannot open shared object file: No such file or directory
    Mar 07 18:40:43 localhost kernel: usbcore: registered new interface driver cdc_ether
    Mar 07 18:40:43 localhost kernel: rndis_host 1-2:1.0 usb0: register 'rndis_host' at usb-0000:00:14.0-2, RNDIS device, 02:56:06:5d:63:36
    Mar 07 18:40:43 localhost kernel: usbcore: registered new interface driver rndis_host
    Mar 07 18:40:43 localhost colord[374]: /usr/lib/colord/colord-sane: error while loading shared libraries: libsane.so.1: cannot open shared object file: No such file or directory
    Mar 07 18:40:43 localhost kernel: rndis_host 1-2:1.0 enp0s20u2: renamed from usb0
    Mar 07 18:40:49 localhost sudo[526]: asadali : TTY=tty4 ; PWD=/home/asadali ; USER=root ; COMMAND=/usr/bin/systemctl restart dhcpcd
    I only posted a piece of it.
    By the way, I got this file by using startX (becuase otherwise i didnt have permissions), used > to output it to a file, mounted a usb flash drive, copied it to flash drive, used a windows computer to copy the file to my ubuntu laptop (because the folder wouldn't show up in the ubuntu computer) and then posted it here. There has to be a better way to post a debug manage on here.

  • Installing Multiple Operating Systems with grub and Arch Linux

    NOTE: Please keep in mind that there are many different ways to achieve this same result using various loop and ramdisk methods, read this with a separate window to jot down your comments and suggestions... this is ongoing for me so any help would be appreciated!
    Read the full article at Install Multiple Os without cds
    This is my first post and I plan on making this topic an official HOWTO with www.tldp.org.
    I have been into the computer security scene since 1990, but I realized that I had very little experience with the various LInux, Unix, and alternative Operating systems out there.
    I have a CD-RW drive but being a struggling computer security researcher I had no money for blank cd-recordables.  What follows is how I managed to install various operating systems on my computer (1 hard drive) without having to burn to a CD the ISO and then boot from that.
    I first partitioned my 120GB harddrive into 10 partitions, the 2nd partition is a small swap and the last partition is extra large because it holds all the ISO images..
    I then wrote a small shell script to automatically download (I love wget!)  the following.
    OpenBSD
    IpCOP
    Libranet
    Arch-Linux
    Fire
    Local Area Security
    Packet Master
    Devil-Linux
    FreeBSD
    Knoppix
    Helix
    Gentoo
    Yoper-Linux
    NetBSD
    RedHat
    Slackware
    The script also downloaded Installation manuals and md5 checksums.. (let me know if I should post... its pretty unsophisticated
    I installed Slackware (personal favorite) on hda1 using my last blank CD-R, note that I do not have a separate boot partitino.  (Should I?).  I also installed grub on the MBR.  I love grub, if you read through the man pages and all info you can find about grub, you can learn a whole lot.  Grub has much more features and capability than lilo, even though lilo comes installed by default with slack.
    I organize my kernel situation as follows...  In my /boot directory, I mkdir KERNEL, CONFIG, MAP, INITRD and that is a good way for me to keep my kernels and everything organized..  Another good way is a separate dir for each new kernel. 
    Since Arch-Linux is a solid distro, I'll use that as a first example.
    Here is the Arch-Linux section of my shell script
    goge Arch-Linux
    $w http://puzzle.dl.sourceforge.net/sourceforge/archlinux/arch-0.6.iso
    $w http://unc.dl.sourceforge.net/sourceforge/archlinux/arch-0.6.md5sum
    $w http://www.archlinux.org/docs/en/guide/install/arch-install-guide.html
    md55
    cat arch-0.6.md5sum
    md5sum arch-0.6.iso
    md55
    The first thing to do is to mount the downloaded ISO image so we can use it as if it were an actual CD.
    mount -t iso9660 -o ro,loop=/dev/loop0 cdimage /mnt/cdrom
    Where cdimage= the ISO image.   EX. /usr/local/src/ISO/Linux/Arch-Linux/arch-0.6.iso
    This mounts the iso as /mnt/cdrom.
    Next you need to copy /mnt/cdrom to a separate partition for the booting process.  So mkfs.ext2 /dev/hda9.  ( I prefer reiserfs or even XFS to ext but if you use something other than ext2 you could run into some problems because some of the installation kernels and initrds don't include support for reiserfs and so can't recognize the files.  Although you could use mkinitrd to create a new initrd with reiserfs support, that might be pushin it IMO...   I use the 9th partition consistently for this.  I know there is a "right" way to copy the /mnt/cdrom files so everything stays the way it is supposed too, using tar or cpio, but I'm lazy so I just do cp -rp.   
    (What is the tar or cpio commands to copy with correct permissions etc??)
    So you mount the 9th partition as whatever, say /mnt/hd and then copy the files.  Now what?
    Now edit your /boot/grub/menu.lst file to include the specific options to boot arch-linux installation. 
    A good idea is to find the isolinux.cfg file somewhere on the distro cd, this will tell you what to include in the menu.lst.
    Here is the section in my menu.lst
    title Arch Install
    root (hd0,8)
    kernel /isolinux/vmlinuz load_ramdisk=1 prompt_ramdisk=0 root=/dev/rd/0
    initrd=/isolinux/initrd.img
    This should be self-explanatory.  The root (hd0,8) is pointing to partition 9.  So the rest of the commands start from partition 9. 
    When you experience problems, remember you can always edit the grub boot options by typing 'e' and then edit the section.  Also, a good idea is to include several variations in your menu.lst so you can easily try other ways to boot efficiently.  And, remember to read up on all the installation guides that come with your distro, specifically, hard-disk installs. 
    There are special cases, Gentoo, has a semi-new compressed filesystem called squashfs.  BTW, this is AWESOME, so check it out.  It has to be compiled into the kernel, so some work is in order, but use this recompile to optimize your kernel.  You can get the squashfs patch for almost any kernel.  I use the latest stable 2.6 kernel.  Squashfs is incredible and although I don't think you need it to install from ISO, you do need it to expand the livecd.squashfs filesystem that comes with the cd.
    Heres a sample Gentoo section from my menu.lst
    title Gentoo Install
    root (hd0,8)
    kernel /isolinux/gentoo root=/dev/ram0
    initrd=/isolinux/gentoo.igz init=/linuxrc acpi=off looptype=squashfs loop=/livecd.squashfs cdroot vga=791 splash=silent
    A nother' tip is the shell that is provided if you experience problems, typically busybox or ash.  The key tools to get you going from here is mount and chroot.  Sometimes you will need to manually create a simulated file system and then chroot into it.  For instance, you might have to create boot, etc, bin, directories on the target partition. 
    I generally install each OS onto the next partition (careful of the logical partition) and add it to my menu.lst after install.  A good idea is after installation, copy the kernel and initrd(if there is one) to the slackware(or whatever) boot partition on hda1.  I copy kernels to /boot/KERNEL/ and initrd's to /boot/INITRD, then menu.lst is more organized...
    You then need to add an updated section to your menu.lst (just comment out the install section for later)
    Here is the finished arch-linux section from menu.lst
    title Arch Linux 6
    root (hd0,2)
    kernel /boot/vmlinuz26 ro root=/dev/hdc3
    This doesn't use my convenient boot/KERNEL/vmlinuz26 as you can tell by setting the root to partition 3.
    ***NOTE: Make a backup of MBR using dd and save to floppy, also backup the partition table to floppy, using cfdisk or parted.  And boot disks (I use 1 with grub, and 1 with slack, and tomsbootdisk) will invariably come in handy.  Tomsbootdisk is recommended, and make the grub boot disk when you install grub.  install to floppy.
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    The final result after some fun experimenting, is when I boot, I have a cool grub boot screen come up with the option to boot into whatever OS I want, this is handy for multiple reasons.  One good thing to do after this is to port scan and vuln scan each OS, after you update of course.  Write this stuff down and you will know the weaknesses/strengths of the various OS's. 
    I can boot a custom Firewall, snort, or multiple honeypots using this procedure, as well as a graphical kde environment with a kernel optimized for graphics and my processor/architecture, or an environment devoted to forensics or even an environment suitable for programming.
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    P.S. Some of the cooler alternative operating systems are BeOS 5, EOS, ER_OS, V2_OS, and my personal favorite Menuet.  Menuet is 100% assembly graphical operating system that fits on a floppy.  Its f'in money!
    This should be a good enough example to get you started, this kind of thing should be learned and not just copied... Knowing how to do this stuff could prove to be exceptionally useful...

    Start by reading all the articles built-in on your Mac - Help > Mac Help, search "printer sharing."
    http://desk.stinkpot.org:8080/tricks/index.php/2008/04/how-to-print-to-a-cups-se rver-from-mac-os-x/
    http://www.macosxhints.com/article.php?story=20080324224027152&query=share%2Bpri nter
    http://members.cox.net/18james/osxprintersharing.html
    http://ubuntuforums.org/archive/index.php/t-56940.html

  • [SOLVED] Arch Linux Duke (2007) Fails to Boot

    Folks, I have a unique and challenging problem that has exhausted my Arch Linux skills, and so I am now turning to you.
    I have a vintage Pentium Pro 200 system (that’s 200 MHz folks! – 200 MHz 686 architecture – the original 686!), two CPUs, running a dual boot between Windows NT 4.0 and Arch Linux Duke (2007). It has 512 MB of RAM and a 120 GB hard drive, partitioned up between Windows NT and Linux. I built this system new in 2007, hence the dated version of Arch.  It has run like a charm all these years, granted not getting that much use. After about a year of no use at all, I fired the system up last week to help with a little research for a blog post I was writing on networking Windows NT 4.0 and Mac OS 8.6. Windows NT 4.0 fired right up with no issue, and after I was done testing what needed to be tested I tried to boot over to Arch.
    After a year of disuse, Arch unexpectedly and stubbornly refused to boot. The boot process started up just fine, but towards the end, it declared that it could not mount the root file system on the root device and took a kernel panic and stopped. My Arch skills have gotten a bit rusty in the last few years, but I dusted them off and went to work. My guess was a file system or superblock error. Arch wouldn’t boot, but I dragged out my trusty RIPLinux 2.9 Rescue Live CD and fired it up. It came right up and ran, and I was able to mount the Arch partition and view all the files… everything seemed to be there; it just wouldn’t boot. Windows NT 4.0 AND RIPLinux both boot and run on the machine, so the hardware is fine as well.
    A little information on the disk layout. Windows NT 4.0 is in the first partition on the hard drive. The extended partition has a second Windows NT 4.0 partition (sort of a /home partition for Windows NT 4.0), followed by the main Arch partition (the one I am trying to boot), followed by a swap partition and then the largest partition, which I use to share data between Arch and Windows NT 4.0 (I have loaded an ext2/3 driver into Windows NT 4.0 and it happily accesses the Linux partitions on the box).
    RIPLinux’s e2fsck did find some issues with the Arch partition and I had it repair them all. I checked again afterwards that all the files were still there, and they were. With the partition now known to be clean, and the superblock repaired from one of the backups, all should have been well. However, Arch still wouldn’t (and still won’t) boot.
    RIPLinux has a kind of a chain loader function, so I had it attempt to start up Arch for me. However, this was flummoxed by the fact that Arch addresses all my hard drive partitions as /dev/sdax and RIPLinux addresses them as /dev/hdax. Hence, without a common language, it was hard to get the one to start the other. Still, using this function, I have been able to get a crippled version of Arch running on the machine again. No modules had been loaded, and so it couldn’t do almost anything, but there it was (and is), Arch Linux Duke, at the CLI level. From there, I can see all the files, I can move freely in and out of my user account and the root account, but I can’t make the thing actually boot properly.
    If you have read this far, you are a trooper.  Summarizing what I know, the hardware is good, the file system is clean, the superblock is good, I can mount it cleanly from a live CD and I can chain load a crippled version of Arch. Here is the boot process blow-by-blow. When I try to do a normal boot, the Windows NT 4.0 loader passes control to the Lilo boot sector I have placed on hda1 (sda1 in Duke’s parlance). Lilo takes over, present a menu and when I select Duke, takes off. Arch Linux Duke starts to boot. It gets a good long way along, all the way along to:
    :: Loading udev events                [Pass]
    :: Mount root Read-only
    :: Checking file systems
    This is where it stops.
    The next thing I see is:
    /dev/sda6
    The superblock could not be read or does not describe a correct ext2 filesystem. If the device is valid and it really contains an ext2 filesystem (and not swap or ufs or something else) then the superblock is corrupt and you might try running e2fsck with an alternate superblock:
        E2fsck –b 8193 <device>
    I then get a sort of character based splash screen that says
    **********FILE SYSTEM CHECK FAILED ****************************
    *   Please repair manually and reboot. Note that the root file system
    *   is currently mounted read-only. To remount it read-write, type:
    *   mount –n –o remount,rw /.  When you exit the maintenance
    *   shell, the system will reboot automatically
    Give root password for maintenance
    At this point, I give the root password and enter the maintenance shell as root. I typed in “mount” and the first entry I got back is
    /dev/sda6 on / type ext3 (rw)
    This is exactly the root partition that the start up complains about. It is clearly there.  I can see it, I can walk around it… it is clearly there. Why won’t it boot? Despite the message, the superblock is fine – it passes every test e2fsck can throw at it.
    At this point, I did a “e2fsck /dev/hda6 (which is how RIPLinux would have passed it into Arch” and it says it is “clean”. I suspect that the Superblock message is because Arch sees root as sda6, while RIP passed it in as hda6...
    Deciding to see what Arch would be seeing as it tried to set things up in the boot sequence, I tried the following next:
    # mknod “/dev/root2” b 3 6   
    (“3” because RIPLinux refers to my hard drive as IDE, while Arch refers to it by major number “8”, which is SCSI. By the way, it IS an IDE drive – not sure why Arch insists on using the sdx nomenclature instead of hdx)
    Then I entered “mount /dev/root2 /mnt/hda6” and “ls /mnt/hda6”
    All was well. I can make the node, I can mount it, and I can see the contents. All is clearly well, but something is clearly wrong enough that Arch can’t boot.
    I am totally out of ideas. I have tried every trick I know and am out of tricks. I would welcome any insights as to what I could try to get this venerable Arch installation back on its legs.
    By the way, the key section of the /etc/lilo.conf file (lest anyone want to know) is:
    image = /boot/vmlinuz26
       root = /dev/sda6
       label = ArchLinux-Duke
       initrd = /boot/kernel26.img
       read-only
    I am stumped. Thanks in advance for any and all pointers you may be able to offer.
    Last edited by mac57 (2014-06-02 17:42:21)

    Folks, thanks for all your helpful comments, and I wanted to report back to you that I finally overcame the issue, and ArchLinux-Duke (2007) is once again executing flawlessly on my old Pentium Pro 200 system. I won't bother reporting here all the blind allies I went down as I tried to figure out what was wrong, but in the end, literally moments before I was about to give up and overwrite my Arch installation with a new Linux variant (antiX seemed well suited for such old and low power hardware), my attention was drawn to a note I had made in my files back in 2007 about a problem with similar symptoms. In that case, I had just deleted ZenWalk Linux from the hard drive (both Arch and Zen had been on the drive), and merged several partitions to make use of the newly free space. This had changed Arch's view of the drive lettering, and what had been its /dev/sddx root device was now /dev/sdcx. Arch failed to boot, throwing off the same errors I was seeing now. I wish I had recalled that note a month or so ago! It would have saved me a lot of work and a lot of frustration.
    At any rate, as a last step, and testing the idea that maybe the drive lettering had changed for some reason, I repeatedly manually booted Arch, specifying root=/dev/sda6, then /dev/sdb6, then /dev/sdd6, and finally, /dev/sdc6. Eureka! Arch now considered itself to be on /dev/sdc6 whereas previously it had been on /dev/sda6. This got me part way there, but the boot failed at the filesystem check stage and threw me into root. I disabled the file system check in /etc/rc.sysinit and got farther. Then I cleaned up /etc/fstab to agree with the new sdc naming, and I was back on the air fully.
    So, what had happened was that Arch had changed its view of the drive it was on from sda6 to sdc6. While I could not understand why this "sudden" change had occurred, at least I had a solution, and had Arch back up and running.
    Trolling through the rest of my notes, I found the answer. In 2012, the Tekram SCSI card in the machine failed, and I ultimately replaced it with an Adaptec card. The Tekram card did not have a BIOS segment on it. The Adaptec card did. My guess is that this caused the two internal SCSI devices I have built into the system (Iomega ZIP and Jaz respectively) to be enumerated first, claiming the "sda" and "sdb". device names. That left "sdc" for the root device, and that is where Arch went next.  This is my guess anyway.
    I should have caught this issue back in 2012, at the time, but from my notes, I can see that I tested the new card thoroughly using the  Windows NT 4.0 side of the machine, but never thought to bring up Arch as well. Hence, this problem lay dormant for two years, before I attempted to fire up Arch last month and blundered right into it.
    It has not all been bad. I have learned more about the ext2 and ext3 file systems and superblocks in the intervening time than I will ever need to use. I have learned how to manually boot Linux on a machine whose BIOS is so old that it cannot address the disk cylinder that the kernel is on and I have completely refreshed the many general Linux skills that used to just flow from my finger tips. It has been a frustrating experience, but ultimately a successful and useful one.
    Just wanted to let everyone know that this is now [SOLVED]. I would mark the post as such, but I don't see any obvious way to do that. Thanks again everyone.

  • Canon PIXMA MP640 WiFi on Arch Linux x86_64

    I have a Canon PIXMA MP640 series multifunctional device connected wirelessly to my home router. On Windows Vista the device works flawlessly, I can print or scan without any problems. Now I decided to configure at least the printer part on my Arch Linux x86_64, which I dual-boot with Vista on the same laptop.
    I went through the Wiki entry for CUPS and SAMBA. I did install all the necessary packages, that is:
    1) cups (ver. 1.4.6), ghostscript (ver. 9.01), gsfonts (ver. 1.0.7pre44) - for CUPS
    2) cnijfilter-mp640 (ver. 3.20) and its dependencies: cnijfilter-common (ver. 3.00), lib32-libcups, lib32-popt - drivers for this particular model
    3) samba (ver. 3.5.6) and gamin (ver. 0.1.10) – for SAMBA
    Then I added cups and samba to DAEMONS section of the /etc/rc.conf file
    DAEMONS=(@syslog-ng !network @netfs @crond hal alsa wicd bluetooth laptop-mode !openntpd @cups @samba)
    copied Samba configuration file
    cp /etc/samba/smb.conf.default /etc/samba/smb.conf
    in which I changed only one entry – name of my workgroup, and then I restarted my system.
    In System Settings as root I went to Sharing→Samba and checked if everything seems fine – see print screen below.
    http://img854.imageshack.us/img854/300/samba1.png
    Then in Printer Configuration I chosed New network printer and I tried to fill all the boxes with information I have about my printer – see below. I also pointed to the specific .ppd file - /usr/share/cups/model/canonmp640.ppd.
    http://img5.imageshack.us/img5/6650/samba2.png
    The printer name and it's localization I got from my router – see below.
    http://img840.imageshack.us/img840/3982/samba3.png
    As you all see on print screen No 2 I'm getting “Bad URI – need printer name” error from CUPS. I “googled” about it, but still haven't been able to solve this issue. What am I doing wrong?
    Last edited by Zibi1981 (2011-03-07 18:13:31)

    No hints??? I believe it's related to Samba. I don't know how to configure it properly, so it can find my WiFi printer.

  • HOWTO: Repairing a headless Arch Linux system that fails to boot

    The scenario...
    I have a "headless" (no monitor or input peripherals) Arch Linux computer that is connected to a local network via a wireless adapter, and accessed from other computers via SSH.
    Earlier today I accidentally broke its kernel so it did not boot anymore.
    Idea: Temporarily connect a monitor to the computer, boot from a live CD (like the Arch Linux install CD), then chroot into the system and fix it.
    Problem: I didn't have a compatible monitor at hand.
    Idea: Log in to the live CD session from another computer via SSH.
    Problem: The live CD can't auto-configure the headless computer's wireless connection, and setting it up manually while working "blind" would be a major hassle. A direct LAN connection to the router wasn't available either.
    Idea: Connect directly with a laptop via an Ethernet cable, and then use SSH from the laptop => This solution worked for me!
    If you find yourself in a similar situation, you can follow this tutorial which describes the solution that worked for me in detail...
    You need:
    a copy of the Arch Linux install CD (I used the 2013-05-01 version)
    an Ethernet cable
    a keyboard (might be dispensable, with additional preparation)
    a functional Arch Linux laptop (or other computer within physical range)
    Step 1) Prepare the live CD...
    I used the plain Arch Linux install iso, burnt to CD.
    By creating a carefully customized version of the live CD using Archiso, you might be able to eliminate the need for steps 2 and 4 - however that's not covered in this tutorial.
    Step 2) Prepare the laptop...
    The laptop needs to be configured in such a way, that the live CD's attempt to automatically establish an Ethernet connection with it will succeed:
    a) IP address
    In my case, the Laptop's wireless adapter had an IP address in the range 192.168.1.*, connecting it to the local network and Internet via the central router 192.168.1.1.
    The Ethernet connection between the laptop and the headless computer becomes a separate mini-network, for which I decided to use IP addresses in the range 192.168.0.* (note the different third number). Specifically, I set the IP address of my laptop's Ethernet card to 192.168.0.1. You can do this by running the following as root (replace "eth0" with the name of your Ethernet interface):
    ip link set eth0 up
    ip addr add 192.168.0.1/24 dev eth0
    b) IP forwarding (optional)
    While we're at it, we might as well enable IP forwarding, so that the live CD session on the headless computer will be able to directly use the laptop's outgoing Internet connection (which will make it much more convenient to install/upgrade packages during the repair session). To enable this, run the following as root (replace "eth0" and "wlan0" with the names of your laptop's Ethernet and wireless interfaces, respectively):
    iptables --table nat --append POSTROUTING --out-interface wlan0 -j MASQUERADE
    iptables --append FORWARD --in-interface eth0 -j ACCEPT
    sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
    c) DHCP
    The live CD will assume there's a router on the other side of the Ethernet link, and ask for an IP address via DHCP. So all we need to do, is run a dhcp server on the Laptop that will answer this request. It's surprisingly easy: Just install the package dnsmasq, and put the following in the file /etc/dnsmasq.conf (again replacing "eth0" as appropriate):
    interface=eth0
    dhcp-range=192.168.0.2,192.168.0.2
    By setting the start & end values of dhcp-range to the same IP address, we enforce that this specific IP address will be used by the live CD on the headless computer.
    Then start the daemon by running the following as root:
    systemctl start dnsmasq.service
    Step 3) Connect everything and boot up the live CD...
    Connect the laptop and the headless computer via the Ethernet cable.
    Connect the external keyboard to the headless computer.
    Then put the Arch Linux install CD into the headless computer's drive, and boot. Wait a minute or so to give the CD time to load its boot menu (you should hear the CD drive spin up and settle down again). Then hit ENTER on the connected keyboard, to activate the default menu choice (which will boot straight to a live Arch Linux session with root privileges).
    You can check whether it booted up and successfully initialized the Ethernet connection, by ping'ing the IP address that was specified in step 2c) from the laptop:
    ping -c3 192.168.0.2
    Step 4) Start the SSH server...
    Unfortunately, the Arch Linux install CD doesn't automatically start its SSH server, and also it uses a randomized root password. To make SSH connections possible, you will have to use the connected keyboard to type in some stuff "blindly" (but it's simple enough):
    type "passwd" (without the quotes)
    type in a new password of your choice
    press ENTER
    type in the same password again
    press ENTER
    type "systemctl start sshd" (without the quotes)
    press ENTER
    Step 5) Connect from the laptop via SSH...
    Now you can open an SSH connection, by executing the following on the laptop (when it asks for the password, enter the one you chose in step 4):
    ssh [email protected]
    Step 6) Profit!
    Within this SSH shell on the laptop, you can now do whatever you would usually do to fix an Arch Linux system from a live CD.
    You'll probably want to chroot into your Arch root partition, which is very easy thanks to the arch-chroot tool that is included on the live CD (replace "/dev/sda3" with the name of the headless computer's root partition):
    mount /dev/sda3 /mnt
    arch-chroot /mnt
    If you set up IP forwarding as described in step 2b), then Internet access should magically work in this shell without any further configuration, so you can freely use pacman etc. inside the chroot.
    Enjoy!
    Last edited by sas (2013-07-26 22:17:03)

    It is definitely able to recognize the USB and DVDs as separate drives; it gives the option of booting from USB, and it gives the memory capacity of the USB drive I used as a live USB, and the memory used for the live CD.  But when it comes time to actually boot, something is going wrong.
    I would suspect it is a problem with the BIOS, if not for the fact that I had a similar issue on my previous system, which used a completely different motherboard.  If it is the same issue, it would either have to be a problem with the DVD drive (although I don't know why it would be against loading some live CDs but not others) or perhaps the way I created the live CDs.  Although, again, I don't understand why the Linux Mint 32-bit DVD would work fine, while both 64-bit DVDs would not.
    I will try using a different DVD drive to boot the DVDs, and if that does not work, I'll try creating a new Arch live CD to see if I can resolve the issue.  But if anyone has any ideas, it would still be greatly appreciated.

  • Installing Arch Linux on USB key: error while booting

    Hello,
    first of all, I must say I've followed the steps from this article on arch wiki to install archlinux on my USB key: https://wiki.archlinux.org/index.php/In … _a_USB_key
    So what I did is to use one of my 2 usb keys to INSTALL linux, and the second one to RUN linux. I used dd to write on the 1st usb, eveything worked fine when booting, then I do install arch on the my second usb following the stept from the link above, everything works until I get this error while booting (at the middle):
    Waiting 10 seconds for device /dev/sdc/
    Root device '/dev/sdc' doesn't exist. Attempting to create it.
    ERROR: Unable to determine major/minor number of root device '/dev/disk/by-uuid/lotsofnumbers'
    You are being dropped to a recovery shell
    Type 'exit' to try and continue booting
    /bin/sh: Can't contact tty; job control turned off
    [ramfs /]#
    To summarize I'll show you my conf files that could help you to resolve my problem:
    /etc/fstab.conf
    /dev/sdc1 /boot ext2 defaults 0 1
    /dev/sdc2 / ext3 defaults 0 1
    /dev/sdc3 /home ext3 defaults 0 1
    So here I've sdc1 boot 32MB partition; sdc2 root 3GB partition; sdc3 home 978MB partition for a total of 4GB USB key~
    I didn't make a swap partition as in the tutorial they are writing it's unnecessary for some kind of reasons.
    /etc/mkinitcpio.conf
    HOOKS="base udev usb autodetect pata scsi sata filesystems"
    I've added to here, "usb" to the hooks
    installed GRUB on my sdc, here is the menu.ist:
    # (0) Arch Linux
    title Arch Linux (USB)
    root (hd0,0)
    kernel /vmlinuz26 root=/dev/sdc ro vga=773
    initrd /kernel26.img
    So, I boot GRUB without problems, start Arch Linux, but then I got this error above.
    I've searched alot on some forums and read many stuffs, but sitll can't fix it and it seems complicated.
    I've tried to boot with UUID, also, but didn't make difference. I tried to remove some parameter from the hooks, but unfortunately this wasn't working still. I've read somewhere to use chroot, but I didn't catch on how to do that and what was the use of chroot, I'm still noob user of arch linux and currently learning. Maybe it's the problem, as some forum were talking about creating a new image, but I still don't know how to make it. By the way, I'm not sure this could have fixed my current problem. I've also read somewhere it could be due to my lack of space, but I wrote you how I did partition my USB key, let me know if you have any suggestion please.

    1. What I did is re-installing entirely from my installation disk or USB to test out different setting in  my config files, because I don't know how to edit my .conf as I can't really finish to boot to the end and get in terminal mode? If there is a quicker way to edit files from any terminal to go into my current USB sdc to modify directly my file from there, I'd enjoy probably. So rebuilding the initpio, no, I just re-installed to test out different configs.
    2. Yes, same error.
    3. Tested out by-id/by-path and uuid = no difference
    4. Didn't know about larch, it seems to be a nice tool, I'll check it out

  • System encryption using LUKS and GPG encrypted keys for arch linux

    Update: As of 2012-03-28, arch changed from gnupg 1.4 to 2.x which uses pinentry for the password dialog. The "etwo" hook described here doesn't work with gnupg 2. Either use the openssl hook below or use a statically compiled version of gnupg 1.4.
    Update: As of 2012-12-19, the mkinitcpio is not called during boot, unless the "install" file for the hook contains "add_runscript". This resulted in an unbootable system for me. Also, the method name was changed from install () to build ().
    Update: 2013-01-13: Updated the hook files using the corrections by Deth.
    Note: This guide is a bit dated now, in particular the arch installation might be different now. But essentially, the approach stays the same. Please also take a look at the posts further down, specifically the alternative hooks that use openssl.
    I always wanted to set up a fully encrypted arch linux server that uses gpg encrypted keyfiles on an external usb stick and luks for root filesystem encryption. I already did it once in gentoo using this guide. For arch, I had to play alot with initcpio hooks and after one day of experimentation, I finally got it working. I wrote a little guide for myself which I'm going to share here for anyone that might be interested. There might be better or easier ways, like I said this is just how I did it. I hope it might help someone else. Constructive feedback is always welcome
    Intro
    Using arch linux mkinitcpio's encrypt hook, one can easily use encrypted root partitions with LUKS. It's also possible to use key files stored on an external drive, like an usb stick. However, if someone steals your usb stick, he can just copy the key and potentially access the system. I wanted to have a little extra security by additionally encrypting the key file with gpg using a symmetric cipher and a passphrase.
    Since the encrypt hook doesn't support this scenario, I created a modifed hook called “etwo” (silly name I know, it was the first thing that came to my mind). It will simply look if the key file has the extension .gpg and, if yes, use gpg to decrypt it, then pipe the result into cryptsetup.
    Conventions
    In this short guide, I use the following disk/partition names:
    /dev/sda: is the hard disk that will contain an encrypted swap (/dev/sda1), /var (/dev/sda2) and root (/dev/sda3) partition.
    /dev/sdb is the usb stick that will contain the gpg encrypted luks keys, the kernel and grub. It will have one partition /dev/sdb1 formatted with ext2.
    /dev/mapper/root, /dev/mapper/swap and /dev/mapper/var will be the encrypted devices.
    Credits
    Thanks to the authors of SECURITY_System_Encryption_DM-Crypt_with_LUKS (gentoo wiki), System Encryption with LUKS (arch wiki), mkinitcpio (arch wiki) and Early Userspace in Arch Linux (/dev/brain0 blog)!
    Guide
    1. Boot the arch live cd
    I had to use a newer testing version, because the 2010.05 cd came with a broken gpg. You can download one here: http://releng.archlinux.org/isos/. I chose the “core“ version. Go ahead and boot the live cd, but don't start the setup yet.
    2. Set keymap
    Use km to set your keymap. This is important for non-qwerty keyboards to avoid suprises with passphrases...
    3. Wipe your discs
    ATTENTION: this will DELETE everything on /dev/sda and /dev/sdb forever! Do not blame me for any lost data!
    Before encrypting the hard disc, it has to be completely wiped and overwritten with random data. I used shred for this. Others use badblocks or dd with /dev/urandom. Either way, this will take a long time, depending on the size of your disc. I also wiped my usb stick just to be sure.
    shred -v /dev/sda
    shred -v /dev/sdb
    4. Partitioning
    Fire up fdisk and create the following partitions:
    /dev/sda1, type linux swap.
    /dev/sda2: type linux
    /dev/sda3: type linux
    /dev/sdb1, type linux
    Of course you can choose a different layout, this is just how I did it. Keep in mind that only the root filesystem will be decrypted by the initcpio. The rest will be decypted during normal init boot using /etc/crypttab, the keys being somewhere on the root filesystem.
    5. Format  and mount the usb stick
    Create an ext2 filesystem on /dev/sdb1:
    mkfs.ext2 /dev/sdb1
    mkdir /root/usb
    mount /dev/sdb1 /root/usb
    cd /root/usb # this will be our working directory for now.
    Do not mount anything to /mnt, because the arch installer will use that directory later to mount the encrypted root filesystem.
    6. Configure the network (if not already done automatically)
    ifconfig eth0 192.168.0.2 netmask 255.255.255.0
    route add default gw 192.168.0.1
    echo "nameserver 192.168.0.1" >> /etc/resolv.conf
    (this is just an example, your mileage may vary)
    7. Install gnupg
    pacman -Sy
    pacman -S gnupg
    Verify that gnupg works by launching gpg.
    8. Create the keys
    Just to be sure, make sure swap is off:
    cat /proc/swaps
    should return no entries.
    Create gpg encrypted keys (remember, we're still in our working dir /root/usb):
    dd if=/dev/urandom bs=512 count=4 | gpg -v --cipher-algo aes256 --digest-algo sha512 -c -a > root.gpg
    dd if=/dev/urandom bs=512 count=4 | gpg -v --cipher-algo aes256 --digest-algo sha512 -c -a > var.gpg
    Choose a strong password!!
    Don't do this in two steps, e.g don't do dd to a file and then gpg on that file. The key should never be stored in plain text on an unencrypted device, except if that device is wiped on system restart (ramfs)!
    Note that the default cipher for gpg is cast5, I just chose to use a different one.
    9. Create the encrypted devices with cryptsetup
    Create encrypted swap:
    cryptsetup -c aes-cbc-essiv:sha256 -s 256 -h whirlpool -d /dev/urandom create swap /dev/sda1
    You should see /dev/mapper/swap now. Don't format nor turn it on for now. This will be done by the arch installer.
    Important: From the Cryptsetup 1.1.2 Release notes:
    Cryptsetup can accept passphrase on stdin (standard input). Handling of new line (\n) character is defined by input specification:
        if keyfile is specified as "-" (using --key-file=- or by positional argument in luksFormat and luksAddKey, like cat file | cryptsetup --key-file=- <action> ), input is processed
          as normal binary file and no new line is interpreted.
        if there is no key file specification (with default input from stdin pipe like echo passphrase | cryptsetup <action> ) input is processed as input from terminal, reading will
          stop after new line is detected.
    If I understand this correctly, since the randomly generated key can contain a newline early on, piping the key into cryptsetup without specifying --key-file=- could result in a big part of the key to be ignored by cryptsetup. Example: if the random key was "foo\nandsomemorebaratheendofthekey", piping it directly into cryptsetup without --key-file=- would result in cryptsetup using only "foo" as key which would have big security implications. We should therefor ALWAYS pipe the key into cryptsetup using --key-file=- which ignores newlines.
    gpg -q -d root.gpg 2>/dev/null | cryptsetup -v -–key-file=- -c aes-cbc-essiv:sha256 -s 256 -h whirlpool luksFormat /dev/sda3
    gpg -q -d var.gpg 2>/dev/null | cryptsetup -v –-key-file=- -c aes-cbc-essiv:sha256 -s 256 -h whirlpool -v luksFormat /dev/sda2
    Check for any errors.
    10. Open the luks devices
    gpg -d root.gpg 2>/dev/null | cryptsetup -v –-key-file=- luksOpen /dev/sda3 root
    gpg -d var.gpg 2>/dev/null | cryptsetup -v –-key-file=- luksOpen /dev/sda2 var
    If you see /dev/mapper/root and /dev/mapper/var now, everything is ok.
    11. Start the installer /arch/setup
    Follow steps 1 to 3.
    At step 4 (Prepare hard drive(s), select “3 – Manually Configure block devices, filesystems and mountpoints. Choose /dev/sdb1 (the usb stick) as /boot, /dev/mapper/swap for swap, /dev/mapper/root for / and /dev/mapper/var for /var.
    Format all drives (choose “yes” when asked “do you want to have this filesystem (re)created”) EXCEPT for /dev/sdb1, choose “no”. Choose the correct filesystem for /dev/sdb1, ext2 in my case. Use swap for /dev/mapper/swap. For the rest, I chose ext4.
    Select DONE to start formatting.
    At step 5 (Select packages), select grub as boot loader. Select the base group. Add mkinitcpio.
    Start step 6 (Install packages).
    Go to step 7 (Configure System).
    By sure to set the correct KEYMAP, LOCALE and TIMEZONE in /etc/rc.conf.
    Edit /etc/fstab:
    /dev/mapper/root / ext4 defaults 0 1
    /dev/mapper/swap swap swap defaults 0 0
    /dev/mapper/var /var ext4 defaults 0 1
    # /dev/sdb1 /boot ext2 defaults 0 1
    Configure the rest normally. When you're done, setup will launch mkinitcpio. We'll manually launch this again later.
    Go to step 8 (install boot loader).
    Be sure to change the kernel line in menu.lst:
    kernel /vmlinuz26 root=/dev/mapper/root cryptdevice=/dev/sda3:root cryptkey=/dev/sdb1:ext2:/root.gpg
    Don't forget the :root suffix in cryptdevice!
    Also, my root line was set to (hd1,0). Had to change that to
    root (hd0,0)
    Install grub to /dev/sdb (the usb stick).
    Now, we can exit the installer.
    12. Install mkinitcpio with the etwo hook.
    Create /mnt/lib/initcpio/hooks/etwo:
    #!/usr/bin/ash
    run_hook() {
    /sbin/modprobe -a -q dm-crypt >/dev/null 2>&1
    if [ -e "/sys/class/misc/device-mapper" ]; then
    if [ ! -e "/dev/mapper/control" ]; then
    /bin/mknod "/dev/mapper/control" c $(cat /sys/class/misc/device-mapper/dev | sed 's|:| |')
    fi
    [ "${quiet}" = "y" ] && CSQUIET=">/dev/null"
    # Get keyfile if specified
    ckeyfile="/crypto_keyfile"
    usegpg="n"
    if [ "x${cryptkey}" != "x" ]; then
    ckdev="$(echo "${cryptkey}" | cut -d: -f1)"
    ckarg1="$(echo "${cryptkey}" | cut -d: -f2)"
    ckarg2="$(echo "${cryptkey}" | cut -d: -f3)"
    if poll_device "${ckdev}" ${rootdelay}; then
    case ${ckarg1} in
    *[!0-9]*)
    # Use a file on the device
    # ckarg1 is not numeric: ckarg1=filesystem, ckarg2=path
    if [ "${ckarg2#*.}" = "gpg" ]; then
    ckeyfile="${ckeyfile}.gpg"
    usegpg="y"
    fi
    mkdir /ckey
    mount -r -t ${ckarg1} ${ckdev} /ckey
    dd if=/ckey/${ckarg2} of=${ckeyfile} >/dev/null 2>&1
    umount /ckey
    # Read raw data from the block device
    # ckarg1 is numeric: ckarg1=offset, ckarg2=length
    dd if=${ckdev} of=${ckeyfile} bs=1 skip=${ckarg1} count=${ckarg2} >/dev/null 2>&1
    esac
    fi
    [ ! -f ${ckeyfile} ] && echo "Keyfile could not be opened. Reverting to passphrase."
    fi
    if [ -n "${cryptdevice}" ]; then
    DEPRECATED_CRYPT=0
    cryptdev="$(echo "${cryptdevice}" | cut -d: -f1)"
    cryptname="$(echo "${cryptdevice}" | cut -d: -f2)"
    else
    DEPRECATED_CRYPT=1
    cryptdev="${root}"
    cryptname="root"
    fi
    warn_deprecated() {
    echo "The syntax 'root=${root}' where '${root}' is an encrypted volume is deprecated"
    echo "Use 'cryptdevice=${root}:root root=/dev/mapper/root' instead."
    if poll_device "${cryptdev}" ${rootdelay}; then
    if /sbin/cryptsetup isLuks ${cryptdev} >/dev/null 2>&1; then
    [ ${DEPRECATED_CRYPT} -eq 1 ] && warn_deprecated
    dopassphrase=1
    # If keyfile exists, try to use that
    if [ -f ${ckeyfile} ]; then
    if [ "${usegpg}" = "y" ]; then
    # gpg tty fixup
    if [ -e /dev/tty ]; then mv /dev/tty /dev/tty.backup; fi
    cp -a /dev/console /dev/tty
    while [ ! -e /dev/mapper/${cryptname} ];
    do
    sleep 2
    /usr/bin/gpg -d "${ckeyfile}" 2>/dev/null | cryptsetup --key-file=- luksOpen ${cryptdev} ${cryptname} ${CSQUIET}
    dopassphrase=0
    done
    rm /dev/tty
    if [ -e /dev/tty.backup ]; then mv /dev/tty.backup /dev/tty; fi
    else
    if eval /sbin/cryptsetup --key-file ${ckeyfile} luksOpen ${cryptdev} ${cryptname} ${CSQUIET}; then
    dopassphrase=0
    else
    echo "Invalid keyfile. Reverting to passphrase."
    fi
    fi
    fi
    # Ask for a passphrase
    if [ ${dopassphrase} -gt 0 ]; then
    echo ""
    echo "A password is required to access the ${cryptname} volume:"
    #loop until we get a real password
    while ! eval /sbin/cryptsetup luksOpen ${cryptdev} ${cryptname} ${CSQUIET}; do
    sleep 2;
    done
    fi
    if [ -e "/dev/mapper/${cryptname}" ]; then
    if [ ${DEPRECATED_CRYPT} -eq 1 ]; then
    export root="/dev/mapper/root"
    fi
    else
    err "Password succeeded, but ${cryptname} creation failed, aborting..."
    exit 1
    fi
    elif [ -n "${crypto}" ]; then
    [ ${DEPRECATED_CRYPT} -eq 1 ] && warn_deprecated
    msg "Non-LUKS encrypted device found..."
    if [ $# -ne 5 ]; then
    err "Verify parameter format: crypto=hash:cipher:keysize:offset:skip"
    err "Non-LUKS decryption not attempted..."
    return 1
    fi
    exe="/sbin/cryptsetup create ${cryptname} ${cryptdev}"
    tmp=$(echo "${crypto}" | cut -d: -f1)
    [ -n "${tmp}" ] && exe="${exe} --hash \"${tmp}\""
    tmp=$(echo "${crypto}" | cut -d: -f2)
    [ -n "${tmp}" ] && exe="${exe} --cipher \"${tmp}\""
    tmp=$(echo "${crypto}" | cut -d: -f3)
    [ -n "${tmp}" ] && exe="${exe} --key-size \"${tmp}\""
    tmp=$(echo "${crypto}" | cut -d: -f4)
    [ -n "${tmp}" ] && exe="${exe} --offset \"${tmp}\""
    tmp=$(echo "${crypto}" | cut -d: -f5)
    [ -n "${tmp}" ] && exe="${exe} --skip \"${tmp}\""
    if [ -f ${ckeyfile} ]; then
    exe="${exe} --key-file ${ckeyfile}"
    else
    exe="${exe} --verify-passphrase"
    echo ""
    echo "A password is required to access the ${cryptname} volume:"
    fi
    eval "${exe} ${CSQUIET}"
    if [ $? -ne 0 ]; then
    err "Non-LUKS device decryption failed. verify format: "
    err " crypto=hash:cipher:keysize:offset:skip"
    exit 1
    fi
    if [ -e "/dev/mapper/${cryptname}" ]; then
    if [ ${DEPRECATED_CRYPT} -eq 1 ]; then
    export root="/dev/mapper/root"
    fi
    else
    err "Password succeeded, but ${cryptname} creation failed, aborting..."
    exit 1
    fi
    else
    err "Failed to open encryption mapping: The device ${cryptdev} is not a LUKS volume and the crypto= paramater was not specified."
    fi
    fi
    rm -f ${ckeyfile}
    fi
    Create /mnt/lib/initcpio/install/etwo:
    #!/bin/bash
    build() {
    local mod
    add_module dm-crypt
    if [[ $CRYPTO_MODULES ]]; then
    for mod in $CRYPTO_MODULES; do
    add_module "$mod"
    done
    else
    add_all_modules '/crypto/'
    fi
    add_dir "/dev/mapper"
    add_binary "cryptsetup"
    add_binary "dmsetup"
    add_binary "/usr/bin/gpg"
    add_file "/usr/lib/udev/rules.d/10-dm.rules"
    add_file "/usr/lib/udev/rules.d/13-dm-disk.rules"
    add_file "/usr/lib/udev/rules.d/95-dm-notify.rules"
    add_file "/usr/lib/initcpio/udev/11-dm-initramfs.rules" "/usr/lib/udev/rules.d/11-dm-initramfs.rules"
    add_runscript
    help ()
    cat<<HELPEOF
    This hook allows for an encrypted root device with support for gpg encrypted key files.
    To use gpg, the key file must have the extension .gpg and you have to install gpg and add /usr/bin/gpg
    to your BINARIES var in /etc/mkinitcpio.conf.
    HELPEOF
    Edit /mnt/etc/mkinitcpio.conf (only relevant sections displayed):
    MODULES=”ext2 ext4” # not sure if this is really nessecary.
    BINARIES=”/usr/bin/gpg” # this could probably be done in install/etwo...
    HOOKS=”base udev usbinput keymap autodetect pata scsi sata usb etwo filesystems” # (usbinput is only needed if you have an usb keyboard)
    Copy the initcpio stuff over to the live cd:
    cp /mnt/lib/initcpio/hooks/etwo /lib/initcpio/hooks/
    cp /mnt/lib/initcpio/install/etwo /lib/initcpio/install/
    cp /mnt/etc/mkinitcpio.conf /etc/
    Verify your LOCALE, KEYMAP and TIMEZONE in /etc/rc.conf!
    Now reinstall the initcpio:
    mkinitcpio -g /mnt/boot/kernel26.img
    Make sure there were no errors and that all hooks were included.
    13. Decrypt the "var" key to the encrypted root
    mkdir /mnt/keys
    chmod 500 /mnt/keys
    gpg –output /mnt/keys/var -d /mnt/boot/var.gpg
    chmod 400 /mnt/keys/var
    14. Setup crypttab
    Edit /mnt/etc/crypttab:
    swap /dev/sda1 SWAP -c aes-cbc-essiv:sha256 -s 256 -h whirlpool
    var /dev/sda2 /keys/var
    15. Reboot
    We're done, you may reboot. Make sure you select the usb stick as the boot device in your bios and hope for the best. . If it didn't work, play with grub's settings or boot from the live cd, mount your encrypted devices and check all settings. You might also have less trouble by using uuid's instead of device names.  I chose device names to keep things as simple as possible, even though it's not the optimal way to do it.
    Make backups of your data and your usb stick and do not forget your password(s)! Or you can say goodbye to your data forever...
    Last edited by fabriceb (2013-01-15 22:36:23)

    I'm trying to run my install script that is based on https://bbs.archlinux.org/viewtopic.php?id=129885
    Decrypting the gpg key after grub works, but then "Devce root already exists." appears every second.
    any idea ?
    #!/bin/bash
    # This script is designed to be run in conjunction with a UEFI boot using Archboot intall media.
    # prereqs:
    # EFI "BIOS" set to boot *only* from EFI
    # successful EFI boot of Archboot USB
    # mount /dev/sdb1 /src
    set -o nounset
    #set -o errexit
    # Host specific configuration
    # this whole script needs to be customized, particularly disk partitions
    # and configuration, but this section contains global variables that
    # are used during the system configuration phase for convenience
    HOSTNAME=daniel
    USERNAME=user
    # Globals
    # We don't need to set these here but they are used repeatedly throughout
    # so it makes sense to reuse them and allow an easy, one-time change if we
    # need to alter values such as the install target mount point.
    INSTALL_TARGET="/install"
    HR="--------------------------------------------------------------------------------"
    PACMAN="pacman --noconfirm --config /tmp/pacman.conf"
    TARGET_PACMAN="pacman --noconfirm --config /tmp/pacman.conf -r ${INSTALL_TARGET}"
    CHROOT_PACMAN="pacman --noconfirm --cachedir /var/cache/pacman/pkg --config /tmp/pacman.conf -r ${INSTALL_TARGET}"
    FILE_URL="file:///packages/core-$(uname -m)/pkg"
    FTP_URL='ftp://mirrors.kernel.org/archlinux/$repo/os/$arch'
    HTTP_URL='http://mirrors.kernel.org/archlinux/$repo/os/$arch'
    # Functions
    # I've avoided using functions in this script as they aren't required and
    # I think it's more of a learning tool if you see the step-by-step
    # procedures even with minor duplciations along the way, but I feel that
    # these functions clarify the particular steps of setting values in config
    # files.
    SetValue () {
    # EXAMPLE: SetValue VARIABLENAME '\"Quoted Value\"' /file/path
    VALUENAME="$1" NEWVALUE="$2" FILEPATH="$3"
    sed -i "s+^#\?\(${VALUENAME}\)=.*$+\1=${NEWVALUE}+" "${FILEPATH}"
    CommentOutValue () {
    VALUENAME="$1" FILEPATH="$2"
    sed -i "s/^\(${VALUENAME}.*\)$/#\1/" "${FILEPATH}"
    UncommentValue () {
    VALUENAME="$1" FILEPATH="$2"
    sed -i "s/^#\(${VALUENAME}.*\)$/\1/" "${FILEPATH}"
    # Initialize
    # Warn the user about impending doom, set up the network on eth0, mount
    # the squashfs images (Archboot does this normally, we're just filling in
    # the gaps resulting from the fact that we're doing a simple scripted
    # install). We also create a temporary pacman.conf that looks for packages
    # locally first before sourcing them from the network. It would be better
    # to do either *all* local or *all* network but we can't for two reasons.
    # 1. The Archboot installation image might have an out of date kernel
    # (currently the case) which results in problems when chrooting
    # into the install mount point to modprobe efivars. So we use the
    # package snapshot on the Archboot media to ensure our kernel is
    # the same as the one we booted with.
    # 2. Ideally we'd source all local then, but some critical items,
    # notably grub2-efi variants, aren't yet on the Archboot media.
    # Warn
    timer=9
    echo -e "\n\nMAC WARNING: This script is not designed for APPLE MAC installs and will potentially misconfigure boot to your existing OS X installation. STOP NOW IF YOU ARE ON A MAC.\n\n"
    echo -n "GENERAL WARNING: This procedure will completely format /dev/sda. Please cancel with ctrl-c to cancel within $timer seconds..."
    while [[ $timer -gt 0 ]]
    do
    sleep 1
    let timer-=1
    echo -en "$timer seconds..."
    done
    echo "STARTING"
    # Get Network
    echo -n "Waiting for network address.."
    #dhclient eth0
    dhcpcd -p eth0
    echo -n "Network address acquired."
    # Mount packages squashfs images
    umount "/packages/core-$(uname -m)"
    umount "/packages/core-any"
    rm -rf "/packages/core-$(uname -m)"
    rm -rf "/packages/core-any"
    mkdir -p "/packages/core-$(uname -m)"
    mkdir -p "/packages/core-any"
    modprobe -q loop
    modprobe -q squashfs
    mount -o ro,loop -t squashfs "/src/packages/archboot_packages_$(uname -m).squashfs" "/packages/core-$(uname -m)"
    mount -o ro,loop -t squashfs "/src/packages/archboot_packages_any.squashfs" "/packages/core-any"
    # Create temporary pacman.conf file
    cat << PACMANEOF > /tmp/pacman.conf
    [options]
    Architecture = auto
    CacheDir = ${INSTALL_TARGET}/var/cache/pacman/pkg
    CacheDir = /packages/core-$(uname -m)/pkg
    CacheDir = /packages/core-any/pkg
    [core]
    Server = ${FILE_URL}
    Server = ${FTP_URL}
    Server = ${HTTP_URL}
    [extra]
    Server = ${FILE_URL}
    Server = ${FTP_URL}
    Server = ${HTTP_URL}
    #Uncomment to enable pacman -Sy yaourt
    [archlinuxfr]
    Server = http://repo.archlinux.fr/\$arch
    PACMANEOF
    # Prepare pacman
    [[ ! -d "${INSTALL_TARGET}/var/cache/pacman/pkg" ]] && mkdir -m 755 -p "${INSTALL_TARGET}/var/cache/pacman/pkg"
    [[ ! -d "${INSTALL_TARGET}/var/lib/pacman" ]] && mkdir -m 755 -p "${INSTALL_TARGET}/var/lib/pacman"
    ${PACMAN} -Sy
    ${TARGET_PACMAN} -Sy
    # Install prereqs from network (not on archboot media)
    echo -e "\nInstalling prereqs...\n$HR"
    #sed -i "s/^#S/S/" /etc/pacman.d/mirrorlist # Uncomment all Server lines
    UncommentValue S /etc/pacman.d/mirrorlist # Uncomment all Server lines
    ${PACMAN} --noconfirm -Sy gptfdisk btrfs-progs-unstable libusb-compat gnupg
    # Configure Host
    # Here we create three partitions:
    # 1. efi and /boot (one partition does double duty)
    # 2. swap
    # 3. our encrypted root
    # Note that all of these are on a GUID partition table scheme. This proves
    # to be quite clean and simple since we're not doing anything with MBR
    # boot partitions and the like.
    echo -e "format\n"
    # shred -v /dev/sda
    # disk prep
    sgdisk -Z /dev/sda # zap all on disk
    #sgdisk -Z /dev/mmcb1k0 # zap all on sdcard
    sgdisk -a 2048 -o /dev/sda # new gpt disk 2048 alignment
    #sgdisk -a 2048 -o /dev/mmcb1k0
    # create partitions
    sgdisk -n 1:0:+200M /dev/sda # partition 1 (UEFI BOOT), default start block, 200MB
    sgdisk -n 2:0:+4G /dev/sda # partition 2 (SWAP), default start block, 200MB
    sgdisk -n 3:0:0 /dev/sda # partition 3, (LUKS), default start, remaining space
    #sgdisk -n 1:0:1800M /dev/mmcb1k0 # root.gpg
    # set partition types
    sgdisk -t 1:ef00 /dev/sda
    sgdisk -t 2:8200 /dev/sda
    sgdisk -t 3:8300 /dev/sda
    #sgdisk -t 1:0700 /dev/mmcb1k0
    # label partitions
    sgdisk -c 1:"UEFI Boot" /dev/sda
    sgdisk -c 2:"Swap" /dev/sda
    sgdisk -c 3:"LUKS" /dev/sda
    #sgdisk -c 1:"Key" /dev/mmcb1k0
    echo -e "create gpg file\n"
    # create gpg file
    dd if=/dev/urandom bs=512 count=4 | gpg -v --cipher-algo aes256 --digest-algo sha512 -c -a > /root/root.gpg
    echo -e "format LUKS on root\n"
    # format LUKS on root
    gpg -q -d /root/root.gpg 2>/dev/null | cryptsetup -v --key-file=- -c aes-xts-plain -s 512 --hash sha512 luksFormat /dev/sda3
    echo -e "open LUKS on root\n"
    gpg -d /root/root.gpg 2>/dev/null | cryptsetup -v --key-file=- luksOpen /dev/sda3 root
    # NOTE: make sure to add dm_crypt and aes_i586 to MODULES in rc.conf
    # NOTE2: actually this isn't required since we're mounting an encrypted root and grub2/initramfs handles this before we even get to rc.conf
    # make filesystems
    # following swap related commands not used now that we're encrypting our swap partition
    #mkswap /dev/sda2
    #swapon /dev/sda2
    #mkfs.ext4 /dev/sda3 # this is where we'd create an unencrypted root partition, but we're using luks instead
    echo -e "\nCreating Filesystems...\n$HR"
    # make filesystems
    mkfs.ext4 /dev/mapper/root
    mkfs.vfat -F32 /dev/sda1
    #mkfs.vfat -F32 /dev/mmcb1k0p1
    echo -e "mount targets\n"
    # mount target
    #mount /dev/sda3 ${INSTALL_TARGET} # this is where we'd mount the unencrypted root partition
    mount /dev/mapper/root ${INSTALL_TARGET}
    # mount target
    mkdir ${INSTALL_TARGET}
    # mkdir ${INSTALL_TARGET}/key
    # mount -t vfat /dev/mmcb1k0p1 ${INSTALL_TARGET}/key
    mkdir ${INSTALL_TARGET}/boot
    mount -t vfat /dev/sda1 ${INSTALL_TARGET}/boot
    # Install base, necessary utilities
    mkdir -p ${INSTALL_TARGET}/var/lib/pacman
    ${TARGET_PACMAN} -Sy
    ${TARGET_PACMAN} -Su base
    # curl could be installed later but we want it ready for rankmirrors
    ${TARGET_PACMAN} -S curl
    ${TARGET_PACMAN} -S libusb-compat gnupg
    ${TARGET_PACMAN} -R grub
    rm -rf ${INSTALL_TARGET}/boot/grub
    ${TARGET_PACMAN} -S grub2-efi-x86_64
    # Configure new system
    SetValue HOSTNAME ${HOSTNAME} ${INSTALL_TARGET}/etc/rc.conf
    sed -i "s/^\(127\.0\.0\.1.*\)$/\1 ${HOSTNAME}/" ${INSTALL_TARGET}/etc/hosts
    SetValue CONSOLEFONT Lat2-Terminus16 ${INSTALL_TARGET}/etc/rc.conf
    #following replaced due to netcfg
    #SetValue interface eth0 ${INSTALL_TARGET}/etc/rc.conf
    # write fstab
    # You can use UUID's or whatever you want here, of course. This is just
    # the simplest approach and as long as your drives aren't changing values
    # randomly it should work fine.
    cat > ${INSTALL_TARGET}/etc/fstab <<FSTAB_EOF
    # /etc/fstab: static file system information
    # <file system> <dir> <type> <options> <dump> <pass>
    tmpfs /tmp tmpfs nodev,nosuid 0 0
    /dev/sda1 /boot vfat defaults 0 0
    /dev/mapper/cryptswap none swap defaults 0 0
    /dev/mapper/root / ext4 defaults,noatime 0 1
    FSTAB_EOF
    # write etwo
    mkdir -p /lib/initcpio/hooks/
    mkdir -p /lib/initcpio/install/
    cp /src/etwo_hooks /lib/initcpio/hooks/etwo
    cp /src/etwo_install /lib/initcpio/install/etwo
    mkdir -p ${INSTALL_TARGET}/lib/initcpio/hooks/
    mkdir -p ${INSTALL_TARGET}/lib/initcpio/install/
    cp /src/etwo_hooks ${INSTALL_TARGET}/lib/initcpio/hooks/etwo
    cp /src/etwo_install ${INSTALL_TARGET}/lib/initcpio/install/etwo
    # write crypttab
    # encrypted swap (random passphrase on boot)
    echo cryptswap /dev/sda2 SWAP "-c aes-xts-plain -h whirlpool -s 512" >> ${INSTALL_TARGET}/etc/crypttab
    # copy configs we want to carry over to target from install environment
    mv ${INSTALL_TARGET}/etc/resolv.conf ${INSTALL_TARGET}/etc/resolv.conf.orig
    cp /etc/resolv.conf ${INSTALL_TARGET}/etc/resolv.conf
    mkdir -p ${INSTALL_TARGET}/tmp
    cp /tmp/pacman.conf ${INSTALL_TARGET}/tmp/pacman.conf
    # mount proc, sys, dev in install root
    mount -t proc proc ${INSTALL_TARGET}/proc
    mount -t sysfs sys ${INSTALL_TARGET}/sys
    mount -o bind /dev ${INSTALL_TARGET}/dev
    echo -e "umount boot\n"
    # we have to remount /boot from inside the chroot
    umount ${INSTALL_TARGET}/boot
    # Create install_efi script (to be run *after* chroot /install)
    touch ${INSTALL_TARGET}/install_efi
    chmod a+x ${INSTALL_TARGET}/install_efi
    cat > ${INSTALL_TARGET}/install_efi <<EFI_EOF
    # functions (these could be a library, but why overcomplicate things
    SetValue () { VALUENAME="\$1" NEWVALUE="\$2" FILEPATH="\$3"; sed -i "s+^#\?\(\${VALUENAME}\)=.*\$+\1=\${NEWVALUE}+" "\${FILEPATH}"; }
    CommentOutValue () { VALUENAME="\$1" FILEPATH="\$2"; sed -i "s/^\(\${VALUENAME}.*\)\$/#\1/" "\${FILEPATH}"; }
    UncommentValue () { VALUENAME="\$1" FILEPATH="\$2"; sed -i "s/^#\(\${VALUENAME}.*\)\$/\1/" "\${FILEPATH}"; }
    echo -e "mount boot\n"
    # remount here or grub et al gets confused
    mount -t vfat /dev/sda1 /boot
    # mkinitcpio
    # NOTE: intel_agp drm and i915 for intel graphics
    SetValue MODULES '\\"dm_mod dm_crypt aes_x86_64 ext2 ext4 vfat intel_agp drm i915\\"' /etc/mkinitcpio.conf
    SetValue HOOKS '\\"base udev pata scsi sata usb usbinput keymap consolefont etwo encrypt filesystems\\"' /etc/mkinitcpio.conf
    SetValue BINARIES '\\"/usr/bin/gpg\\"' /etc/mkinitcpio.conf
    mkinitcpio -p linux
    # kernel modules for EFI install
    modprobe efivars
    modprobe dm-mod
    # locale-gen
    UncommentValue de_AT /etc/locale.gen
    locale-gen
    # install and configure grub2
    # did this above
    #${CHROOT_PACMAN} -Sy
    #${CHROOT_PACMAN} -R grub
    #rm -rf /boot/grub
    #${CHROOT_PACMAN} -S grub2-efi-x86_64
    # you can be surprisingly sloppy with the root value you give grub2 as a kernel option and
    # even omit the cryptdevice altogether, though it will wag a finger at you for using
    # a deprecated syntax, so we're using the correct form here
    # NOTE: take out i915.modeset=1 unless you are on intel graphics
    SetValue GRUB_CMDLINE_LINUX '\\"cryptdevice=/dev/sda3:root cryptkey=/dev/sda1:vfat:/root.gpg add_efi_memmap i915.i915_enable_rc6=1 i915.i915_enable_fbc=1 i915.lvds_downclock=1 pcie_aspm=force quiet\\"' /etc/default/grub
    # set output to graphical
    SetValue GRUB_TERMINAL_OUTPUT gfxterm /etc/default/grub
    SetValue GRUB_GFXMODE 960x600x32,auto /etc/default/grub
    SetValue GRUB_GFXPAYLOAD_LINUX keep /etc/default/grub # comment out this value if text only mode
    # install the actual grub2. Note that despite our --boot-directory option we will still need to move
    # the grub directory to /boot/grub during grub-mkconfig operations until grub2 gets patched (see below)
    grub_efi_x86_64-install --bootloader-id=grub --no-floppy --recheck
    # create our EFI boot entry
    # bug in the HP bios firmware (F.08)
    efibootmgr --create --gpt --disk /dev/sda --part 1 --write-signature --label "ARCH LINUX" --loader "\\\\grub\\\\grub.efi"
    # copy font for grub2
    cp /usr/share/grub/unicode.pf2 /boot/grub
    # generate config file
    grub-mkconfig -o /boot/grub/grub.cfg
    exit
    EFI_EOF
    # Install EFI using script inside chroot
    chroot ${INSTALL_TARGET} /install_efi
    rm ${INSTALL_TARGET}/install_efi
    # Post install steps
    # anything you want to do post install. run the script automatically or
    # manually
    touch ${INSTALL_TARGET}/post_install
    chmod a+x ${INSTALL_TARGET}/post_install
    cat > ${INSTALL_TARGET}/post_install <<POST_EOF
    set -o errexit
    set -o nounset
    # functions (these could be a library, but why overcomplicate things
    SetValue () { VALUENAME="\$1" NEWVALUE="\$2" FILEPATH="\$3"; sed -i "s+^#\?\(\${VALUENAME}\)=.*\$+\1=\${NEWVALUE}+" "\${FILEPATH}"; }
    CommentOutValue () { VALUENAME="\$1" FILEPATH="\$2"; sed -i "s/^\(\${VALUENAME}.*\)\$/#\1/" "\${FILEPATH}"; }
    UncommentValue () { VALUENAME="\$1" FILEPATH="\$2"; sed -i "s/^#\(\${VALUENAME}.*\)\$/\1/" "\${FILEPATH}"; }
    # root password
    echo -e "${HR}\\nNew root user password\\n${HR}"
    passwd
    # add user
    echo -e "${HR}\\nNew non-root user password (username:${USERNAME})\\n${HR}"
    groupadd sudo
    useradd -m -g users -G audio,lp,optical,storage,video,games,power,scanner,network,sudo,wheel -s /bin/bash ${USERNAME}
    passwd ${USERNAME}
    # mirror ranking
    echo -e "${HR}\\nRanking Mirrors (this will take a while)\\n${HR}"
    cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.orig
    mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.all
    sed -i "s/#S/S/" /etc/pacman.d/mirrorlist.all
    rankmirrors -n 5 /etc/pacman.d/mirrorlist.all > /etc/pacman.d/mirrorlist
    # temporary fix for locale.sh update conflict
    mv /etc/profile.d/locale.sh /etc/profile.d/locale.sh.preupdate || true
    # yaourt repo (add to target pacman, not tmp pacman.conf, for ongoing use)
    echo -e "\\n[archlinuxfr]\\nServer = http://repo.archlinux.fr/\\\$arch" >> /etc/pacman.conf
    echo -e "\\n[haskell]\\nServer = http://www.kiwilight.com/\\\$repo/\\\$arch" >> /etc/pacman.conf
    # additional groups and utilities
    pacman --noconfirm -Syu
    pacman --noconfirm -S base-devel
    pacman --noconfirm -S yaourt
    # sudo
    pacman --noconfirm -S sudo
    cp /etc/sudoers /tmp/sudoers.edit
    sed -i "s/#\s*\(%wheel\s*ALL=(ALL)\s*ALL.*$\)/\1/" /tmp/sudoers.edit
    sed -i "s/#\s*\(%sudo\s*ALL=(ALL)\s*ALL.*$\)/\1/" /tmp/sudoers.edit
    visudo -qcsf /tmp/sudoers.edit && cat /tmp/sudoers.edit > /etc/sudoers
    # power
    pacman --noconfirm -S acpi acpid acpitool cpufrequtils
    yaourt --noconfirm -S powertop2
    sed -i "/^DAEMONS/ s/)/ @acpid)/" /etc/rc.conf
    sed -i "/^MODULES/ s/)/ acpi-cpufreq cpufreq_ondemand cpufreq_powersave coretemp)/" /etc/rc.conf
    # following requires my acpi handler script
    echo "/etc/acpi/handler.sh boot" > /etc/rc.local
    # time
    pacman --noconfirm -S ntp
    sed -i "/^DAEMONS/ s/hwclock /!hwclock @ntpd /" /etc/rc.conf
    # wireless (wpa supplicant should already be installed)
    pacman --noconfirm -S iw wpa_supplicant rfkill
    pacman --noconfirm -S netcfg wpa_actiond ifplugd
    mv /etc/wpa_supplicant.conf /etc/wpa_supplicant.conf.orig
    echo -e "ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=network\nupdate_config=1" > /etc/wpa_supplicant.conf
    # make sure to copy /etc/network.d/examples/wireless-wpa-config to /etc/network.d/home and edit
    sed -i "/^DAEMONS/ s/)/ @net-auto-wireless @net-auto-wired)/" /etc/rc.conf
    sed -i "/^DAEMONS/ s/ network / /" /etc/rc.conf
    echo -e "\nWIRELESS_INTERFACE=wlan0" >> /etc/rc.conf
    echo -e "WIRED_INTERFACE=eth0" >> /etc/rc.conf
    echo "options iwlagn led_mode=2" > /etc/modprobe.d/iwlagn.conf
    # sound
    pacman --noconfirm -S alsa-utils alsa-plugins
    sed -i "/^DAEMONS/ s/)/ @alsa)/" /etc/rc.conf
    mv /etc/asound.conf /etc/asound.conf.orig || true
    #if alsamixer isn't working, try alsamixer -Dhw and speaker-test -Dhw -c 2
    # video
    pacman --noconfirm -S base-devel mesa mesa-demos
    # x
    #pacman --noconfirm -S xorg xorg-xinit xorg-utils xorg-server-utils xdotool xorg-xlsfonts
    #yaourt --noconfirm -S xf86-input-wacom-git # NOT NEEDED? input-wacom-git
    #TODO: cut down the install size
    #pacman --noconfirm -S xorg-server xorg-xinit xorg-utils xorg-server-utils
    # TODO: wacom
    # environment/wm/etc.
    #pacman --noconfirm -S xfce4 compiz ccsm
    #pacman --noconfirm -S xcompmgr
    #yaourt --noconfirm -S physlock unclutter
    #pacman --noconfirm -S rxvt-unicode urxvt-url-select hsetroot
    #pacman --noconfirm -S gtk2 #gtk3 # for taffybar?
    #pacman --noconfirm -S ghc
    # note: try installing alex and happy from cabal instead
    #pacman --noconfirm -S haskell-platform haskell-hscolour
    #yaourt --noconfirm -S xmonad-darcs xmonad-contrib-darcs xcompmgr
    #yaourt --noconfirm -S xmobar-git
    # TODO: edit xfce to use compiz
    # TODO: xmonad, but deal with video tearing
    # TODO: xmonad-darcs fails to install from AUR. haskell dependency hell.
    # switching to cabal
    # fonts
    pacman --noconfirm -S terminus-font
    yaourt --noconfirm -S webcore-fonts
    yaourt --noconfirm -S fontforge libspiro
    yaourt --noconfirm -S freetype2-git-infinality
    # TODO: sed infinality and change to OSX or OSX2 mode
    # and create the sym link from /etc/fonts/conf.avail to conf.d
    # misc apps
    #pacman --noconfirm -S htop openssh keychain bash-completion git vim
    #pacman --noconfirm -S chromium flashplugin
    #pacman --noconfirm -S scrot mypaint bc
    #yaourt --noconfirm -S task-git stellarium googlecl
    # TODO: argyll
    POST_EOF
    # Post install in chroot
    #echo "chroot and run /post_install"
    chroot /install /post_install
    rm /install/post_install
    # copy grub.efi file to the default HP EFI boot manager path
    mkdir -p ${INSTALL_TARGET}/boot/EFI/Microsoft/BOOT/
    mkdir -p ${INSTALL_TARGET}/boot/EFI/BOOT/
    cp ${INSTALL_TARGET}/boot/grub/grub.efi ${INSTALL_TARGET}/boot/EFI/Microsoft/BOOT/bootmgfw.efi
    cp ${INSTALL_TARGET}/boot/grub/grub.efi ${INSTALL_TARGET}/boot/EFI/BOOT/BOOTX64.EFI
    cp /root/root.gpg ${INSTALL_TARGET}/boot/
    # NOTES/TODO

  • [HOWTO] Installing Arch Linux stable release on Acer Aspire One 522

    [This is a work on progress and my first howto ever]
    These steps will teach you how to install ArchLinux x64 stable release (currently 2010.05) on Acer Aspire One 522 from an existing ArchLinux (your desktop computer)
    As you need a 2.6.37+ kernel to make networking work on the AO522, installing stable release as is won't work.
    This Howto borns with the intention to address this problem.
    You need to be familiarized with Linux internals to follow this howto.
    (Expect this howto to become useless with new stable releases of ArchLinux.)
    Remember to make a backup of your Windows 7 Starter system before installing ArchLinux.
    I did a full raw copy of the harddisk by using systemrescuecd, an external harddisk and dd utility:
    Just boot with systemrescuecd
    Mount your external harddisk on /mnt/floppy for example
    Clone harddisk with: dd if=/dev/sda |gzip -c > /mnt/floppy/ao522.img
    This process took me a lot of time since my external harddisk is USB-1 (almost an entire evening)
    Result image was about 22GB size
    This image will restore partition table, boot sector and all data if things go wrong.
    I followed some of the steps from this guide: https://wiki.archlinux.org/index.php/In … ting_Linux
    If you have some Gentoo Linux experience you will find those steps really familiar.
    You will need 2 USB pendrives or similar storage options.
    One is needed to boot into your netbook, and the other to store our custom archlinux build.
    Making an updated ArchLinux system
    1) Make a local dir on your existing linux system
    # mkdir ./newarch
    2) Install pacman database on it
    # pacman -Sy -r ./newarch
    3) Install base system
    # pacman -S base -r ./newarch
    4) Let's chroot inside
    # cp /etc/resolv.conf ./newarch/etc/
    # cp /etc/pacman.d/mirrorlist ./newarch/etc/pacman.d
    # mount -t proc proc ./newarch/proc
    # mount -t sysfs sys ./newarch/sys
    # mount -o bind /dev ./newarch/dev
    # chroot ./newarch /bin/bash
    5) Edit configuration files
    # nano -w /etc/rc.conf
    # nano -w /etc/hosts
    # nano -w /etc/mkinitcpio.conf
    Forget /etc/fstab for now since you don't know what partitions to use yet
    6) Generate kernel image
    # mkinitcpio -p kernel26
    7) Generate locales
    # nano -w /etc/locale.gen
    # locale-gen
    8) Make a tarball with our custom ArchLinux
    # exit
    # umount ./newarch/proc
    # umount ./newarch/dev
    # umount ./newarch/sys
    # tar -cvpf newarch.tar ./newarch
    9) Copy this tarball to an USB pendrive or external harddisk
    10) Boot your netbook with a Linux bootable USB stick (I used systemrescuecd, and remember to pick the x64 bit kernel at grub screen)
    You can use any linux distribution with usb bootable options. I suppose ArchLinux works too
    To install SystemRescueCD on an USB stick follow this tutorial -> SystemRescueCD on usb stick
    Insert the usb stick on your netbook, switch on, hit F2 to enter BIOS menu, and choose to boot from USB as first option. Save and Exit.
    You should be booting into SystemRescueCD without any problem.
    After initialization you will end in a root prompt.
    11) Let's partition the disk
    You will find 3 partitions if this is your first time:
    /dev/sda1 2048 29362175 14680064 27 Hidden NTFS WinRE
    /dev/sda2 * 29362176 29566975 102400 7 HPFS/NTFS/exFAT
    /dev/sda3 29566976 488397167 229312696 7 HPFS/NTFS/exFAT
    My recomendation is to leave sda1 and sda2 intact, as they have the recovery information to restore Windows 7 Starter
    You have plenty of space with sda3, about 230G.
    So run fdisk/cfdisk and delete /dev/sda3
    Now create a 100M partition for boot
    Now create a Extended partition with all the space left
    Now create a 1GB logical partition for swap
    Now create a 10-15 GB  logical partition for root system
    And finally a logical partition for our home partition with all space left
    Your partition table should look like this:
    /dev/sda1 2048 29362175 14680064 27 Hidden NTFS WinRE
    /dev/sda2 * 29362176 29566975 102400 7 HPFS/NTFS/exFAT
    /dev/sda3 29566976 29771775 102400 83 Linux
    /dev/sda4 29771776 488397167 229312696 5 Extended
    /dev/sda5 29773824 31821823 1024000 83 Linux
    /dev/sda6 31823872 63281151 15728640 83 Linux
    /dev/sda7 63283200 488397167 212556984 83 Linux
    12) Create filesystems
    I choosed ext2 for boot, and reiserfs for root and home partitions.
    # mke2fs /dev/sda3
    # mkreiserfs /dev/sda6
    # mkreiserfs /dev/sda7
    # mkswap /dev/sda5
    13) Mount partitions
    # mkdir arch
    # mount /dev/sda6 arch
    # mkdir arch/boot
    # mount /dev/sda3 arch/boot
    # mkdir arch/home
    # mount /dev/sda7 arch/home
    14) Copy our custom ArchLinux build on it
    # mount /dev/sdb1 /mnt/floppy (for example)
    # cd arch
    # tar -xvpf /mnt/flopy/newarch.tar
    15) Configure /etc/fstab
    Mine is as follows:
    devpts /dev/pts devpts defaults 0 0
    shm /dev/shm tmpfs nodev,nosuid 0 0
    /dev/sda3 /boot ext2 defaults 0 1
    /dev/sda6 / reiserfs defaults 0 1
    /dev/sda7 /home reiserfs defaults 0 1
    /dev/sda5 swap swap defaults 0 0
    16) Chroot in your new system
    # mount -t proc proc ./proc
    # mount -t sysfs sys ./sys
    # mount -o bind /dev ./dev
    # chroot ./ /bin/bash
    17) Install grub
    # grub-install
    Edit /boot/grub/menu.lst to suit your needs
    Mine looks like this:
    timeout 5
    default 0
    color light-blue/black light-cyan/blue
    title Arch Linux
    root (hd0,2)
    kernel /vmlinuz26 root=/dev/sda6 ro
    initrd /kernel26.img
    title Arch Linux Fallback
    root (hd0,2)
    kernel /vmlinuz26 root=/dev/sda6 ro
    initrd /kernel26-fallback.img
    title Windows 7 Recovery
    rootnoverify (hd0,0)
    makeactive
    chainloader +1
    As you see, you can restore Windows 7 Starter from Grub.
    18) Change root password
    # passwd
    19) Add a regular  user account
    # useradd -G video,audio,users -m username
    # passwd username
    20) You're done!
    # exit
    # cd ..
    # umount ./arch/proc
    # umount ./arch/dev
    # umount ./arch/sys
    # umount ./arch/boot
    # umount ./arch/
    # reboot
    Remove the usb stick from your netbook.
    If all went ok, you will be inside your new stable and updated ArchLinux system
    Next post is reserved for software configurations specific to the Acer Aspire One 522
    Last edited by tigrezno (2011-04-20 12:22:38)

    Using acpid to achieve the following:
    - Change screen brightness when operating in battery mode
    - Power off when the power button is pressed
    - Suspend when the lid is down
    - Reduce CPU frequency speed to maximize battery usage
    Remember that system suspend is only supported by ati free driver xf86-video-ati
    1) Install acpid daemon and cpufrequtils
    # pacman -S apcid cpufrequtils
    2) edit acpid handler script
    # nano -w /etc/acpi/handler.sh
    Change the following section:
    ac_adapter)
    case "$2" in
    AC)
    case "$4" in
    00000000)
    echo -n $minspeed >$setspeed
    #/etc/laptop-mode/laptop-mode start
    00000001)
    echo -n $maxspeed >$setspeed
    #/etc/laptop-mode/laptop-mode stop
    esac
    *) logger "ACPI action undefined: $2" ;;
    esac
    for:
    ac_adapter)
    case "$2" in
    ACAD)
    case "$4" in
    00000000)
    echo 3 > /sys/devices/virtual/backlight/acpi_video0/brightness
    cpufreq-set -c 0 -f 800Mhz
    cpufreq-set -c 1 -f 800Mhz
    00000001)
    echo 9 > /sys/devices/virtual/backlight/acpi_video0/brightness
    cpufreq-set -c 0 -f 1000Mhz
    cpufreq-set -c 1 -f 1000Mhz
    esac
    *) logger "ACPI action undefined: $2" ;;
    esac
    Make sure you changed AC) for ACAD)
    Now change this other section:
    button/power)
    #echo "PowerButton pressed!">/dev/tty5
    case "$2" in
    PWRF) logger "PowerButton pressed: $2" ;;
    *) logger "ACPI action undefined: $2" ;;
    esac
    with:
    button/power)
    #echo "PowerButton pressed!">/dev/tty5
    case "$2" in
    PWRF) poweroff ;;
    *) logger "ACPI action undefined: $2" ;;
    esac
    Change:
    button/lid)
    #echo "LID switched!">/dev/tty5
    logger "ACPI group/action undefined: $1 / $2"
    for:
    button/lid)
    pm-suspend && /etc/rc.d/network restart
    logger "ACPI group/action undefined: $1 / $2"
    Network restart is used because wlan0 will disconnect from AP after some time. You can try using iwconfig wlan0 essid <ap> key <key> instead of the network script, but haven't tested it myself.
    3) Start acpid and load modules
    # modprobe powernow-k8
    # /etc/rc.d/acpid start
    Add "acpid" to DAEMONS in /etc/rc.conf to start on boot
    Add "powernow-k8" to the modules sections on /etc/rc.conf to load at boot
    Stopping system freezes due to ethernet driver
    The only way people have found to avoid freezes is by blacklisting atheros kernel drivers.
    To do it at boot just edit /etc/rc.conf and change the MODULES line as this:
    MODULES=(!ath9k !atl1c)
    Reboot and you're done, but remember to not press the Wifi key, because it can freeze your system.
    Correctly starting wireless at boot
    I've found that standard scripts wont load properly my wireless lan. It gave an error telling you to use the WIRELESS_TIMEOUT variable and such.
    To solve this, edit /etc/rc.d/network script and change the wi_up function by adding a second iwconfig command like this:
    wi_up()
    eval iwcfg="\$wlan_${1}"
    [[ ! $iwcfg ]] && return 0
    /usr/sbin/iwconfig $iwcfg
    [[ $WIRELESS_TIMEOUT ]] || WIRELESS_TIMEOUT=2
    sleep $WIRELESS_TIMEOUT
    /usr/sbin/iwconfig $iwcfg
    bssid=$(iwgetid $1 -ra)
    It will do the trick and will start at boot correctly. This is not a solution but a fix.
    Adjust Touchpad to disable false taps
    What I did here is defining an area to be ignored. This area are 3 rectangles on top, left and right of the touchpad.
    This means you can write and press space without having the cursor click out of the window and such.
    # synclient AreaLeftEdge=150
    # synclient AreaRightEdge=1300
    # synclient AreaTopEdge=300
    Also, add it to your /etc/X11/xorg.conf.d/10-evdev.conf:
    Section "InputClass"
    Identifier "evdev touchpad catchall"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
    Driver "evdev"
    Option "AreaTopEdge" "300"
    Option "AreaLeftEdge" "150"
    Option "AreaRightEdge" "1300"
    EndSection
    You can play with those values. They just work for me.
    Last edited by tigrezno (2011-04-23 13:49:48)

Maybe you are looking for

  • Huge issue with battery and overheating in iOS 6.1.1 iPhone 4S and ipad new iOS 6.1 what I can do , I am very sorry for update from 5.1.1 it was the best

    Huge issue with battery and overheating in iOS 6.1.1 iPhone 4S and ipad new iOS 6.1 what I can do , I am very sorry for update from 5.1.1 it was the best My wife have iPhone 4 and ipad new is not updated it working good and my devices after update wo

  • Change logical component  for upgraded satellite

    Hello. After upgrading a satellite system from 4.6C to ECC6, I would like to to change the Logical component in SMSY accordingly. But cannot find an easy way to do that. I would like to keep the actual monitor, alert and reactions configuration in th

  • Problem Printing with iMac from XP Printer

    Just got my iMac yesterday and it runs well. Using the iFelix website someone gave me hear, I set up my iMac to print from an HP Officejet 7310 connected to my windows XP machine. I was able to connect to my workgroup, and computer, and find the prin

  • Frustrating Sound problem

    Something has happend to my sound on safari and i have no idea what. My sound works fine for all other application such as itunes, but safari can't seem to play any sounds with quicktime or flash websites. I also have the same problem on other intern

  • No Recording with Quicktime on MacMini

    I tried to record from a firewire device with QT but always get an error: "The task cound not be completed. OSStatus error -101). I tried different devices : DV-Cam, DV-Encoder (SDI2DV) and at least an DVI2USB-grabber - always the same error. The fir