Documentation for ARCH

Is there any system administration DOC/MANUAL for ARCH Linux other than WIKI, If so pls get me the link.

azleifel wrote:
Zer0 wrote:This may sound stupid but when I first started using Arch.. I used the Wiki all the time but somehow overlooked the wiki's homepage which has links to great "starter" documents..   Hey what can I say.. I always jump strait to the wiki search and overlook browsing by topic.
That makes two of us
Three...

Similar Messages

  • Documentation Project for Arch [UPDATE]

    I read this topic about the popularity about Arch and it kept me thinking for a couple of weeks.
    I'm really devoted to Arch and I'd like to start a professionally-aimed Documentation site for Arch Linux with an appropiate installation guide and other guides for installing X.Org, Servering, Desktop-stuff etc.
    My question is: how would you feel about it? Anyone who wants to collaborate? Tips? Suggestions?
    Upon your responses I will post my 'plan' with a concept lay-out and system based on your input and my thoughts within the next two weeks. I'm only able to do Dutch and English.
    :arrow: [UPDATE #2: Contents]
    Ok, I've taken notice of all your comments. Many thanks! However, I was wondering which categories "slash" manuals their should be. I was thinking about the following:
    1. Guides
    * [AInsG] Arch Installation Guide
    Covers the Arch Installation from retrieving an ISO to the bash-prompt.
    * [ADskG] Arch Desktop Guide
    Covers the installation and configuration of software desktop users mostly use like: Gnome, KDE, Cups, Codecs, Gimp. Stuff like that. Installation from Bash Prompt to X.Org with software.
    * [ASvrG] Arch Server Guide
    Covers the installation and configuration of software that servers run, like: NTP, Apache, MySQL, PostegreSQL, PHP, FTP, SSH, etc.
    * [APkgG] Arch Packaging and Maintenance Guide
    Covers the deep internals of Pacman, ABS and buildpkg. How to maintain, update, install, make packages etc. What to do if things fail, etc.
    * [AKnlG] Arch Kernel Compilation Guide
    Discusses how to compile your own kernel. I think it just should be there for user convenience.
    * [ADevG] Arch Developer Guide
    Covers the installation of software developers use.
    * [ASecG] Arch Security Guide[/i]
    Learns the user how to secure your Arch installation thoroughly.
    2. Categories
    * Guides
    Guides like I've listed above.
    * Howto's
    Maintained Howto's and a link to ArchWiki for unmaintained Howto's.
    * Advisory
    When you maintain a linux installation you come across many odds and weirds. Newcomers don't know these things cause they haven't experienced these odss and weirds yet. So we could place that here for convenience. For example: XFS works perfectly normal, but Grub may hang. Or the fact that on some systems Ati drivers are unstable. That kinda stuff.
    * Community
    References to other parts of Arch Linux, like the BBS, Wiki and Homepage and the policies for writing documentation etc.
    Conclusion
    So, this is what I come up with. What do you all think?
    :arrow: [UPDATE #1: Why no wiki & quality notices]
    I've taken notice of the first four posts and I have to make something clear. The wiki is not the way professional documention should be taken care of. I'm really thinking about a 'Documentation Project' rather than a dumpplace on the net where every moron can simply post his experiences. Just look at the wiki. Just look at it!
    What I was thinking of is to build (Me, PHP/MySQL dev) an Arch Documentation webapplication (or deploy and customize an existing system) and form a project team consisting of a couple of really devoted people, including myself, to write and maintain documentation.
    And if people have comments on the docs, they can discuss it at Arch BBS here, perhaps a new room for Arch Documentation Project?
    In my opinion the quality of documentation should be highly improved and I don't think letting everyone collaborate is a good idea. Especially not if I look at the Arch Wiki.
    :!: Oh, and one last note. I don't hate wiki or want it to disappear. I think there should be two places: one place for us all where we can freely collaborate (wiki) and one place (Arch Doc Project) where official and maintained docs are held.
    So, any thoughts upon this? Let me know please. I'll keep on track.

    The advantage of having a documentation team is that its possible to enforce high standards and strict quality control. As a result, you cover important topics that are always up to date. The documentation can cover Arch, GNOME, KDE and Other WM's installations as well as other guides relating to the ABS and managing your Arch install. This falls under the category of "Official Documentation".
    In contrast, I think its important to maintain a separate wiki where members of the community are free to contribute. A documentation team could NOT keep up with every possible guide. For documentation other than the "Official Doco"  that I've described above, I think the Wiki is appropriate. Gentoo follows a similar model with their official documentation and a separate Gentoo-Wiki (Which is completely 3rd party AFAIK). Gentoo is renowned for its excellent documentation, and through a dedicated documentation team we may be able to produce a similar, or even better result.
    This doesnt change the fact that the existing Wiki needs some cleaning up in areas. I'd also propose a "Standard" of how Wiki's should be layed out, and an example of a "Good" and "Bad" entry. In addition, you'd need a watchdog to issue quality notices where appropriate.
    I'm no programmer, so I'd love to be able to contribute to the Arch community in some form, and documentation seems ideal for me. Therefore, I'm putting forward my interest in this project. I've always heard various other people complain about the documentation on Arch, and I think it's an appropriate step.

  • Dropline gnome / KDE for arch.

    Hey, before arch I was using slackware and dropline gnome ( go here for more info http://www.dropline.net/gnome ) and I really liked it. I was just wondering if anyone here would be interested or willing to use a custom version of gnome or kde specifically made for arch? such as dropline is for slackware.
    Just curious.

    I'd be interested in trying out such a thing, for Gnome or KDE.  Hard to say whether I'd want to use something like that long-term until I try it, though.  ATM, I'm liking fluxbox an awful lot.
    I had trouble when I tried to install a Gnome DE on Arch.  Partly, it was because of some problems with Gnome and/or Arch Linux's implementation (search the forums ... there are some pretty long threads about the trouble people have had getting Gnome to work), and partly it was because I've never used Gnome and I didn't have much of an idea of how it was supposed to work.  Gnome documentation goes into a fair amount of detail, but in the end it seemed like an awful lot of effort just to try something, so I gave up on it.
    I'm sure there are many Arch users who wouldn't be interested, or who are more inclined to customize KDE/Gnome for themselves if they use either one at all, but I think the existence of such projects would enhance Arch's appeal to people who aren't very experienced with Linux or with the DE's for Linux.  (That would be me!  ) I don't think it needs to be (or even should be) an "official" part of the Arch distro, just like Dropline isn't an official part of Slackware.  I also think, like Dropline, it would be a lot of work and require significant resources to be done right.

  • [SOLVED] Alix LED Support for Arch

    I've bought an Alix 2D13 to experiment with it.
    Installation an serial console work perfect but I have problems controlling the leds.
    For Debian based systems there is documentation for an kernel module named leds-alix, unfortunately it isn't inside our kernel. Compiling the module from its sources doesn't worked.
    modprobe: ERROR: could not insert 'leds_alix': Unknown symbol in module, or unknown parameter (see dmesg)
    [ 1831.962904] leds_alix: module license 'unspecified' taints kernel.
    [ 1831.962927] Disabling lock debugging due to kernel taint
    [ 1831.963209] leds_alix: Unknown symbol platform_driver_unregister (err 0)
    [ 1831.963303] leds_alix: Unknown symbol led_classdev_suspend (err 0)
    [ 1831.963382] leds_alix: Unknown symbol led_classdev_unregister (err 0)
    [ 1831.963463] leds_alix: Unknown symbol platform_device_unregister (err 0)
    [ 1831.963568] leds_alix: Unknown symbol __platform_driver_register (err 0)
    [ 1831.963648] leds_alix: Unknown symbol platform_device_register_full (err 0)
    [ 1831.963728] leds_alix: Unknown symbol led_classdev_resume (err 0)
    [ 1831.963808] leds_alix: Unknown symbol led_classdev_register (err 0)
    Controlling the leds via gpio also don't work.
    Anyone an Idea or perhaps an solution?. I think i'm not the only one with an alix.
    Last edited by eanderalx (2013-12-21 20:10:48)

    Can you show your build and insmod commands?
    I just tried it myself, it all works well after adding #include "linux/module.h" to the .c file.
    make V=1 CC=alix-gcc KERNEL_VERSION=3.4.8 KERNEL_DIR=$ALIX/linux/src/linux-3.4.8
    (scp leds-alix.ko to the target)
    insmod /lib/modules/3.4.8/kernel/drivers/leds/leds-alix.ko
    It's not Arch there and I have a much older board (2C3) but I don't think it makes any difference.
    Last edited by axs (2013-12-21 18:11:33)

  • Implementing Quickly for Arch Linux

    Ubuntu has recently begun promoting a tool called Quickly which is aimed at providing developers with an easier way of developing and sharing new applications. It provides commands to create new projects with all the boilerplate gtk/glade code already in place, but more importantly, it allows very simple publishing of applications to launchpad, and optionally to create packages for distribution to the Ubuntu repos.
    Quickly can be found with description from Ubuntu here: https://wiki.ubuntu.com/Quickly
    Would it be interesting to have something similar for Arch? Quickly is supposed to be very flexible and easily adapted to new distros.
    Any thoughts?

    Quickly wrote:programming on Linux should be easy and fun. However, it's not easy and fun because it is too hard to learn. It is too hard to learn because there are too many choices, and too much information to wade through.
      not sure how popular the idea of this would be with the arch community  
    A couple things you could do, build it yourself or contact the maintainer and ask them to please update the package for you (good luck).  updating the PKGBUILD is easy enough if you read the documentation, else you can just download the source and build it from scratch using the provided install instructions.
    also I'm pretty sure that this package is NOT out of date, but instead not updated to handle Arch's shift from python2-3. so all that should be required is small updates to a few of the scripts, and installing the immense number of dependencies
    Last edited by Cyrusm (2011-01-11 22:51:40)

  • Goods Issue Documentation for Text (Non-stock) Items

    Hi all,
    I have a business requirement to provide some form of shipping documentation for text (non-stock) items.
    The business do not want to create material masters (NLAGs) for these items as they are different/one off purchases.
    The purchase the goods and receipt with account assignment to a cost center or internal order, then sit on the inventory and send it out to customers along with real stock items.
    Any ideas on how I can provide some kind of supporting documentation, whether that is a delivery note, or just a simple GI Slip?
    Thanks,
    Mark.

    So they want to purchase items that they don't create materials for/don't get stocked yet want to include those items that don't really 'exist' in SAP on some for of documentation.
    If these items go with real Deliveries then why not add them as text items to the Delivery ?

  • 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

  • How do I access compacted mail on a Mac version 10.5.8 stuck with Thunderbird version 16.0.2 ? I am unable to access needed documentation for Taxes, etc

    How do I access compacted mail on a Mac version 10.5.8 stuck with Thunderbird version 16.0.2 ? I am unable to access needed documentation for Taxes, etc

    Where in the world did you read Deleting All My Mail? I have reread my answer several times and cannot seem to find that in there.
    When you mark a message for deletion it does just that. It marks it for deletion and hides the message. It is not truly deleted until you compact.
    My point is that unless you deleted your important mail they should still be there somewhere.
    Your question was about compacting and thinking it put your messages in a nice little box for safe keeping and now you want to open it.
    I have to agree that Thunderbird did a horrible job of naming this process because most are like you and do not understand what it actually does. I included the link to the explanation of what compacting means in the Thunderbird world.
    Your messages may still be available to your but finding them has nothing to do with compacting.
    Thunderbird does not archive anything unless you use that process by selecting the message and pressing a. You have the option to setup where you want that archive to go and what folders to make.
    The All Mail folder is a goofy gmail arrangement. If you have problems with that then you need to address that with Google.
    If you go into your gmail account on the gmail site do you see the messages you are hunting in the All Mail folder there?

  • CS5 RAW Could not complete your request because the file appears to be from a camera model which is not supported by the installed version of Camera Raw. Please visit the Camera Raw help documentation for additional information.

    I rented a Nikon D600 & D610 and CS5 cannot open the RAW files, i do not have any issued with my D700 RAW files. I am getting this error message -
    Could not complete your request because the file appears to be from a camera model which is not supported by the installed version of Camera Raw.
    Please visit the Camera Raw help documentation for additional information.
    Can anyone please help?

    yellowmledbetter wrote:
    Sorry, I am on a MAC. I downloaded the link you provided and it's giving the same error message as above. Running CS5.
    The error message you gave is from Camera Raw. I thought you said that DNG Converter didn't work?
    The link I gave you is an article on getting your raw files to open in Camera Raw. Did you read it? I lazily gave you the link because this is one of the most common problems in this forum, and I get tired of saying the same thing over and over again. I could break it down for your specific case, but I was hoping you could read through the article and work it out for yourself.
    But, here goes:
    Your cameras are newer than your raw converter, so it won't understand them.
    CS5 comes with Camera Raw 6, which can only be upgraded as far as 6.7.1. You can find out which version of Camera Raw you are running in three ways: in the settings title bar (Cmd-K), in the plug-in title bar (press F to start/stop full-screen mode to reveal the title bar), or Photoshop's Help menu (About Plug-ins).
    Downloading raw files from newer Nikon cameras with old versions of Nikon Transfer will actually make them unreadable in Adobe software. They can be fixed with a free utility. Again, it's all in the linked article. You should be using up-to-date Nikon Transfer, or Adobe Photodownloader to avoid this problem.
    All being well, you have good raw files on your computer. You can convert them to dng using Adobe DNG Converter. IF you are on OSX Leopard or Snow Leopard, you CAN'T use the latest version, because Adobe stopped support. But, if you ARE on a later OSX, you can download DNG Converter 8.6.
    DNG Converter is designed to convert FOLDERS of raw files at a time. You select a folder of raw files, and tell it to create DNG copies. BUT, you have to set up the converter before you start using it...
    If you load up DNG Converter, you'll notice a button labelled "Change Preferences". Clicking this, you'll see the first option is "Compatibility". Here, you must select the appropriate setting for the version of Camera Raw you HAVE (see above). If you can't work this out, just pick "Camera Raw 5.4 and later". THEN pick a folder of raw files and convert them to DNGs.
    All the above is already in the article, but I gave you a personalised response. If you still can't get it to work, please give us more than one sentence. Tell us exactly what you tried, and describe exactly what happened. Which version of OSX you're running, what device and software you downloaded your raw files with, how you used DNG Converter, and so on.
    I really should be in bed.

  • Documentation for Business Content Rapid Marts Reports for SAP R/3

    Hi,
    As we have technical documentation for SAP BI business content BI reports on SAP HELP Portal,
    is there any link where we can find the technical documentation for business content reports supported by SAP BOBJ Rapid marts for R/3 solution like for HR module.
    I would like to know what kind of reports are available as a part of rapid mart business content and what are the measures ( key figures ), dimensions ( characteristics ) supported by each of these standard business content rapid mart reports.
    I have referred business guide and user guide for HR rapid marts but they just give an overview of what analysis can be done.But there is no technical documentation for each of the possible rapid mart reports.
    Thanks,
    Tarun Brijwani.
    Edited by: Tarun Brijwani on Feb 10, 2011 4:00 PM

    Tarun,
    Please share if you got some help on your post.

  • Where can I find Documentation for Oracle financial installation

    Hi
    Where can I find Documentation for Oracle financial
    installation as which all modules to be downloaded for linuk server etc
    here is what I have found
    ===================================
    Oracle9i Application Server, Version 1.0.2.2.2 CD Pack for Linux x86 [Act as Server][to be installed on main linux server]
    ===================================
    Oracle® Applications 11i Release 9 CD Pack for Linux x86     [Act as client][to be installed on client sean,AJ,Vinod]
    ===================================
    Internet Developer Suite (1.0.2.4.1) CD Pack (with iAS Pack) for Microsoft Windows (32-bit)
    ===================================

    user11872870 wrote:
    Hi Tubby,
    http://www.quest.com/documents/list.aspx?SearchOff=true&ContentTypeID=20&prod=1
    This link has many pdf files but none has the useful information. Those pdf's are just 2 or 3 pages each.Sad Christmas for you then i suppose.
    Perhaps you could contact the vendor (quest) and get them to help you in your search for whatever it is you're looking for. An Oracle SQL and PL/SQL forum is not the venue for this, please mark the question as answered, and good luck in your search.

  • ABAP/4 Keywords for all SAP R/3 Versions with Delta Documentation for abap

    Hello Experts,
          Do please provide me with the way to find out the Delta Documentations for ABAP for all version of SAP R/3 starting from 3.0 to 6.0
    points will be awarded if helpful.
    Thanks in Advance

    Log on to SAP.  Use transaction ABAP_DOCU.  Click on Keyword Help.  Don't enter an ABAP keyword, press cont. button.
    In the window that opens, in the tree on the left handside, you'll see ABAP Changes By Release.
    This contains all the information you need.
    matt

  • How to create a documentation for Badi?

    Hi All,
    how to create a documentation for Badi?
    This step is requested in the OSS note, but not explained how to perform it...
    Thanks and regards,
    Alex.

    Hi All,
    solved. created in SE18
    I noticed, that it is also possible to create such documentation in SE61 *** well,
    Document Class  Implementation Guide chapter (SIMG)
    Chapter   SIMG
    Also the translation of documentation could be done in such way:
    SE63--->Translation--->ABAP OBjects--->Transport object:
    R3TR DSYS SIMGbadi_name_goes_here
    Regards,
    Alex

  • I can't find documentation for this app

    Hello,
    Where is the documentation for GarageBand for iOS? I installed it on my iPod, but the interface is confusing, so I need to find the right manual. All the manuals for GB on the Apple manuals page seem to be for desktops and laptops, etc.
    I know there are help files, but I do not have a wireless account so I can't access the Internet from my iPod.
    Any suggestions? Thank you!

    And here is a link to the iPhone/iPod version of the online help:
    http://help.apple.com/garageband/iphone/1.3/index.html
    Download the pages on a computer, that has internet and print them to pdf, then combine them to one pdf document and sync that document as an iBook to your iPod using iTunes.
    You may want to use the Send feedback. link to let Apple know that a pdf version of the Help is needed.

  • Is there any documentation for iBooks Author.

    Is there any documentation for iBooks Author.

    Apple has a FAQ article at: support.apple.com/kb/HT5071
    You can also go here for information: www.apple.com/support/mac-apps/ibooksauthor/
    Google also has a lot of third party information with a simple search.
    And of course you can always to to the iBooks Author forum here on Apple Support Communities. The link for that is here: discussions.apple.com/community/ibooks/ibooks_author

Maybe you are looking for

  • Difference b/w BI EE and BI EE Plus

    Hi all, anybody knows about the main difference in Oralce BI EE and Oracle BI EE Plus ?? Advance thanks :-)

  • Zooming when taking a picture

    I have a Blu Win HD Win Phone and when taking a picture and i'm trying to zoom in I stretch out using my thumb and forefinger but it doesn't do anything. How do I zoom in?

  • Delivery Date changed to past date while ATPing 2nd Line

    Hello Gurus, I posted a question a few days ago, but now that I found a new example i have more info of my problem. So here is the scenario. (we are set up for back order) Orders is created for 5000 units on 09.23.2008. we do not have enough stock to

  • Premiere Pro Crashing on Loading (even empty) Sequences

    Prmiere Pro CS5 freezes and then crashes when I try to open any sequence. It is unusable. I have a new Dell Precision M6700, Windows 7 64bit, SP1, Intel Core I7 3940XM CPU @3.00GHz, 16Gb Ram, NVidia Quadro K5000M. I have uninstalled and reinstalled P

  • HT4972 how do i update my ipad one?

    i have ipad 1st edition, and all my apps are becoming unuseable cos they need updating...how the heck do i do this, cos i cant find out anywhere?! if i go into my local Apple store, can someone do this for me? practically every app now needs ios 4 or