Arch Linux for Netbook ?

Hello guys,
im new user with Linux
is arch Linux compatible with Netbooks ?
because im using crunchbang Linux . i faced many incompatibility issues like Display/backlight/FN keys
and i hope this arch Linux  can be compatible with my Samsung Netbook

Use google with the site option to search. (It works better than the forum search.)
When I tried, google turned up https://wiki.archlinux.org/index.php/Samsung_N150. It doesn't seem to cover your netbook specifically but perhaps there's something useful there.
Here's the category page for samsung: https://wiki.archlinux.org/index.php/Category:Samsung.
Last edited by cfr (2012-08-11 00:17:11)

Similar Messages

  • Arch linux for Ubuntu users

    Hello everyone,
    When using Synaptic on Ubuntu it usually sets everything up for you so all the installed software tends to work out of the box without any need to change around configuration. Is the package manager in Arch Linux as integrated as the one from Ubuntu?
    Thanks
    Frank

    I'm new to the linux scene (about 1 month now).  My most used distro (and my fallback if I mess up another distro on a seperate partition) was Ubuntu, until I figured out the basics of Arch.  After this enlightenment, I find Arch to be much easier to work with in terms of customizing apps, having the right libraries I want, and to just do daily functions.  I love to always check for updates to the system.  Ever notice in ubuntu there are about 30 repositories you have to sync with? In Arch there are the 3 basic repositories (extra, core, community) and multilib if you are on 64bit.  Working with pacman is much more efficient and controlled than apt-get imho. 
    One thing I hated with apt-get is that you add in 3rd party PPAs that are slow.  With Arch and its pacman + yaourt(aur) there is really no need for these 3rd party repositories as everything you can imagine is probably available in official repositories or built by the community.  Go check out https://aur.archlinux.org/ this is one of the coolest community made pool of apps around.
    As mentioned before, the pacman doesn't hold your hands so be prepared to google and learn what some packages do.  For example, I am running gnome and install a KDE app called amarok.  Pacman will install everything (including KDE and qt libs) to get amarok started.  However, the only things it doesn't install (but it does tell you what) is extra depencies. 
    Optional dependencies for amarok
        libgpod: support for Apple iPod audio devices
        libmtp: support for portable media devices
        loudmouth: backend needed by mp3tunes for syncing
        ifuse: support for Apple iPod Touch and iPhone
    So, basically I just read through pacman's output, and either google or make a decision on what is needed.  This way my system is controlled tightly and I know more about the system.  In the future if I buy an ipod and want to sync, I'll remember there are some optional depencies available for this.  I can type "pacman -Qi amarok" and it will show me what it depends on as well as optional depencies. 
    Sorry for going on for so long but you get the point.

  • Arch Linux for Google Compute Engine

    Hi Arch users,
    I’ve created a tool that can create an Arch Linux image for Google Compute Engine. It has the compute-image-packages software preinstalled so basic GCE integration works.
    I’m working to improve the boot times and shrink the image since it’s a bit larger than I’d like it to be. You can follow the instructions below to boot a virtual machine running Arch.
    The source code is hosted on Github: https://github.com/GoogleCloudPlatform/ … ge-builder, pull requests welcome!
    I've already built one today and has been made public on Cloud Storage at gs://jeremyje/arch-stable/arch-v20140906.tar.gz
    Instructions to boot a VM with the image:
    1. Create a project or pick an existing one. Turn on Compute Engine.
    https://console.developers.google.com/
    Click "Create project"
    Enter a project name and project id.
    Go to Compute > Compute Engine
    If necessary, enable billing.
    2. Add the Arch Image to your Project
    Go to Compute > Compute Engine > Images
    Click "New image"
    Name: arch-v20140906
    Description: Arch Linux built on 2014-09-06
    Source Type: Cloud Storage object
    Cloud Storage Object Path: gs://jeremyje/arch-stable/arch-v20140906.tar.gz
    3. Create an Arch Linux instance.
    Go to https://console.developers.google.com/
    Select your project.
    Compute > Compute Engine > VM instances > Add Instance
    Select a zone, machine type, and select the “arch-v20140906” image.
    You can SSH into the VM by clicking on the SSH button after you create it.
    If you like command line here's the equivalent.
    Google Cloud SDK: https://developers.google.com/cloud/sdk/
    # Install Python2
    pacman -S python2
    # Install Cloud SDK
    export CLOUDSDK_PYTHON=/usr/bin/python2
    curl https://sdk.cloud.google.com | bash
    echo “export CLOUDSDK_PYTHON=/usr/bin/python2” >> ~/.bashrc
    source ~/.bashrc
    # Login, create a project
    gcloud auth login
    # Add the image to your project.
    gcloud compute images create archlinux gs://jeremyje/arch-stable/arch-v20140906.tar.gz --description “Arch Linux built on 2014-09-06”
    # Create the instance booting Arch
    gcloud compute instances create archvm --zone us-central1-a --machine-type f1-micro --image arch-v20140906
    Lastly, there’s no official support for these images but if you find a problem please file a bug or submit a fix on Github.

    Hi! Do you have any update of your Arch image?
    Thank you

  • Arch linux for SPARC, is there still any activity?

    Hello all,
    I just got my hands on some sparc servers and I'd love to put arch linux on there.
    I found a wiki-page about SPARCH, but the last real edit is over 2 years ago, and the repository is down.
    Is anyone still interested in this / working on this?
    Ward

    Ok, so Dave replied.
    It's been a while since he worked with the SPARC version, and can't find the files anymore.
    However, he does have some very useful basic information regarding what the basic problems with the porting process were, the framework he used (Cross-LFS; http://trac.cross-lfs.org/) and so on. Dave also mentioned, it was far faster to do the compiling on his x86 desktop than the actual SPARC box.
    I'm highly motivated in getting something done about porting Arch to SPARC. Haven't done anything quite like this before, but that's not a problem. Lack of time might be though, which is why I'm hereby announcing I'm looking for volunteers to participate in a group effort to get the porting moving along and fully available to the public as soon as possible.
    What I can offer is this:
    - Server space from a fast x86_64 Sun Blade (running Arch) to host repositories and possibly do some compiling as well; 1 gbit uplink
    - A Sun Fire V240 with 2 CPUs (1.5 GHz if I remember right) and 4 GB RAM for compiling / testing
    - A plan, lots of ideas, an open mind and skills in areas such as design & co-operation
    I would love to get involved in the actual porting myself as well, but as things look at the moment, I will only have the chance to do so occasionally and for short periods of time.
    I can and very much wish to participate in designing the whole process though, and the first couple of people I feel the project needs would be designers / project leaders as well. Someone(s) with previous experience in porting any OS to any new architecture would be useful to say the least.
    I'm also seriously thinking about kind of combining OpenBSD and / or DragonFly BSD with some parts of Arch. Can't really say which would be the dominating "gene" but Pacman and the rolling release approach are one of the key points of the whole thing. I used OpenBSD for years and loved it for its security and stability, but keeping it up to date and clean (no old libraries around etc.) means you will have to re-install it once a year. I got so tired of that I could simply not go on, and after lots of research ended up with Arch - which I love, apart from the fact that some things keep changing so radically that it's easy to drop out of the smooth upgrade track and get your otherwise super-stable server messed up.
    So, this secondary plan of mine has to do with taking the best parts of OpenBSD, DragonFly and Arch, and putting it all together in a way that provides a super-stable, secure and KISS distribution heavily targeted at the server scene, possibly being available as 64-bit only. If it's based on Linux kernel then it will have things such as GRSecurity installed and on by default. Server software packages designed to be chrooted (or at least providing a chrooted version) whenever possible, and so on. Clear, unified way of how the system is configured and how the init works - this is where I'm thinking about the Arch way again. I am leaning towards using the OpenBSD kernel but importing lots of stuff from Arch / Linux.
    If anyone's interested in either of these little projects, please pm or e-mail me at jyri (ät) archlinux (punkt) fi

  • Archmobile: Arch Linux for ARM Devices

    Hello,
    I want to introduce our Operating System for ARM Devices, that's running on the OpenMoko NeoFreerunner, but we want to support more Devices.
    We from http://archmobile.org port Arch Linux on ARM, and we want to give you the simple Freedom which has Arch Linux x86 for ARM.
    We can already SSH on our Freerunners, and we nearly have X working. One of the Devs already uses our OS as Daily-Phone with QT Extended.
    If you want to know more about us, or you want to try out our System visit us at http://archmobile.org !
    The first Snapshot is already at http://naeg.archmobile.org/snapshots/ available. This Snapshot works on the Freerunner and you can SSH into your phone and play a lil bit with our OS Also you can install the System with our Installation Script we provide, to get a really up-to-date System and not configured.
    It would be great if other people with other ARM Devices would contact us on IRC(on freenode #arch-arm) and we will try to support your ARM Device too. New Developer are always welcome
    I think it would be awesome if we get some support from the official Arch Linux. An Entry in the list of Arch Related Projects would be great.
    Feel free to talk about that.
    Greetings, naeg - alias rott_at

    Thanks for your tips to make the wiki better. I will edit the pages to avoid any confusion you've had. Although I won't do all the changes (e.g. remove $ and #). But I will then make a note which should clarify it.
    markc wrote:
    Some errors I encountered...
    # touch /_Archlinux_ARM
    /bin/touch: setting times of `_Archlinux_ARM': Invalid argument
    This issue is known with a x86_64 host. I don't know where it originates from as i686 host is fine. Use this binary instead: http://stanny.homelinux.org/touch [1]. This is my home FTP. Thus it might not be available 24/7.
    markc wrote:checking dependency style of gcc... /bin/touch: setting times of `sub/conftst1.h': Invalid argument
    Should be fixed using the touch binary I provided.
    markc wrote:bsdtar: Failed to set default locale
    Unsupported ioctl: cmd=0xffffffff80046601
    bsdtar: Couldn't list extended attributes: Function not implemented
    The error in the first line might be solved by configuring your locales correctly. The error below is issued by qemu.
    While this is annoying it doesn't appear to cause any harm. Just ignore it. You'll find other ioctls not being supported by qemu and we expect them to be fixed along with qemu's development.
    edit:
    [1] I moved it to a permanent location: http://archmobile.org/~harlekin/touch
    Last edited by harlekin (2009-07-30 22:16:59)

  • Arch linux for Sparc Ultra2

    I have flat rate adsl2 24/7 and a sparc ultra 2 idle connected, I can trust some people on it to port all arch PKGBUILD,
    18Gb hard disk scsi3 15000 rpm 1280Mb rom 2 300Mhz CPUs.
    I can make Arch base boot on it in a couple of weeks. Anybody with me?

    I have an ss10 I can test/compile(once the port is ready) on
    I would also point out that debian was compiling 32bit userland for all sparcs with some exceptions that saw speedups like the kernel so supporting older 32bit sparcs should be an added bonus
    I have been trying to get T2 SDE (it just spits out binary packages you can build a custom distro with... supposedly supports sparc32) to build a bootstrap environment but the cross compiler build is broken and I can't figure out how to get on the mailing list to ask for help I may email the main dev directly. T2 should also be able to create bootable install images to get us started once the bugs are cleaned up. Gentoo has dropped sparc32 support which I don't really understand except that the machines were slow they are still pretty neat and would make decent personal servers etc.
    I think it would be nice to get a single boot image ready and have 64bit additional repos for those that can run them.
    Anybody could fix the T2 GCC compiler that would be GREAT Glibc and quite a few other packages needed for the cross compiler work however it fails here
    == 16:27:56 =[0]=> Building base/gcc [4.3.4 8.0-trunk].
    /home/tv/t2/t2-trunk/build/sparc-8.0-trunk-generic-sparc-v8-cross-linux/TOOLCHAIN/tools.cross/lib/parse-config: line 8: package/./base/gcc/parse-config: No such file or directory
    -> Reading package config: package/base/gcc/gcc.conf
    -> Preparing build in src.gcc.sparc.20091101.162755.20021.Vectortheta
    -> Building. Writing output to $root/var/adm/logs/0-gcc.out
    *> Corrected ./libtool.m4
    *> Corrected ./libjava/libltdl/ltmain.sh
    *> Corrected ./libjava/classpath/ltmain.sh
    !> checking whether sigaltstack is declared... yes
    !> checking for struct tms... yes
    !> checking for clock_t... yes
    !> checking for .preinit_array/.init_array/.fini_array support... yes
    !> checking if mkdir takes one argument... no
    !> *** Configuration sparcv8-t2-linux-gnu not supported
    !> Due to previous errors, no 0-gcc.log file!
    !> (Try enabling xtrace in the config to track an error inside the build system.)
    -> $root/var/adm/logs/0-gcc.out -> 0-gcc.err
    Last edited by cb88 (2009-11-01 22:37:26)

  • Gui a'la Arch Linux for building/installing/maintaining E17

    Hi!
    I have made a simple GUI in Dialog / bash for maintaining E17 right now it can build e17 and install it, build and upgrade it and last it can just build e17 (not installing/updating)
    anywya, feel free to try it, but be aware that this is the first version so I AM NOT RESPONSIBLE FOR ANY DAMAGE!!!
    please report errors, and I am sorry for any inconvinience this might cause
    UPDATE: BIG BUG KILLED! UPDATE TO 0.0.4
    Update:
    New version is out
    Buggs are squashed, and some new feutures, like if you are root when installing, it restores ownership of files...and new cleaning of directories is working quite well....also more logging, and more correct logging...
    UPDATE
    New version: New feuture is the ability to use Gensync to do your own repo
    Have fun
    download here: http://www.linuxportalen.com/files/e17_ … 0.6.tar.gz
    it includes pkgbuilds, pkg.list file, and the script itself
    UPDATE: New version of the script, does not require editing the code
    although it has not been properly tested, but it should work
    http://www.linuxportalen.com/files/e17_ … 0.7.tar.gz

    Feutures in the next version of the script is:
    Building and installing E17 from PKGBUILDS
    Building and Upgrading E17 from PKGBUILD
    Building E17 from PKGBUILD (and copy all build-files to a specified directory)
    While building and something goes wrong, You may go back, uncheck those packages that you have already made, and skip the one that gone wrong and continue installing/upgrading/building
    Inbuilt fail-checking
    Upcoming feutures, (although not sure how to do all of it yet)
    Uninstalling of E17 (or specifik packages)
    Gensync (make your own repo)
    download here:
    Anyone has any more ideas?http://www.linuxportalen.com/files/e17_ … 0.3.tar.gz

  • UArch - arch linux for embeded and old machines

    Hello all,
    just wanted to post the new web site for uArch it can be found at
    http://code.google.com/p/uarch/
    check it out and let me know what you think..
    zio
    Last edited by zio (2008-03-31 06:21:21)

    zio wrote:There back in place, if your doing an install can you use the pacman.static instructions. Just to verify the instructions are still working, should work. But I haven't tested yet
    Thx for the prompt response , I've tried both methods with the static pacman and the one of my system. But unfortunately both attempts failed because of bad md5sums .
    error: failed to commit transaction (corrupted package)
    file gcc-4.2.1-1-i386-uclibc.pkg.tar.gz was corrupted (bad MD5 checksum)
    file klibc-1.5-1-i386-uclibc.pkg.tar.gz was corrupted (bad MD5 checksum)
    file klibc-udev-116-1-i386-uclibc.pkg.tar.gz was corrupted (bad MD5 checksum)
    file openssl-0.9.8g-1-i386-uclibc.pkg.tar.gz was corrupted (bad MD5 checksum)
    file pciutils-2.2.8-1-i386-uclibc.pkg.tar.gz was corrupted (bad MD5 checksum)
    file sysfsutils-2.1.0-1-i386-uclibc.pkg.tar.gz was corrupted (bad MD5 checksum)
    file vi-7.1.293-1-i386-uclibc.pkg.tar.gz was corrupted (bad MD5 checksum)

  • UArch - arch linux for for old and tiny machines

    Hello everyone,
    I just want to post my the new location for uArch over at google code.
    http://code.google.com/p/uarch/
    check it out and let me know what you think.
    zio

    Don't cross-post.
    Closed.

  • Arch Linux Beginners Guide

    Remembering the days when I installed Arch Linux for the first time I still feel that Arch misses a guide for beginners. I started one at the Wiki. Its intention is to show how you install and configure Arch Linux until you have a fully working desktop system for multimedia and office purpose. I'm still heavily improving it. If you have any suggestions or critics feel free to drop me a note or add the content to the wiki. If you find some spelling or grammar errors do the same or fix them, I'm no native speaker

    iphitus wrote:article is too big. provide links to existing wiki pages and documentation. If things change and you dont know, your article will be broken.
    Sure...but you will have this problem with all wiki pages. If you don't have a maintainer for bigger articles, the whole idea of the wiki won't work well.
    iphitus wrote:For example, change the install documentation to the install guide. Same goes for network, link to existing pages, and if there isnt one, create one.
    I disagree with this one. I personally like the idea of having one basic guide which will led in most cases to a fully working system and does not stop right after the installation, which will leave you with a single prompt. I tried to explain the "basic things" and give links for digging deeper (I may have failed at this, but I tried and will try again).
    Therefore you are right about linking, but as you may have seen I tried to link to existing pages if they exist and give more than just a basic information. As far as I know no install guide for voodoo exists yet.
    What I really don't want to do, is to create just a meta page that only links to other pages, for three reasons:
    * It's annoying to read if you have to follow a link, get back and follow the next link...
    * Because there is no single maintainer for all the sub pages, you can only link to pages that are known stable, otherwise the beginner will be totally lost fast
    * Some of the other pages are way too technically for a beginner, they quickly start with special things for exotic purposes (mainly because experienced people don't like writing about basic things I believe)
    iphitus wrote:Some of it seems a bit overkill too, you give a newbie style how to for tiny things, but completely gloss over even a basic description of what the "daemons line" is. Newbies using this beginners guide learn bugger all, as they just copy from the beginner guide. When things go wrong, they come to the forums rather than use initiative. I guess the installation and configuration acts as a form of natural selection.
    I think we have a different opinion how a wiki works, I always thought you start with something and improve it over time, when questions or suggestions arrive.
    A wiki will get better if more than one people is involved, therefore sharing and discussing at an early point of time is reasonable.
    On the other hand you are absolutely right about the daemons line, which should be explained for a beginner (EDIT: I added a paragraph about daemons a few moments ago).
    But I think differently about the natural selection. I never felt that Arch Linux aims to be an elitist distribution and that an acceptance test is needed if you want to use it...what I have seen from the community so far, Arch seems in fact to be the opposite. I like Arch for being clean, simple and logical constructed, not for being complicated. I'm too old to get     self-confidence just from installing an operating system.
    If users use the forum to ask the same questions again and again, our beginners guide is incomplete and we should fix it.
    iphitus wrote:Things like:
    http://wiki.archlinux.org/index.php/Arc … or_newbies
    and a better FAQ, would be more useful than yet another blow by blow install tutorial that falls out of date in 6 months.
    James
    This may not be representative, but a better FAQ and Jargon for Newbies (damn, I really love this elite attitude ) wouldn't helped him:
    Someone at my blog wrote:Thanks for the guide! I tried installing Arch over Christmas and had the worst time trying to figure that out. So I of course went back to my trusty Gentoo. I always liked Gentoo because even though its an "advanced distro" they provide you with plenty of documentation. Arch on the other hand does not and that really bothered me. But now that I have a Gentoo style guide, I think I'll try it again!
    Don't get me wrong, I really appreciate your criticism because it makes me think twice about some things and will most probably lead to a better guide.

  • Arch Linux 0.7.1 - my feedback

    please read the post before vote
    Well, I've used Arch linux for many months in late 2004 / early 2005 and then I've switched to Ubuntu...
    some days ago I've installed version 0.7.1 and updated it with pacman -Syu
    I've seen a lot of improvement since the last time I used it and I was near to think "ok let's switch back to Arch" until I found I that thing I really hate  :!: is still here..
    You can't install old versions of some packages. For example, kernel.. or.. php (ok there is one in Aur that is maybe "too" old) and mysql..
    in the php/mysql example it's true that version 5 is the latest one but they (at least php) still develope the 4.x version for security and many server still have it and also many scripts supports only php4 and 5.
    also, as I am a php developer, I need to test scripts with old versions.
    but as I said this is just an example. I think that while you can't think to have a big repository of binaries it would be great to be able to install old versions via source.
    and recompiling software by hand using old PKGBUILDS is a problem case you don't have a tool that tells you wich packaged were "aligned" with wich.. I mean.. the new php works only with the mysql5 extension so even if you build mysql by yourself it won't work with php.. and so on for apache..
    anyway.. if a user is able to block a package and prevent the automatic update he should also be able to use the non-latest version of it.
    I know that arch is a bleeding edge distro but this shouldn't mean that you have only the bleeding things. (see gentoo for example)
    Another thing that will help a lot in my opinion is to have in the wiki 2 lists:
    - one very detailed with available daemons and their use.. for example.. ok.. fam is the file alteration monitor.. but why you need it and wich are the main programs that takes advantage from it and what happens if you doesn't run it? and so on for hal, etc. ..
    - one list with all available standard groups that tells user to wich group subscribe in order to be able to performe a specific action
    imho this 2 lists will help the (new) user understand better what is doing and why The arch philosophy of "do it yourself  and learn doing it" is great but have to be encouraged, and in fact there already is a very good documentation.
    Just my 2 cents. And sorry if some one else already said this before; in this case take my post as an underline mark btw.. I'll attach a poll to it.
    bye,
    Giovanni.

    iphitus wrote:To me this thread looks more like "i dont want to make a second package for myself, so let's get the devs to do it".
    hmm.. this sounds a bit offenisve to me. Cause I don't actually need that packages as I'm not using Arch as main distro. This post was meant to give a feedback..
    iphitus wrote:Especially as there isnt a huge demand for such a package, and you are most likely to be one of a very small minority to use that duplicate package.
    ok I agree with this. but from my point of view it is because users that needed it too already switched to another distro..
    and this leads us to this:
    tomk wrote:I voted "No, there is no need", because I think this is simply an indication that Arch is not the right distro for you - it doesn't meet your requirements.
    Imho, the point is that Arch have a lot of great features. The one I'd like to have is a feature that I think will just increase the number of great features Arch already have and will make Arch the right distro for more users. So users that switch to another distro will lose a lot of features that they like to get one or two that they need..
    tomk wrote:This "thing that you really hate" is still there because firstly the Arch devs, and secondly Arch users, have not needed to change it. If you want to work "from within" to change that, with polls like this, feature requests, etc, I wish you the best of luck, but I think your poll result so far should tell you something about the support you can expect.
    the poll was mainly for myself to get an idea of the users opinion not to change the things. And as I said it is not a change from my point of view, but just a new feature. About Arch devs I agree but about users I don't.. how you can say it if you say to me that I should change distro? In this way people that thinks like me will always remain a minority in arch community. And I don't think that having a old version of a "core" package would be against the Arch philosophy.
    tomk wrote:Finally a general point, and this applies to wiki entries as well - you will get a better response if you do something, and then ask "what do you think?" instead of asking "Why doesn't Arch do this?"
    I did it for the software thing with the poll and anyway also for the wiki I didn't wrote it but I thought it was clear.. For the wiki I posted my idea and there was no need for the question "what do you think" cause is a discussion forum Also please keep in mind that I wrote the original post in late night and that I'm italian so my english isn't so good  :oops:
    anyway.. thanks for the tip about subit a feature request and for your answers.
    bye,
    Giovanni.

  • Arch Linux based live gaming distro 'lg-live 0.9.5' released

    Hey all,
    first of all, sorry if this is the wrong subforum to post this in but this one seemed most appropriate.
    I would like to announce the release of live.linuX-gamers 0.9.5, an Arch Linux based live gaming distro. It was made using Archiso and of course a big investment of time. It is going to be officially released on LinuxTag 2009 in Berlin (in three days) but I thought I'd give it to you guys now.
    It is a very specialized distro: It contains lots of popular games, installs proprietary graphics card drivers out-of-the-box and provides you with a nice, clean interface for launching games and a few basic applications.
    I don't want to over-advertise this so I'll just say: Please go ahead and test it if you feel like it, maybe mirror it or seed the torrents a bit, post feedback or thoughts, insult me or threaten me, etc.
    If you want to give it a spin or see which games are on it, go over to http://live.linux-gamers.net and grab yourself an ISO/USB image.
    Thank you, Arch Linux, for making this possible.

    karol wrote:
    capoeira wrote:is there a way to install other games when using a USB-Device?
    This thread is rather old, but yeah, it's possible to remaster this "meta-distro" and add/remove games you like: http://github.com/svenstaro/lglive
    BTW, there's a new release http://live.linux-gamers.net/
    Ohh what a positive surprise to have a girl here,
    yea, i downloaded the DVD this week. I'm no gamer, I gamed in the 90ies on a Amiga 500 last time. But sometimes I get a wich to play a bit, so I found this DVD (I don't want to instal games to my production-distro and don't want to instal Catalyst either for my card)
    I want to play 3d first-person games but those ego-shooters i don't enjoy. Its running around shooting on everything and diying a hundred times. I want something more realistic, so I found penumbra and amnesia and would like to install it with this DVD. (if anyone has tips for realistic 3d-games, action-adventures, etc. I would apreciate tips)
    I will have a look at your link, thanks a lot

  • Arch Linux Installation on Netbook

    Hi,
    I have a netbook Toshiba Satelite T110 and I have been trying to install Arch on it for a week now but to no avail. So I have come to think that may be Arch Linux is not really for netbook as opposed to being for Workstation or Laptops. I really would like to have your opinion on that.
    Kind Regards,
    PS: I have Arch installed in a VM and it works perfectly.
    Last edited by zongo (2010-03-12 12:04:44)

    i use the beginer's guide to set up my arch on my netbook. I chose beginer's guide because I am new to linux. Ubuntu works very well on it. I did try it and test it. I did not want to use to ubuntu because I have never lliked it really. I ran into two problems when installiing Arch. The first was network related. It could not probe my NIC and most of all, the NIC disappeared completely. I could see it while booted from a live cd but once Arch system was launched, it had gone off the grid. I had to reinstall ubuntu to get it working again.  I have no idea what happened. lspci would not show it etc.. The second issue was with my trackpad on my netbook.  Could not have the click at all. I could not resolve those two issues for the life of me so I stopped the install. I posted on couple of forums to try to get an answer but nothing really probing or that i could use. That is why I think it might not have all the hardware support a distro like ubuntu might have. But again, I know so little about linux that may be I am all wrong here.

  • [solved] Arch linux access point with multiple interfaces for the NAT

    Hi, I have a router running Arch linux. It is connected via LAN (let's call it eth0) to the internet. It has a second LAN interface, eth1, and a wireless interface in master mode, wlan0.
    Now, Everything works perfectly except providing network connectivity on eth1 and wlan0 simultaneously. I followed the guide in the "Internet share" wiki article and use dnsmasq/hostapd for the AP. It appears as if all traffic from the router is sent to the wlan0 interface, even if it came in through eth1 (for example, dhcp requests). I cannot really find information how to solve this. The words "bonding" and "iptables" are floating around, but there is not really an easy to understand tutorial for this.
    What do I need to do to use both the eth1 and wlan0 interface (for different clients!) on my router?
    Best regards, and thank you in advance
    Jan Oliver
    /e: This seems to be my problem: http://www.novell.com/support/kb/doc.php?id=7000318 How do I solve this using the usual iptables? (The way described in the article doesn't work: "RTNETLINK answers: No such process" errors.)
    Last edited by janoliver (2013-09-25 22:24:53)

    Or you could bridge eth1 and wlan0, and make dnsmasq bind/listen on that bridge...

  • 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

Maybe you are looking for

  • Training and event management - create new type of attendee

    Hi all, For training and event management, I have to create a new type of attendee besides sap existing attendee type such as company, contact person, customer, external person and so on. Via IMG -> Training and event management -> basic settings ->

  • My external hard drive change to read only

    I have been backing up my vids, pics, etc on my Seagate HDD for the past 2 months with my Macbook Air. All of a suddenly my external HD changed permissions to read only. I understand that this has been a hot topic for some time but I have not found t

  • Blogging with Dreamweaver.

    Okay. I see some people have asked this question before, but everyone who answers seems to give the least helpful answers I've ever seen in any situation in my entire life. So I'm going to be really specific about the question here and really, really

  • Comments required on the MIRO postings

    Hi:          I want forum's comments on the following entry related to AUC asset's MIRO. PR , PO was raised for it and when MIRO was done, system posted the following entry ATLAS COPCO COMPRESSED     778,375.00- Ext Serv Cl AC/Asset     755,690.00 00

  • Since upgrading can not turn on cellular data on iPad 3

    I just upgraded my iPad 3 to the new iOS and cellular data is in off position.  It will not let me move or set it to on.  Has anyone had the same problem?