Arch Linux Magazine, February 2010

Another month, another issue!
As promised, we are slowly working back towards releasing the monthly copy of Arch Linux Magazine on the first. This month I was only a few short hours off from my target time. On the flip side, this month we have a few new features (and one noticeably missing, sorry... it'll be back next month). Hopefully we'll be able to keep doing the new features and, over time, build ALM up to what I know it can be.
My sincerest thanks to those of you who continue to contribute, and for those of you who are interested in contributing in the future (or translating), we now have a wiki page designed specifically for you! As for those who are waiting for sources for translation, I haven't forgotten you and will be sending you the link in the morning... it's long past my bedtime.
And so, without further ado...
http://www.archlinux.org/static/magazine

Dieter@be wrote:whose desktop is it? maybe mention it in the article. and frankly i don't see the point of the desktop item but maybe that's just me.
If you're referring to the Desk Shot, it's my desk.  The PDF has my name, but the text version doesn't seem to.
As for why...I always find it interesting to see what kind of environment people work in, simply because it can often make me feel better about mine   Besides that, probably isn't much else to say for/against it.  Similar to the Desk Shot thread on the forums, not too many people posted in it, but there were a few who were interested in it.

Similar Messages

  • Arch Linux Magazine, March 2010

    Come take a walk down memory lane...
    http://www.archlinux.org/static/magazine

    whacath wrote:
    @ghost its not fair to blame the community when theres little communication. communication have to happen in public and not via email.
    maybe it would be appropiate to set up some basic magazine rules, organize and communicate? in example:
    * a solid release date
    * a solid number of articles must have been asigned and finnished to release the magazine on the above date, if not, the magazine is not released until next month or until there is enough material and articles.
    * assignation and communication happen in public through the wiki, mailinglist, a special forum or some other public place.
    * open planing.
    * etc etc
    feel free to fill the list!
    Ah! But there is public communication! Through these threads, the wiki, and the irc channel!

  • Arch Linux Magazine, April 2010

    I promised the community that we'd be back to our standard format this month, and as promised, we are! Once again, ALM brings you an insight into the community that can be found nowhere else. As with anybody else, we had to pull an April Fools gag of our own... see if you can find it! Unfortunately, I don't had a spare netbook to donate to whoever finds it first... check out April Fools Challenge for more info.
    Enjoy!

    Lars Stokholm wrote:
    ccc1 wrote:someone had a similar idea :
    http://www.kernel.org/
    These are exactly the reasons why I fail to take Linux (and it's community) completely seriously. You can't depend on anything or anyone. What would I have done if I was in a desperate need of some information on that site? Best case scenario would be minutes lost digging my way through that mess. Worst case would be hours trying to find another source. If kernel.org think of itself as unimportant enough to effectively close down for a day, just for the fun of it, why not close the site for good?
    I too really, *really* hate april fools.
    I think that you could simply click in "Normalize page" link (top righ) :-)

  • Arch Linux Newsletter December 2009?

    For those of you who didn't see my email on the Arch General mailing list, here's the situation with the Arch Linux Newsletter/Arch Linux Magazine. As many of you know, Kensai recently moved and got married and I recently moved and have been trying to find a job. My situation led to me having difficulty finding the time to dedicate to the Newsletter/Magazine that I have in the past. Combined with Kensai's absence (and as such, our inability to post anything even if we had a completed issue), this caused the lack of our great publication for the last few months. Thankfully, the situation has been rectified and we are now preparing for our next issue. Unfortunately, this solution has come at a cost. Our fearless leader has decided to step down from his position in order to dedicate more time to his new-found family and I can't say I blame him. As such, we wish Kensai the best and hope that once his life calms down him start contributing again, even if in just a small way.
    After much deliberation (alright, so maybe I'm exaggerating a little bit), the Arch Linux development team has graciously decided that they want to keep me on as editor of our official publication. As such, I am preparing for the release of our next issue! I would like to see us make a comeback to where we left off and then some. I want to see more community contributions and writers, and I want to get the Schwag report back. I want more sections and special features and I even have a few surprises in store for you all down the road a bit.
    This improvement is going to be a big project and I can't do it alone. If any of you, our loyal readers, are willing to contribute please step up and say so. Leave a message here, join me in #archlinux-magazine on freenode, or send me an email at [email protected]. You don't have to have a mass media background or immense technical knowledge, I can find a way for anyone to contribute. Help us make the new Arch Linux Newsletter/Arch Linux Magazine the best one yet!

    kensai wrote:Is so hard to say good bye, guys thanks for all the support you have given me all this time, without this wonderful community I would have never done all I did. I hope one day I will come back, when things get more stable, cause you know, when starting something new the start is a mess most of the time until things settle down.
    Don't think of it as a "good bye", but as a "See you soon".  I'll bet you'll be back once you're settled in (which may or may not happen faster than you expect).  Either way, best of luck for now and the future, and don't sweat the small things, chances are time will fix most of the small messes.
    and to ghost: Do you have a rough estimate of when we might be getting started on the newsletter and such?

  • Arch Linux Reviewed in Argentinian Magazine

    Im happy to announce that after some work and evangelization, Arch Linux was reviewed in a local and quite popular Linux magazine here in Argentina. The magazine is called USERS Linux and its in Spanish. The review was followed by some questions they made me as admin of ww.archlinux.com.ar, if there is enough interest i will translate the article.
    I collaborated on the article, so i cant say its "objective", its quite centred in the distribution and community, touching point by point the pluses and differences with others, we mention Arch64 and Archie as they had some good reasons to be on the article, the first being for those with 64bit procesors and want the best out of them, and the second for those who didnt want to risk to install Arch without trying it out first.
    Congrats to Judd and all the developers, and i hope this gets us some more Spanish Talking users!
    You can find a scan of each page here:
    http://www.archlinux.com.ar/blog/2006/0 … ers-linux/
    edit:
    Changed the URL as the site changed hosting and I moved the whole system.

    Hi,
    im going to start translating the articles, but i will go slow unless there is a bit more interest, either way, sooner or later it will be translated.
    brain0:
    Yes, your are right, i missed that. I will write them so they can print an "errata" on the next issue, there is also a typo, they printed CRUZ instead of CRUX.
    On the other hand, although it has been talked to death, no-one actually tried Arch on a K6-2, so we dont know for sure if it works or not. According to several posts here and some sites found via google, AMDs K6-2 are missing a couple of functions necesary to be fully i686 compliant. They are pretty common in this latitudes, so maybe someone gives it a shot and we will know for sure once and for all!

  • Unofficial Arch Linux Newsletter for February, 2009

    I don't want to step on anyones toes (sorry Kensai and pressh if I did), but I had a few things to say to the community, and some people were getting impatient, so here's a little unofficial Arch Linux Newsletter for February. Looking forward to the next official one!
    If anyone wants to comment (constructive criticism, rants, hate mail, whatever) feel free to post.
    Last edited by Ghost1227 (2009-02-04 09:31:39)

    Dusty wrote:
    pressh wrote:As I want to change a few things in the newsletter and Eduardo maybe too,
    Did this make anybody else giggle? I want to change a few things with Eduardo myself... :-D
    ah crap
    [edit]
    of course I meant to say that I want to change some things in both the newsletter and Eduardo
    [edit2]
    btw. Dusty, if you have any input on this in any way it is much appreciated. just let me know.
    Last edited by pressh (2009-02-04 13:58:35)

  • Arch Linux on Magazine

    Arclinux diffusion in Italy.
    Rome, 4th of June 2004 14:30
    I was out for lunch 30 minutes ago and at the newspaper shop I found a Linux magazine with a CD of Archlinux 0.6.
    On the front page there was "Archlinux 0.6 a very tiny and fast linux distribution i686 optimized"
    Unfortunatly I forgot to see the name of the Magazine

    If you go back there, would you mind purchasing one and shipping it to me?  I can give you my shipping address in email.
    Maybe I'll start a collection of Archlinux memorabilia...

  • How to implement bundle-like mechanism in Arch Linux

    I like Chakra's bundle system and I want to make it in Arch.
    I heard that bundle system is just a separate file system(like loop? I am not sure).
    Can you give some details?
    However, I think there must be some reasons that Arch does not implement such a convenient tool as bundle system.
    I want to hear about these reasons.
    Thank you.

    If you go back more in the history behind Chakra, how it came to live, you might know, it started bc of a desire to do another split.  That one was for KDE, resulting in KDEmod, which was fully accepted by Arch, a few years after, and is currently the way KDE is build in Arch too (KDE being split in multiple packages).
    While Chakra was just Arch + KDEmod, more and more users stated, there was a desire to split toolkits too.  Have a system that was either based on GTK, and for Chakra users, a system base on just Qt/KDE.  When the late Chakra founder Jan Mette called the meeting in February 2010 the discuss the plans for a full split from Arch, this desire expressed by many users was one of the driving factors for his decision.
    To have a fully functioning distro, and doing something this different, the discussion included finding some MacOS way of including some of the most well known, and revered Linux apps, that were GTK based.  That is how the idea of bundles came to fruit.
    At the start, a few hundred packages had either makedeps  or full dependency to gtk2, so it was left up to the user to install those apps, though the ISO's were gtk free.
    Once the bundles became more functional, and included all those most well known and revered Linux apps, the majority of the gtk apps were removed (slowly) from all repo's.  Plus in the good 2 years since, many apps/libs have been stripped of gtk, since many apps are build to function on both gtk and qt based systems, though they do not need the gtk libs at all to work just fine on a qt based system.  To remove gtk libs/functions from one app, makes very little difference, for ten, it is not a big difference, but you repeat it over a hundred times.....
    GTK is still in the repo's, and probably will stay there.  Users who do not want to stay gtk free have added many such apps in ccr, and as a service to them, it is nice to not have to compile gtk.  Plus there is no real solid substitute yet for flash, again as a service, it is still an option.  The bundle buildsystem also draws from the repo's, if a certain lib/app is set to draw from there during the bundle process, that is another reason gtk/gtk-apps are still in the repo's.
    As Allan states, downloading multiple bundles, will download multiple instance of a highly compressed gtk (or other lib/app).  This is ofc a draw back for bundles, but again, a well thought out, and chosen draw back.  Users who need more then 4-5 bundles, should really rethink using a distro that made the choice to see if a distro can be fully functional, when splitting toolkits.  Those users can install their needed apps from ccr, or perhaps should choose another distro.  But to have an application not needing a rebuild/break bc of a .so update is a big plus.  When libreoffice was not stripped of it's gtk deps, it was one of those bundles.  It included all, and one such bundle still runs perfectly on one of my installs, it was build February 2011 (granted, I'm using this one as a test case for bundle longevity).
    For those who do not need but 3-5 bundles, there is no gtk installed (takes more room, then downloading it in compressed form a few times).  And many bundles do contain more then one gtk app (GIMP bundle includes xsane for example, chromium includes flash, google-talkplugin, pdf plugin), so as an example in my case, I run one bundle almost all the time, and it brings me the only 3 gtk apps I need and I my installs are gtk free.  Btw, all bundled browser include the flashplugin.
    But bundles are not just for gtk, Skype is another example for bundle use.  This app brings in about 50 lib32 packages, if you are on x86_64, why install all those for just one app?  Some will state, it makes no difference, don't care to have a lot of extra libs installed, some will prefer to keep a more "clean" system.  Chakra goes with the latter.
    Since the bundle process can draw from the repo's, or build all needed packages in that system, in any setting chosen, any security update is no extra work, then any other rebuild.  That security update was either done in the regular repo's, all needed then is rebundle all included apps (the final bundle process, squash them, etc, takes about 40 secs), or if the apps is not in the repo's, just that one is rebuild/adjusted in the bundle system, and again, bundled with the rest of the existing packages included in that particular bundle.
    To address as a final note, the point made, you can't be bleeding edge bc of bundles.  I'll give the example of the gimp-dev bundle.  It needed the latest babl, gegl, much newer glib2, gtk2 (and more from that stack) then was in the repo's.  All those were updated in the bundle system (though not a visible repo, the bundle build system has some 200-250 packages at most times), tested and ran successfully for many users, and always making the latest dev version available for gimp, until the final release this week.  Since all glib2 updates were tested in this bundle for quite some time, when it was time for this update in the regular repo's, it was a simple and quick update for the whole stack.
    Bundles are not perfect at this stage, far from it, there are still many plans to improve on the whole system, but for something that is in use just 1 1/2 years, it truly is a viable option to have a system running on a single tooolkit.
    To address a question posted while writing this.  Chakra uses testing repo's a lot too.  Bundles are fully rolling, always the latest available, just like the apps and games repo in Chakra.
    Last edited by abveritas (2012-05-04 18:17:43)

  • [SOLVED] Installing Windows XP after Arch Linux

    I'm not sure at all where to post this, so I've decided to do it here since I have the problem on a laptop... Please move if it should be somewhere else.
    I installed Arch Linux on my new laptop a month ago or so, and am very pleased to have found the very kind of distro I've been looking for. However, I'm having trouble with my graphics (either wine doesn't support it, or the drivers don't have 2D/3D acceleration), and now I want to install Windows XP next to Arch Linux.
    Using a GParted LiveCD, I've repartitioned the harddrive as such: Unpartitioned Space (27GB), Linux (197GB), SWAP (5GB).
    I've also removed the bootable flag from the Linux partition, just to be sure. However, when I try to install Windows XP, it gets stuck after unpacking a bunch of drivers, giving me a bluescreen that tells me to make sure the hardware isn't broken, check my harddrive with CHKDSK /F, or look for viruses. Ofcourse I know none of these are true, since I'm running Arch Linux just fine.
    A friend suggested that maybe my hardware isn't supported by Windows XP, which sounds like the most reasonable explanation so far, but I can't find a list of supported hardware. The M$ homepage basicly says
    "Pentium 233-megahertz (MHz) processor or faster (300 MHz is recommended)"
    for CPU, which doesn't help me at all.
    My hardware is:
    Processor: Intel Celeron 2.2 Ghz
    Memory: 2GB DDR2
    Graphics: Intel 4500MHD
    And the laptop is called an "eMachines E525", though that doesn't say much since there are very, very many called this.
    Can anyone give me any hints as to what I might be doing wrong?
    Last edited by Noxic (2010-05-29 18:44:32)

    Sounds like something I'll want to do. Where did you download the drivers? Do I have to follow some guide? Thanks for the tip
    EDIT:
    Indeed I will want to install AHCI drivers, otherwise Arch Linux fails to boot quite badly. There is also a problem preventing me from booting when I'm using AHCI though;
    At boot, Arch Linux checks /dev/sda1 (NTFS) for errors, and expects to check an ext2 filesystem. Obviously, however, /dev/sda1 is an NTFS filesystem.
    Since it tries to read the NTFS partition as an ext2 filesystem, it panics. Arch Linux then prompts me for the root password (or Ctrl+D to reboot), but I've disabled root login and can therefore do nothing at this point.
    I have a GParted livecd and the Arch Linux livecd, so editing files on any of the filesystem isn't a problem at all, but I don't know what to do at this point. Help?
    Last edited by Noxic (2010-05-29 12:40:33)

  • Share files between Arch Linux and XP Home

    Hi, I have an Arch Linux desktop and a XP Home Laptop both connected to a Billion 7401 ADSL Router to get to the internet. If I am using any computer sometimes I have a need to use files from the other one, and from an external HDD connected to the XP laptop. I have been googling for the last 3 weeks but could not find a concrete solution to this issue, maybe because I don't understand much about networking or p2p, and samba. Looks like I have to spend more money on either another computer to be setup as a server or on a router or hub or switch? But I thought my Billion Router is already a router? I wonder if you can please help me to solve this problem or point me to a good link? Thanks a lot.

    SSHFS is another more Linux native option for sharing files (and it can be compatible with XP too using special programs).
    http://en.wikipedia.org/wiki/SSHFS
    http://wiki.archlinux.org/index.php/Sshfs
    As I understand it XP Home uses simple file sharing which can be really insecure depending on your needs.  Once when I ran a computer with Linux and was needing to set up a samba share I discovered massive issues since (at the time) I was connecting regularly over a shared wireless network among untrusted persons.  I ended up looking into using SSH tunneling to overcome the issues associated with XP Home's Simple File sharing and that is when I came across SSHFS.
    Whatever you do make sure to read this about XP Home's "Simple Filesharing"
    http://www.centerlineit.com/index.php?v … q&Itemid=9
    It's important you understand it.
    Last edited by davidm (2010-04-12 04:01:34)

  • Windows 7 / Arch Linux Dual-Boot - win7 keeps changing the boot flag!

    Greetings!
    Its been a long while since I had to dual-boot with windows on the same machine.
    I 've installed windows 7 and then arch linux and installed GRUB on my sda1 where the /boot partitions is located at.
    I've managed to boot into arch successfully and later into windows also successfully.... but when i tried to boot into arch again I wasn't greeted with the typical GRUB boot screen... grub was ignored completely and win7 booting began as if it was the only OS in my hard drive.
    I've used the gparted live cd and realized that the boot flag has changed from my /boot partition (sda1) to my windows partition (sda2). I've changed it back and I was able to boot into arch again. but when I rebooted to win7 and then to arch the same thing has happened. The boot flag keeps changing whenever im rebooting into windows making impossible for me to boot with GRUB unles I manually change the flag again.
    I haven't installed GRUB into the MBR because I hear  it is a bad practice when you have a windows OS also installed (something with service packs not being able to install, among other things). I also don't want to use the easyBCD method to boot arch using the win7 loader.
    here is the partition scheme on my 500gb sata drive :
    /dev/sda1      /boot                 250mb    (primary)
    /dev/sda2      windows 7 ntfs   100gb     (primary)
    /dev/sda3      swap                  4gb        (primary)
    /dev/sda5     /                       16gb        (logical)
    /dev/sda6     /var                   8gb         (logical)
    /dev/sda7     /home               the rest of the hd space   (logical)
    What am I doing wrong and how do i prevent the boot flag from changing?
    Thanks in advance for any help you can give me!
    Last edited by kamigr (2010-01-12 14:35:07)

    naequs wrote:
    bumping this because i have the EXACT same problem !
    however i installed grub to sda1 because i didnt want my installs to mess with each other  (not that ive had any problems with grub in mbr though...) .
    this just looked cleaner to me.
    if anyone has figured out how to prevent windows from automagically changing the bootgflag, id like to know !
    but maybe this is a question more suitable for a windoze forum
    tia
    /edit: seriously, ive been searching the net for some time now, including irc chans and there seems to be no solution to this ! all threads similar to this just end dead !
    i hate how windows claims to own my computer!
    1. don't necrobump
    2. as mentioned in the thread, just install grub to mbr and chainload windows. It works just fine and is the easiest way to get it working reliable.

  • 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)

  • Having difficulty installing arch linux

    Okay, so currently I have Windows. Before I put in the CD and restart my computer, I went to the Windows disk manager, and created some partitions so I wouldn't have to do it from the installation (I fear I may mess up and erase all my data). I'm trying to get a dual boot so i created partitions like http://wiki.archlinux.org/index.php/Win … _Dual_Boot suggested. All the new partitions I created were raw, I didn't give them a filesystem. When I start the installer with the Arch Linux Net CD, and get to the Hardware part, I select "Manually configure block devices, filesystems and mountpoints." It shows a list of partitions except they ALL appear to be raw. I think it had the correct number of partitions, but I had no idea which one's were supposed to be my Windows partitions (i.e. Windows and Recovery partition) and which one's were the new one's I created. Not wanting to screw anything up, I decided to restart and ask for help here. Why don't my Windows partitions show up as having an NTFS filesystem?
    Also, that article I linked to said the boot partition should be in the first 8.5 GB of the disk. Is it possible to do this in the Window's disk manager?
    Last edited by Kurushimi (2010-01-27 03:29:42)

    Greetings,
    Do you remember the order you made the partitions in? If not either Ctrl Alt F2 to open a new TTY and run cfdisk to get your partition info or reboot back into windows and open your partition manager tool and get the information and remember to write down, what is in first partition, what is in second partition, and so on... If using the cfdisk method you hit Ctrl Alt F1 to go back to your installation screen.
    Please note that first partition = SDA1, second = SDA2, third = SDA3, and 4th = SDA6.
    You said you already crated a arch /home partition? That is not so until you have mounted and created the file system so no worries there. Just make SDA6 (assuming that is the large arch partition) your root / partition. You don't have to create a /home partition. Which ever is the windows partition, just ignore it/them in this step. The installer itself doesn't recognize NTFS as a file system in this process so it won't show it listed as one, but it is there.
    Hope this helps, and good luck to you!

  • Arch Linux Workstation

    I'm a DIY guy... with more than just computers. In the near future I am planning to use Arch Linux 64bit for a professional use environment. I'll also be building a new system after the new upcoming standards go mainstream. All the programs I'll be using will be heavily extended and modified versions. Windows (retail license) has far too much bloat, but I'll dual boot it on a separate HDD. Photoshop, Coldfusion and/or etc... are nice except for the added cost. I am trying to decide on a shell and solid programs to perform my needs. Any recommendations regarding additional open source platforms/programs, modified versions, superior alternatives or extensions? Opinions are welcome too.
    Photography -> GIMP
    3D Rendering -> Blender
    I'm searching for modified versions plus extensions to create ultra realistic images and models. Not for creating games.
    2/3D CAD -> ?
    I have my doubts about what I have seen thus far. I'd rather have a commercial grade program available on Linux than deal with a bunch of time wasting hassle when trying to create models. Maybe someone in who has been down this road can curb my appetite.
    Office Suite -> LibreOffice
    I write on a regular basis. Out-of-box it has a lot of nice features. Microsoft Office 2010 is what I am using now. I am hoping to find extensions to add the missing features found in the newest Microsoft Office.
    Pro E-mail Client -> ?
    I'm looking for an Outlook replacement. Thunderbird is not something I am too akin to after my numerous issues with Mozilla's FireFox on several (5+) computers.
    Web Development -> Notepad++ w/ Aptana Studio
    I own a website with several domains. For the past few months it has been blank as I decide on the layout. It will feature a pro online portfolio, blog and etc... Not for general or family usage. Pre-made templates are a no-go. I'm experienced with some CSS, HTML and etc...
    Etc...
    Last edited by carolinabranden (2011-10-05 22:54:36)

    carolinabranden wrote:3D Rendering -> Blender
    I'm searching for modified versions plus extensions to create ultra realistic images and models. Not for creating games.
    I don't know exactly what you mean with 'modified versions', as for extensions/plugins/addons I've heard great things about BSurfaces. As for creating ultra-realistic models, certainly Blender is capable of that, but obviously your own skill will be the determining factor. These days most character-focused modeling is done using 3d sculpting methodology and Blender has good support for this. I've been doing some spare time sculpturing myself from time to time using Blender and while it's obviously not near as powerful as commercial 'sculpting-dedicated' offerings such as ZBrush, or Mudbox, it's still very capable. Here's some old (2+ years) stuff I sculpted in Blender back when I was playing around with lots of 3d sculpting in my spare time:
    http://img3.imageshack.us/img3/3204/geek1g.jpg
    http://img846.imageshack.us/img846/2580 … dertes.jpg
    http://img810.imageshack.us/img810/3412/pig1.jpg
    http://img97.imageshack.us/img97/6084/pig2y.jpg
    http://img855.imageshack.us/img855/180/leela2.jpg
    http://img844.imageshack.us/img844/6782/dogjk.jpg
    So if you have any questions pertaining to Blender sculpting I'd be happy to share what I know. As for rendering, it seems the new Cycles renderer is the future but I haven't had any real experience with it so I can't help you there (and I really suck at rendering anyways).

Maybe you are looking for

  • IPhoto won't start anymore (after update to 9.2.1)

    Hi all, I have been getting this message when I try to start iPhoto, including when starting it with cmd and alt pressed.  Can someone please help me? Thanks in advance. Process:         iPhoto [44262] Path:            /Applications/iPhoto.app/Conten

  • Do I make multiple videos in one project or make multiple projects??

    I am going to make at least three music videos for a local band for their web site. Do I make all three in one project and can i encode them for YouTube separately or do i do all three in totally separate projects??? It seems like once i have all the

  • Move TextFrame From One Page to Another (Indesign CS3 & VB )

    Hello Friends!!! I have create 5 pages catalog in indesign CS3 & i need to shift one Group From One page to another...can anybody help me to do this issue. what i have tried is....... Set MyPge = MyDoc.Pages.Item(3) MyDsgn.Select MyPge.Groups.ItemByI

  • How to delete empty pages in in-design document?

    Hi All,        How to delete empty page which may contains text frame with no contents, or may be no text frame... Plz provide me the script... Thanks in advance, Vel....

  • Building swing tree

    is it possible to build a tree with the tree coordinates i have a tree cordinates field and the description of the co-ordinate in my database tree-coord description 1.1.2         AAA 1.1.3         aaa 2.1.2         VVV 2.2.3         TTR I have build