Php-ncurses no display in arch linux

I have copied the ncurses-php code found here, http://devzone.zend.com/article/1083-Us … ses-in-PHP, and I have saved it as test_ncurses.php. When I run
php test_ncurses.php
it produces a basic ncurses screen in ubuntu, but nothing happens in arch linux.
I checked and found that arch linux did compile php with support for ncurses. Since there is no error shown, I'm not sure what to try next. Does anyone have a suggestion for me so I can start studying ncurses-php with arch?
Last edited by Chris DePauw (2009-03-02 07:06:45)

You can use ABS to get the package and adjust it to build with ncurses support and build it using makepkg.  Read the wiki page about ABS and makepkg.  If this is a useful option to be included for people in general, you could also use the bug tracker to request the official Arch package adds this.

Similar Messages

  • Setting up Display in arch linux

    I have running xen on arch linux and on creation of instances xl create states that Error: Can't open Display .
    xen uses vncserver to export screen of vm.
    I hope somone can point me in right direction s i can setup DISPLAY ?

    I don't have experience with xen, but do you have vncserver installed on the virtual machine? That error looks like it didn't find a port accepting vnc connections on your vm or something.
    It seems that that is the way that it lets you use the vm display. If it isn't installed, try ssh-ing into the vm and installing and setting it up.

  • [SOLVED] Arch Linux won't boot

    Hi,
    I was bad and didn't update my packages often enough, and now my arch installation on a desktop won't boot.
    I've booted off of a usb arch install, mounted all of the appropriate harddrive partitions, and used arch-chroot to switch to the offending hard drive.
    The /boot/syslinux/syslinux.cfg is such:
    # Config file for Syslinux -
    # /boot/syslinux/syslinux.cfg
    # Comboot modules:
    # * menu.c32 - provides a text menu
    # * vesamenu.c32 - provides a graphical menu
    # * chain.c32 - chainload MBRs, partition boot sectors, Windows bootloa
    ders
    # * hdt.c32 - hardware detection tool
    # * reboot.c32 - reboots the system
    # * poweroff.com - shutdown the system
    # To Use: Copy the respective files from /usr/lib/syslinux to /boot/sysli
    nux.
    # If /usr and /boot are on the same file system, symlink the files instea
    d
    # of copying them.
    # If you do not use a menu, a 'boot:' prompt will be shown and the system
    # will boot automatically after 5 seconds.
    # Please review the wiki: https://wiki.archlinux.org/index.php/Syslinux
    # The wiki provides further configuration examples
    DEFAULT arch
    PROMPT 0 # Set to 1 if you always want to display the boot: prompt
    TIMEOUT 50
    # You can create syslinux keymaps with the keytab-lilo tool
    #KBDMAP de.ktl
    # Menu Configuration
    # Either menu.c32 or vesamenu32.c32 must be copied to /boot/syslinux
    UI menu.c32
    #UI vesamenu.c32
    # Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menu
    MENU TITLE Arch Linux
    #MENU BACKGROUND splash.png
    MENU COLOR border 30;44 #40ffffff #a0000000 std
    MENU COLOR title 1;36;44 #9033ccff #a0000000 std
    MENU COLOR sel 7;37;40 #e0ffffff #20ffffff all
    MENU COLOR unsel 37;44 #50ffffff #a0000000 std
    MENU COLOR help 37;40 #c0ffffff #a0000000 std
    MENU COLOR timeout_msg 37;40 #80ffffff #00000000 std
    MENU COLOR timeout 1;37;40 #c0ffffff #00000000 std
    MENU COLOR msg07 37;40 #90ffffff #a0000000 std
    MENU COLOR tabmsg 31;40 #30ffffff #00000000 std
    # boot sections follow
    # TIP: If you want a 1024x768 framebuffer, add "vga=773" to your kernel l
    ine.
    LABEL arch
    MENU LABEL Arch Linux
    LINUX ../vmlinuz-linux
    APPEND root=/dev/md0 ro
    INITRD ../initramfs-linux.img
    LABEL archfallback
    MENU LABEL Arch Linux Fallback
    LINUX ../vmlinuz-linux
    APPEND root=/dev/md0 ro
    INITRD ../initramfs-linux-fallback.img
    #LABEL windows
    # MENU LABEL Windows
    # COM32 chain.c32
    # APPEND hd0 1
    LABEL hdt
    MENU LABEL HDT (Hardware Detection Tool)
    COM32 hdt.c32
    LABEL reboot
    MENU LABEL Reboot
    COM32 reboot.c32
    LABEL off
    MENU LABEL Power Off
    COMBOOT poweroff.com
    and /etc/mdadm.conf is:
    ARRAY /dev/md0 UUID=3830049a:44459d91:3ad800a8:e77f102f
    ARRAY /dev/md1 UUID=a69afb27:1266d0c2:0c8966db:14500cdb
    ARRAY /dev/md2 UUID=20b0675c:2fcca1a5:0882d652:06324bf6
    ARRAY /dev/md3 UUID=3f0343cb:ff7342c9:fe8e73d4:ba6d61b3
    ARRAY /dev/md4 UUID=287c6b6d:8cbd733c:c6e9d285:a2b14814
    ARRAY /dev/md5 UUID=ccd0d21c:8103251b:2c9a32d1:bc6dcc78
    and it looks to me like this agrees with blkid:
    sh-4.3# blkid
    /dev/sda1: UUID="3830049a-4445-9d91-3ad8-00a8e77f102f" UUID_SUB="932acc3b-f7ba-d443-cf76-9d59b663c651" LABEL="archiso:0" TYPE="linux_raid_member" PARTLABEL="Linux RAID" PARTUUID="9574bd41-8133-4c6a-b5b4-981002a41867"
    /dev/sda2: UUID="a69afb27-1266-d0c2-0c89-66db14500cdb" UUID_SUB="e3de7e2c-8153-0c53-ac5d-ffc678deb269" LABEL="archiso:1" TYPE="linux_raid_member" PARTLABEL="Linux RAID" PARTUUID="fc78d66d-53a4-4c99-a29c-b881d19c1e8d"
    /dev/sda3: UUID="20b0675c-2fcc-a1a5-0882-d65206324bf6" UUID_SUB="36f53577-cd9b-0c4e-4223-58123a6b2426" LABEL="archiso:2" TYPE="linux_raid_member" PARTLABEL="Linux RAID" PARTUUID="b7187772-bf01-4517-99a1-d2aa209aa35b"
    /dev/sda4: UUID="3f0343cb-ff73-42c9-fe8e-73d4ba6d61b3" UUID_SUB="e583cdb9-f523-b4ea-01bb-609779ca3efe" LABEL="archiso:3" TYPE="linux_raid_member" PARTLABEL="Linux RAID" PARTUUID="df9fddd2-762b-4eb3-860c-ef79f545fa77"
    /dev/sda5: UUID="287c6b6d-8cbd-733c-c6e9-d285a2b14814" UUID_SUB="ec1c493a-97f0-48e2-1659-068c25b7aa55" LABEL="archiso:4" TYPE="linux_raid_member" PARTLABEL="Linux RAID" PARTUUID="ba388b64-8f6b-4053-a695-14560832735e"
    /dev/sda6: UUID="ccd0d21c-8103-251b-2c9a-32d1bc6dcc78" UUID_SUB="9b53306f-941d-8048-5780-533ada837e11" LABEL="archiso:5" TYPE="linux_raid_member" PARTLABEL="Microsoft basic data" PARTUUID="6325add3-aa39-4fa2-995c-aacf7165097c"
    /dev/sdb1: UUID="3830049a-4445-9d91-3ad8-00a8e77f102f" UUID_SUB="ec3420f6-d21a-5e69-94f8-d81f277079ec" LABEL="archiso:0" TYPE="linux_raid_member" PARTLABEL="Linux RAID" PARTUUID="9574bd41-8133-4c6a-b5b4-981002a41867"
    /dev/sdb2: UUID="a69afb27-1266-d0c2-0c89-66db14500cdb" UUID_SUB="4b1e7230-ffec-0985-1ac7-a69aec27eec2" LABEL="archiso:1" TYPE="linux_raid_member" PARTLABEL="Linux RAID" PARTUUID="fc78d66d-53a4-4c99-a29c-b881d19c1e8d"
    /dev/sdb3: UUID="20b0675c-2fcc-a1a5-0882-d65206324bf6" UUID_SUB="4d1721b6-d87f-00b6-4bd9-45712592b033" LABEL="archiso:2" TYPE="linux_raid_member" PARTLABEL="Linux RAID" PARTUUID="b7187772-bf01-4517-99a1-d2aa209aa35b"
    /dev/sdb4: UUID="3f0343cb-ff73-42c9-fe8e-73d4ba6d61b3" UUID_SUB="085a16ce-1a7c-d79e-eb92-fed6b1b70365" LABEL="archiso:3" TYPE="linux_raid_member" PARTLABEL="Linux RAID" PARTUUID="df9fddd2-762b-4eb3-860c-ef79f545fa77"
    /dev/sdb5: UUID="287c6b6d-8cbd-733c-c6e9-d285a2b14814" UUID_SUB="10857018-548a-9311-178e-7d2b06e25942" LABEL="archiso:4" TYPE="linux_raid_member" PARTLABEL="Linux RAID" PARTUUID="ba388b64-8f6b-4053-a695-14560832735e"
    /dev/sdb6: UUID="ccd0d21c-8103-251b-2c9a-32d1bc6dcc78" UUID_SUB="d577ff9e-a687-f335-7062-f2f629886a58" LABEL="archiso:5" TYPE="linux_raid_member" PARTLABEL="Microsoft basic data" PARTUUID="6325add3-aa39-4fa2-995c-aacf7165097c"
    /dev/sdc1: LABEL="/dev/sdc1" UUID="de2a5dc6-4b22-466f-819a-86dda839c7e6" TYPE="ext4" PARTUUID="c3072e18-01"
    /dev/sdc2: LABEL="/dev/sdc2" UUID="2909b560-e9b9-48cf-a194-7b7c9c38d312" TYPE="ext4" PARTUUID="c3072e18-02"
    /dev/md127: UUID="3f9ddf01-4f7c-4633-844d-82a1781170a5" TYPE="ext4"
    /dev/md126: UUID="7105ac32-610b-4d4b-935b-675edc71ff32" TYPE="ext4"
    /dev/md125: UUID="90cc6dbe-2d0f-422b-8653-965f103b8e8d" TYPE="ext4"
    /dev/md124: UUID="5fd8960f-6017-49c8-bc7e-c972aa0e2f31" TYPE="ext4"
    /dev/md123: UUID="7B9075B74838729A" TYPE="ntfs"
    /dev/md122: UUID="96468ceb-857b-467e-b9c7-2a37e13fde6f" TYPE="ext4"
    and lsblk is:
    sh-4.3# lsblk
    NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    sda 8:0 0 931.5G 0 disk
    |-sda1 8:1 0 1G 0 part
    | `-md126 9:126 0 1024M 0 raid1 /boot
    |-sda2 8:2 0 24G 0 part
    | `-md122 9:122 0 24G 0 raid1 /
    |-sda3 8:3 0 15G 0 part
    | `-md127 9:127 0 15G 0 raid1 /var
    |-sda4 8:4 0 100G 0 part
    | `-md125 9:125 0 100G 0 raid1 /home/j3doucet
    |-sda5 8:5 0 100G 0 part
    | `-md124 9:124 0 100G 0 raid1 /home/c2hollow
    `-sda6 8:6 0 691.5G 0 part
    `-md123 9:123 0 691.4G 0 raid1 /media
    sdb 8:16 0 931.5G 0 disk
    |-sdb1 8:17 0 1G 0 part
    | `-md126 9:126 0 1024M 0 raid1 /boot
    |-sdb2 8:18 0 24G 0 part
    | `-md122 9:122 0 24G 0 raid1 /
    |-sdb3 8:19 0 15G 0 part
    | `-md127 9:127 0 15G 0 raid1 /var
    |-sdb4 8:20 0 100G 0 part
    | `-md125 9:125 0 100G 0 raid1 /home/j3doucet
    |-sdb5 8:21 0 100G 0 part
    | `-md124 9:124 0 100G 0 raid1 /home/c2hollow
    `-sdb6 8:22 0 691.5G 0 part
    `-md123 9:123 0 691.4G 0 raid1 /media
    sdc 8:32 1 58.9G 0 disk
    |-sdc1 8:33 1 19.5G 0 part /etc/resolv.conf
    `-sdc2 8:34 1 39.4G 0 part
    sr0 11:0 1 1024M 0 rom
    Everything looks fine to me, /dev/sda1 is /boot, which has the same UUID as what mdadm has for /dev/md0, which is what syslinux.cfg has been told to boot off of. I'm not sure what to do from here.
    Last edited by c2hollow (2015-01-02 00:43:56)

    It's long that Arch uses rw argument on kernel command line.
    You should correct your syslinux.cfg as follow.
    LABEL arch
    MENU LABEL Arch Linux
    LINUX ../vmlinuz-linux
    APPEND root=LABEL="archiso:1" rw ## <<< Here's the diff
    INITRD ../initramfs-linux.img
    This isn't for the fallback menu entry, you just analyze the differences and do same there.
    I'm not familiar with syslinux, I just suppose you may try to test these options on-the-fly, before write them permanently. So when the syslinux menu will appear at boot time, please find the way to enter in edit mode and apply the correction. That will stay for the time you boot once. But it will ensure if it'll be good enough and do the writing later once you've booted.

  • What is the significance of the "Arch" in Arch Linux?

    Why is this distribution called Arch Linux? What does the "Arch" part mean? Surely there must be a reason, for the developers could have easily named this distribution "Bridge Linux" or "Trapezoid Linux" for that matter.

    MkFly wrote:
    http://web.archive.org/web/200206050619 … rg/faq.php
    [Q]  Why the name Arch Linux?
    [A]  From dictionary.com:
    arch
    adj.
    1. Chief; principal: their arch foe.
    2. Mischievous; roguish: an arch glance.
    I came across the well-known term "arch-enemy" in a book and clued in that "arch" means "the primary", "the principal", the one that comes first among others.  Far from true with regard to Arch Linux perhaps, but I'm proud of it.  Now, the second definition may or may not fit; I guess it depends on how you use your computer. 
    That covers definitions 1 and 3 above. Definition 2 applies in the case of Arch fanboys. Strangely they turn up more often on other forums than here.
    But yeah, I should have added that Judd chose the name with the first adjective definition in mind.

  • Weird Shimmering Display Under Arch and Ubuntu Linux on GT72-QE with GTX 980M

    Just bought one of these laptops to run CUDA applications while on the road and all went smoothly until I installed Linux and then activated X (Gnome/Unity/XFCE).  I first noticed this under Ubuntu 14.04 LTS, and the behavior is the same Ubuntu 14.10 LTS, 12.04 LTS, and even Arch Linux.  In all cases, I used the 346.59 NVIDIA display driver either obtained through the Edgers PPA or manually installed.
    What I'm seeing is  The laptop display shimmering as if the horizontal sync is slightly off.  External displays look fine.
    I've updated the BIOS of the laptop to the 10R version from March and that had no effect.
    Has anyone gotten this thing to work under Linux (any linux distro) with the discrete GPU active?  If so, how?

    Another guy here with the same problem. We have to create a platform of users. We have spent a lot of money on our equipment; we deserve some quality costumer support. The problem is clear and the solution seems straightforward. It would not take a lot to fix our situation, but we need to team up.
    MSI GT72 Dominator GTX 970M with FREEDOS
    Now Dual Booting Windows 8.1 and Ubuntu 15.04
    Nouveau driver is stable, but does not do the job. Nvidia-346 makes the screen flicker. Switching to integrated graphics (through windows) ubuntu runs perfect. I have tried everything during the last weeks.
    I am new to the forum and I have very little time for myself; somebody please take the lead. It wouldn't be the first time I see costumers getting together and achieving support.
    By the way, hi, my name is Álvaro 

  • [GUIDE] How to get MapleStory working in Arch Linux

    MapleStory is a free-of-charge, 2D, side-scrolling massively multiplayer online role-playing game developed by the South Korean company Wizet. Several versions of the game are available for specific countries or regions, and each is published by various companies such as Wizet and Nexon. Although playing the game is free, character appearances and gameplay enhancements can be purchased from the "Cash Shop" using real money. MapleStory has a combined total of over 50 million subscriber accounts in all of its versions. MapleStory North America (Global), for players mainly in North America and outside of East Asia, Southeast Asia and Europe, has over three million players.
    In the game, players travel the "Maple World", defeating monsters and developing their characters' skills and abilities as is typical in role-playing games. Players can interact with others in many ways, such as through chatting, trading, and playing minigames. Groups of players can band together in parties to hunt monsters and share the rewards. Players can also join a guild to interact more easily with each other.
    I am an avid mapler myself, however, I am also an avid archer! For some time, I have wanted to get MapleStory working on Arch Linux in some way, but nothing seemed to work. As you might have guessed by now, recently, while playing around with VirtualBox, I discovered a method to get MapleStory working on it! Though in this method you won't actually have MapleStory running on Arch Linux, you'll have it running on a VirtualBox Windows virtual machine, that is still pretty good compared to other people's experiences.
    I hope there are at least a few maplers on this forum, and if there aren't, I hope that someone will port this post over to other Linux, or even MapleStory, forums. Anyways, let's begin.
    1. Download and install a version of Virtual Box that is version 3.0+. The reason for this is that, only versions 3.0+ support an experimental DirectX Driver with 3D acceleration that is required for MapleStory to run.
    2. Create a Windows Virtual Machine, add a hard disk to it, and install and update Windows on it(preferably Windows XP, as it uses less resources than other contemporary Windows installations).
    3. Once you have done all you needed and wanted on that Windows installation, restart it, boot it into safe mode by holding F8 at the boot, and wait until the desktop is fully loaded.
    4. After you are at the desktop, go to "Devices" at the top of the menu of the Windows virtual machine, and select "Install Guest Additions...". Wait until Guest Additions finishes installing, and when VirtualBox asks you if you want to mount the disk containing the Guest Additions on the virtual machine, say "Yes".
    5. Run the main executable on the disk that doesn't have amd64 or x86 following its name. Follow the instructions it gives you, and when it asks you what components to install, make sure both of the boxes it shows you are checked.
    6. After the install is completed, the virtual machine will restart. After it restarts, shut it down.
    7. Congratulations! You now have DirectX installed on your VirtualBox virtual machine! Now you need to activate the "3D Acceleration", that enables it.
    8. In the VirtualBox main window, make sure you have your machine with Windows selected. Then, click on "Machine", and then "Settings...", at the top. A new window should pop up. On the left hand side, click on the display panel, and in the new settings section, tick Enable 3D Acceleration. Click "OK", to save the settings.
    9. Start your Windows virtual machine, install MapleStory just as you would on a normal windows computer, and run MapleStory.
    Notes: This way of running MapleStory is slower than by running it normally, on a normal windows computer. Also, try to not interact with your Linux desktop while playing MapleStory, because this can cause HackShield to shut down MapleStory, due to the fact that it believes there is a hacking attempt.
    If any of you port this guide to any other place on the web, please, credit me, neovaysburd5.
    For any further questions or inquiries, this goes to all of you, please contact me at [email protected].
    Last edited by neovaysburd5 (2009-08-19 16:51:31)

    Alright, I've posted it in the wiki. I don't know if it meets the Arch Linux wiki standards, so if there is absolutely anything wrong with it, please fix it right away. Don't even ask my permission.
    http://wiki.archlinux.org/index.php/MapleStory

  • [SOLVED] Arch Linux on Macbook - Can't fix Screen Resolution

    I just installed Arch Linux as a dual-boot on my Macbook.  I really like it so far.  However, I came across a problem that is really bothering me.  It may seem simple, but no matter what I try, I only get "1024x768" and "800x600" resolution options.  What I need is "1280x800."  Here is my xorg.conf file right now:
    Section "ServerLayout"
    Identifier "X.org Configured"
    Screen 0 "Screen0" 0 0
    InputDevice "Mouse0" "CorePointer"
    InputDevice "Keyboard0" "CoreKeyboard"
    EndSection
    Section "Files"
    ModulePath "/usr/lib/xorg/modules"
    FontPath "/usr/share/fonts/misc"
    FontPath "/usr/share/fonts/100dpi:unscaled"
    FontPath "/usr/share/fonts/75dpi:unscaled"
    FontPath "/usr/share/fonts/TTF"
    FontPath "/usr/share/fonts/Type1"
    EndSection
    Section "Module"
    Load "glx"
    Load "dri2"
    Load "extmod"
    Load "dbe"
    Load "dri"
    Load "record"
    EndSection
    Section "InputDevice"
    Identifier "Keyboard0"
    Driver "kbd"
    EndSection
    Section "InputDevice"
    Identifier "Mouse0"
    Driver "mouse"
    Option "Protocol" "auto"
    Option "Device" "/dev/input/mice"
    Option "ZAxisMapping" "4 5 6 7"
    EndSection
    Section "Monitor"
    Identifier "Monitor0"
    VendorName "Monitor Vendor"
    ModelName "Monitor Model"
    EndSection
    Section "Device"
    ### Available Driver options are:-
    ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
    ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
    ### [arg]: arg optional
    #Option "ShadowFB" # [<bool>]
    #Option "DefaultRefresh" # [<bool>]
    #Option "ModeSetClearScreen" # [<bool>]
    Identifier "Card0"
    Driver "vesa"
    VendorName "Intel Corporation"
    BoardName "Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller"
    BusID "PCI:0:2:0"
    EndSection
    Section "Screen"
    Identifier "Screen0"
    Device "Card0"
    Monitor "Monitor0"
    SubSection "Display"
    Viewport 0 0
    Modes "1280x800"
    Depth 1
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Modes "1280x800"
    Depth 4
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Modes "1280x800"
    Depth 8
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Modes "1280x800"
    Depth 15
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Modes "1280x800"
    Depth 16
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Modes "1280x800"
    Depth 24
    EndSubSection
    EndSection
    I just followed the instruction on the Arch Linux - Macbook Wiki page, and everything worked perfectly, except the resolution question.  The only thing I added to the file is the 'Modes    "1280x800"' lines.  This is exactly what I've always done with linux, and it has always worked.  So I'm perplexed, and I can't find any solutions that actually work by googling it.  Has anyone else come across this problem, and even more important, does anyone know what is wrong?
    Thanks.
    Last edited by meolson (2009-09-23 04:44:23)

    Ok.  I figured it out.  I found this forum:
    http://bbs.archlinux.org/viewtopic.php?id=56899
    I found it before, but I had done everything, or so I thought.  At the end, he mentions two things that are important to fix the resolution.  I've repeated them here, and adapted them to what I had before:
    pacman -S xf86-video-intel
    edit /etc/X11/xorg.conf, and change video card driver from 'vesa' to 'intel'
    I thought I had installed xf86-video-intel already, but apparently I hadn't.  So, I followed those two steps, and now, it looks so much better!  Thanks to anyone who tried to looked for a solution.

  • [SOLVED]Multiple Problems after a new install on Arch Linux

    Hello all,
    I just finished installing Arch Linux from the core ISO which I downloaded from the site. The install went smoothly and booted up fine. Also I was able to install gnome and its extras fine as well. On the first boot after installing gnome I managed to get my resolution correct also. However later on after I installed compiz fusion everything with the resolution seems to be going wrong . My computer specs are shown below :
    AMD 64 3200
    Asus M2N MX-SE
    2 GB Ram
    Geforce 8600 GT
    Viewsonic VA1918wm (Native resolution is 1440x900)
    At the moment I can only manage to get upto 1024x768 and it looks quite bad at that resolution. I have attached the xorg.conf I have at the moment.
    Section "ServerLayout"
    Identifier "X.org Configured"
    Screen 0 "Screen0" 0 0
    InputDevice "Mouse0" "CorePointer"
    InputDevice "Keyboard0" "CoreKeyboard"
    EndSection
    Section "Files"
    ModulePath "/usr/lib/xorg/modules"
    FontPath "/usr/share/fonts/misc"
    FontPath "/usr/share/fonts/100dpi:unscaled"
    FontPath "/usr/share/fonts/75dpi:unscaled"
    FontPath "/usr/share/fonts/TTF"
    FontPath "/usr/share/fonts/Type1"
    EndSection
    Section "Module"
    Load "dbe"
    Load "record"
    Load "extmod"
    Load "glx"
    Load "dri2"
    Load "dri"
    EndSection
    Section "InputDevice"
    Identifier "Keyboard0"
    Driver "kbd"
    EndSection
    Section "InputDevice"
    Identifier "Mouse0"
    Driver "mouse"
    Option "Protocol" "auto"
    Option "Device" "/dev/input/mice"
    Option "ZAxisMapping" "4 5 6 7"
    EndSection
    Section "Monitor"
    Identifier "Monitor0"
    VendorName "Monitor Vendor"
    ModelName "Monitor Model"
    EndSection
    Section "Device"
    Identifier "Card0"
    Driver "nvidia"
    VendorName "nVidia Corporation"
    BoardName "G84 [GeForce 8600 GT]"
    BusID "PCI:2:0:0"
    EndSection
    Section "Screen"
    Identifier "Screen0"
    Device "Card0"
    Monitor "Monitor0"
    SubSection "Display"
    Viewport 0 0
    Depth 1
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Depth 4
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Depth 8
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Depth 15
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Depth 16
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Depth 24
    EndSubSection
    EndSection
    While I was trying to fix this I noticed I was encountering other problems also. For one I found that sometimes dhcpcd times out on booting up and I cant seemt o connect to the Internet on booting. Although I just thought of trying a static IP and I'll post if that helped later on.
    Another problem is I found that I seem to get the following error randomly. Pressing ctrl + D after this just restarts the machine.
    The superblock could not be read or does not describe a correct ext2
    filesystem. If the device is valid and it really contains an ext2
    filesystem (and not swap or ufs or something else), then the superblock
    is corrupt, and you might try running e2fsck with an alternate superblock:
    e2fsck -b 8193 <device>
    Finally, while I boot up I noticed that it says "Mounting root partition as read only   [DONE]"  Is the root partition supposed ot be mounted as read only ? Attached my fstab just in case it is needed.
    # /etc/fstab: static file system information
    # <file system> <dir> <type> <options> <dump> <pass>
    none /dev/pts devpts defaults 0 0
    none /dev/shm tmpfs defaults 0 0
    #/dev/cdrom /media/cd auto ro,user,noauto,unhide 0 0
    #/dev/dvd /media/dvd auto ro,user,noauto,unhide 0 0
    #/dev/fd0 /media/fl auto user,noauto 0 0
    /dev/sda3 /boot ext3 defaults 0 1
    /dev/sdb1 / ext3 defaults 0 1
    /dev/sdb2 swap swap defaults 0 0
    /dev/sdb3 /home ext3 defaults 0 1
    As you can see I'm quite new to Arch Linux so any help would be deeply appreciated.
    Last edited by FilledVoid (2009-09-11 16:28:28)

    Thank you for all your suggestions . I tried replacing the ID to Card0 but it didnt seem to fix it . However on the bright side I checked more threads on the forum and found some that helped out . :)
    http://bbs.archlinux.org/viewtopic.php?id=75070&p=2
    http://bbs.archlinux.org/viewtopic.php?id=72788
    http://bbs.archlinux.org/viewtopic.php?id=76938
    I copied the xorg.conf file from the third link and just made minor changes to it like removing all the resolutions I didn't need and now its working fine :).
    Now Im just stuck with two problems. One is the following message which appears randomly.
    The superblock could not be read or does not describe a correct ext2
    filesystem. If the device is valid and it really contains an ext2
    filesystem (and not swap or ufs or something else), then the superblock
    is corrupt, and you might try running e2fsck with an alternate superblock:
    e2fsck -b 8193 <device>
    ******************* FILESYSTEM CHECK FAILED *************
    * Please repair manually and reboot. Note that the root *
    * filesystem is currently mounted read-only. To remount *
    * it read-write type: mount -n -o remount,rw / *
    * When you exit the mantenance shel the system will *
    * reboot automatically. *
    A thread about the same can be found http://bbs.archlinux.org/viewtopic.php?pid=295384 but there isn't a solution on it. 
    The second is the intermittent problems with the Network being setup. Sometimes when I boot up it just says dhcpcd timedout and I won't be able to connect . However I can connect on another machine at the same time.
    Took a look at the drive in question with gparted and it shows the below information:
    /dev/sdb1 ext3   /   32.59 GB    4.92 GB   27.68 GB  boot
    By any chance is any of the above information relevant :x ?

  • Progress on Unity under Arch Linux!

    See here for information about the new GNOME 3.12-compatible packages: https://bbs.archlinux.org/viewtopic.php … 3#p1404683
    I'm now on IRC! Come join us at #unityforarch on Freenode
    To install Unity from my repos:
    See the wiki: https://wiki.archlinux.org/index.php/un … mmended.29
    To install Unity from source:
    See the wiki: https://wiki.archlinux.org/index.php/unity#From_source
    -- You probably don't want to read anything below --
    The story
    So...rather than wasting internet bandwith to download a new Ubuntu ISO to test out the new Unity features, I decided to try to make it work under Arch Linux. It took a whole lot longer than I expected to get it even partially working. So, here's my story:
    Knowing that Unity isn't in the main repositories, I went the AUR's website and looked for a user created Unity package. That didn't go too well. The Unity package hasn't been updated for 6 months. D'oh! I decided to download the existing PKGBUILD and modify it to work with the Unity 4.xx series. After changing the version number, I tried to "makepkg" it, and was greeted with a message about installing Compiz 0.9.x. I thought it would be an easy install. It was quite the opposite. Compiz's install prefix was set to /opt/unity, but FindCompiz cmake build file expected Compiz to be in /usr, so none of the Compiz packages, except for compiz-core would compile. Then, I tried reinstalling compiz-core, but this time, changing the prefix to /usr. The compiled package ended up being only a few kilobytes big. I guess the mouse wheel was invented for a reason. I looked at the PKGBUILD again, only to find that there was a line at the very bottom that ran "rm -rf ${pkgdir}/usr". That explains a lot! I ended up adopting all the compiz*-git packages and fixing them so they would compile and install.
    So, now that Compiz is working (restarted and tested just to make sure I didn't waste my time with something that didn't work), I went on to install the rest of the dependencies listed in the Unity PKGBUILD file. That went relatively well. I was so happy after seeing the progress counter go up after running "makepkg", but at about 8%, gcc spat out an error about an undeclared function (sorry, I forgot what the function was). Natually, I went to Google and searched the name of the function. 0 results! Exactly was I was looking for! I ended up downloading the Ubuntu 11.10 Alpha 3 ISO and running "find -type f /usr/lib | xargs objdump -T | grep the_function". The problem lied in the libindicator package. There was a newer version available which contained that function. I have no idea why a package that's only 0.02 versions ahead of the AUR package would contain new functions...
    Next! Utouch...ugh...great memories! Not! I was so glad that I had fixed the utouch packages earlier (for touchegg to work). I was too frustrated from compiz and libindicator to try to compile more stuff.
    Cmake. Whoever created the CMakeLists.txt file didn't list all the dependencies required. So after running "makepkg" 10 billion times, waiting for "somebodydidntputthisincmake.h not found" errors to appear, I finally got all the dependencies I needed installed...or so I thought. After installing and compiling all these dependencies, the cmake only continues 3% further before encountering another cryptic gcc error. This time, there no error about a file not being found. So not knowing what dependency was missing, I headed over to http://packages.ubuntu.com and downloaded the Unity DEB source to find the dependencies in then debian/control file. After install those few dependencies that I missed, I ran "makepkg" again, hoping that it would finally compile successfully. CMake went a little further--5% further to be exact--before running into another error. It complained about DndSourceDragBegin() having two return types. Sure, enough "./plugins/unityshell/src/ResultViewGrid.h" had the return type as boolean and "/usr/include/Nux-1.0/Nux/InputArea.h" had the return type as void. WTF? How the heck does this even compile under 11.10???
    After changing void to bool in "/usr/include/Nux-1.0/Nux/InputArea.h", I ran "makepkg" once again anxiously waiting to the see the line "Finished making: unity 4.10.2". CMake compiled about 35% before running into error about an undeclared gtk function. Nooooooooooooo!!! I wasn't brave enough to install the git version of gtk3, so I created a chroot, installed the base packages, and installed all of those dependencies fairly quickly (it gets a lot easier after doing it so many times).
    Moving on to gtk3. After cloning the ~200MB git repository, autotools spits out an error about cairo-gl missing. So, I proceeded to install the cairo-gl-git package, which failed to compile (it compiled successfully outside of the chroot...). GREAT. So, Unity fails to compile because GTK version is too old, and GTK failed to compile because cairo-gl is missing, and cairo-gl fails to compile because I'm in a chroot. GAHHH!!! While thinking about throwing the computer out of the window, I searched the AUR for other GTK3 packages. I just happened to find a package named "GTK3-UBUNTU"! That package was still at version 3.0, but it was pretty easy to get the patches and source code for 3.1 from the Ubuntu GTK source package.
    So, FINALLY, Unity compiles. I was so darn happy, I didn't even care if it ran or not. I logged out and logged back into the GNOME 3 fallback mode, and entered the chroot. After running "xhost +SI:localuser:chenxiaolong" to run X11 apps in the chroot, I crossed my fingers and ran "DISPLAY=:0.0 unity --replace". It failed with python 3 complaining about missing modules. That's okay, since the Unity launch script is written in python 2. I changed the shebang line in "/usr/bin/unity" to point to python 2 and ran "DISPLAY=:0.0 unity --replace". It didn't necessarily fail, but it didn't succeed either. It didn't print out any error messages. Weird... I thought I'd try enabling Unity from the compiz settings manager then. I ran "DISPLAY=:0.0 compiz --replace" and "DISPLAY=:0.0 ccsm" and enabled the Unity plugin. Unity runs! Although nothing shows on the screen, it runs! It shows up in the process list! Woohoo!
    And that's about how far I got. There were quite a few Vala errors during the compiling process (I forgot which package it was), which is probably why Unity won't appear. I'll try again later with the vala-devel or vala-git package and hopefully Unity will work then. Here are screenshots of what I've gotten working so far:
    http://i.imgur.com/7F1fm.jpg
    http://i.imgur.com/zGNJc.jpg
    http://i.imgur.com/3mCgd.jpg
    By then way, I love the simplicity of pacman and the AUR. I can't imagine how long this would have taken with other package managers.
    Moderator edit:  Do not place large images in line.  If you want, you may embed links to thumbnails inside url tags.
    Last edited by chenxiaolong (2014-04-15 17:11:04)

    City-busz: I'm getting a ton of Vala errors when I compile libunity (AUR version) with vala or vala-devel. libunity fails to compile with vala-git. I'll try your packages in a virtual machine and see how they work on 64 bit.
    In the meantime, Unity still fails to show up: http://i.imgur.com/btPwo.png I'll try out your PKGBUILDS and see how that works. I'm glad there are people who want to port Unity to Arch Linux
    EDIT: City-busz: Just to let you know, Unity will fail to compile at around 45% with GTK 3.0. Here's my source packaage for Ubuntu's GTK 3.1: http://ubuntuone.com/p/1EzX/ It contains all of the patches in the Ubuntu source package. I'm not sure if all the patches are needed, but GTK compiles fine with all of them.
    EDIT2: Right now, I'm trying to compile Vala 0.10.4, then version used in Ubuntu 11.10. Hopefully that will eliminate some of the Vala errors.
    EDIT3: Vala 0.10 is too old. 0.12 and 0.14 are also in the Ubuntu repository. Trying those...
    EDIT4: 0.14 is actually 0.13.1. Gah... Vala takes longer to compile under VirtualBox than GTK3...
    EDIT5: Okay...so VirtualBox "helpfully" became slow enough that I could read the error messages. The Vala error messages aren't actually error messages, but rather warnings about unused methods. I wonder what prevents Unity from running then...
    Last edited by chenxiaolong (2011-08-30 02:30:29)

  • 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

  • Arch Linux Gallery

    I am proud to present the re-opening of the new Arch Linux Gallery!
    The Arch Linux Gallery is a site dedicated to screenshots of (guess what?) Arch Linux. It is meant to be a repository for screenshots, configs, artistic creations, and anything else Arch Linux-related.
    When registering, zenphoto will provide you with your own personal album to which you can upload images and configs.
    The only caveat is that, for now, it only supports .txt for text objects. So when uploading configs, they should be of .txt extension. Extensions need to be added, and I'm not sure of all the extensions that will need to be added, so if you want to request an extension to be added please post here and let me know.
    Gallery searching, ie. filtering for only Openbox, is tag-driven, so make sure to tag photos with relevant information. Once some content starts being uploaded I can begin to create some dynamic albums of common content. I also plan to have a dynamic album for each month (like the screenshot threads) but I still need to figure out how to make that possible.
    Special thanks to dennizjov who provided the server and domain, Ghost1227 for the wonderful logo, and the zenphoto devs, an amazing piece of software found over at http://www.zenphoto.org/
    Here's the link, and have fun!
    http://www.archlinuxgallery.com/
    Last edited by kagutsuchi713 (2009-10-24 00:47:38)

    Is nothing being displayed my fault or the site's fault?
    I go to gallery, and it lists some names with question mark looking graphics beside them.  Then I click the name, and it comes to a page that looks like I should be expecting to see a picture but has nothing.
    Oh, and if I click archive after clicking a name, I see:
    Notice: Undefined variable: typeGallery in /home/web29205/domains/archlinuxgallery.com/public_html/themes/arch/archive.php on line 14
    Either way though, thanks for picking this up and running with it.  It looks like a great idea!

  • Kalu: Keeping Arch Linux Up-to-date

    Hi all,
    Yes, there are already a few “update notifier” out there, but I couldn’t find one that would fit my needs (granted I didn’t search too hard, I was also interested in making my own as a fun exercice…) so I decided to make a new one.
    kalu (which could stand for “Keeping Arch Linux Up-to-date”) is a small application that will add an icon to your systray and sit there, regularly checking if there’s anything new for you to upgrade. As soon as it finds something, it’ll show a notification to let you know about it. (In other words, revolutionary. )
    What kalu can check for:
    - updated packages (A word about this: kalu does not sync your "actual" databases, to avoid potential problems, but instead uses temporary copies of the dbs.)
    - updated watched packages (i.e. packages not installed, but for which you still wanna know when there's an update)
    - updated AUR packages
    - updated watched AUR packages (same as watched ones, but for AUR packages. Who would've guessed?)
    - news (from archlinux.org)
    (on its tooltip, kalu can also report how many (if any) dbs can be synced)
    When system/AUR upgrades are available, notifications can include a button to start the system/AUR upgrades. You can specify the command line to be executed when the button is clicked.
    And for the fun of it, it comes with an integrated "system updater," to do what `pacman -Syu` does but in a GTK GUI. Because why not? Also, I wanted one. :-)
    The system updater can also execute one (or more) command lines of your choice after a successfull upgrade, and you can use a variable ($PACKAGES) to be replaced by the list of upgraded packages. (Note that the list actually is of all packages involved in the sysupgrade, i.e. also those removed or added, e.g. when a package is replaced by another one.)
    If you don't like it/the idea of a graphical system updater, and not using it isn't enough, you can use configure option --disable-updater and turn kalu into a notifier only.
    From v1.1.0 onwards, two command line options - --manual-checks (-m) and --auto-checks (-a) - allow to run manual/auto checks from command line. No GUI will be used at all, everything gets printed on stderr/stdout (using the same templates as for notifications).
    This can be done without the need for a DISPLAY/running X server (i.e. no GTK init performed), thus works from a tty or through SSH. This can also be useful to use kalu from scripts.
    Alongside those options is a configure option (--disable-gui) to make kalu a small CLI-only binary (i.e. no dependency to GTK nor libnotify), which could be useful on GUIless box (e.g. servers), where kalu can then still be used to check for upgrades, watched packages, etc
    With v1.2.0 it is now possible to have kalu re-show the last notifications. So if you missed them or forgot what it was about, one click will re-show all notifications instantly without the need to ran the checks again. And, somewhat similarly to what happens after a system upgrade using kalu's updater, you can now use variable $PACKAGES on the command line to perform AUR updates. Can be useful to start some helper/script to handle the update of those packages automatically for you.
    Also note that kalu's source code (and issue tracker) has been moved to a git repo (was mercurial before), and is now hosted on github.
    Thanks to Painless Rob for his great icons.
    Links:
    - Slightly more verbose description
    - Source code
    - PKGBUILD in the AUR
    - Complete changelog
    Hopefully someone may find it useful.
    Cheers,
    -jacky
    Edit: Added info about recent changes/additions to latest version.
    Last edited by jjacky (2012-09-15 11:37:49)

    OK - a quick report.
    The news does not appear to have a 'mark read' button.
    Here is the debug;
    [neil@arch ~]$ sudo kalu --debug
    [08:34:02] debug mode enabled
    [08:34:02] config: attempting to read file /root/.config/kalu/kalu.conf
    [08:34:02] config: finished parsing /root/.config/kalu/kalu.conf
    [08:34:02] config: attempting to read file /root/.config/kalu/watched.conf
    [08:34:02] config: finished parsing /root/.config/kalu/watched.conf
    [08:34:02] config: attempting to read file /root/.config/kalu/watched-aur.conf
    [08:34:02] config: finished parsing /root/.config/kalu/watched-aur.conf
    [08:34:02] config: attempting to read file /root/.config/kalu/news.conf
    [08:34:02] config: finished parsing /root/.config/kalu/news.conf
    [08:34:04] downloading http://www.archlinux.org/feeds/news/
    [08:34:05] downloaded 12335 bytes
    [08:34:05] -> Minimum kernel requirement 2.6.32
    [08:34:05] -> libpng/libtiff rebuilds move from [testing]
    [08:34:05] -> Arch Linux @ FOSDEM 2012
    [08:34:05] -> kmod replaces module-init-tools
    [08:34:05] -> pacman 4 moves to [core]
    [08:34:05] -> Users of unofficial kernels must enable devtmpfs support
    [08:34:05] -> filesystem upgrade - manual intervention required
    [08:34:05] -> wiki and bbs downtime
    [08:34:05] -> initscripts update - manual intervention required
    [08:34:05] -> Hostname utility moved from net-tools to inetutils
    [08:34:05] parsing pacman.conf (/etc/pacman.conf) for options
    [08:34:05] config: attempting to read file /etc/pacman.conf
    [08:34:05] config: new section 'options'
    [08:34:05] config: SyncFirst: pacman
    [08:34:05] config: arch: x86_64
    [08:34:05] config: checkspace
    [08:34:05] config: SigLevel: Never
    [08:34:05] config: new section 'core'
    [08:34:05] config file /etc/pacman.conf, line 82: including /etc/pacman.d/mirrorlist
    [08:34:05] config: attempting to read file /etc/pacman.d/mirrorlist
    [08:34:05] config: finished parsing /etc/pacman.d/mirrorlist
    [08:34:05] config: new section 'extra'
    [08:34:05] config file /etc/pacman.conf, line 86: including /etc/pacman.d/mirrorlist
    [08:34:05] config: attempting to read file /etc/pacman.d/mirrorlist
    [08:34:05] config: finished parsing /etc/pacman.d/mirrorlist
    [08:34:05] config: new section 'community'
    [08:34:05] config file /etc/pacman.conf, line 94: including /etc/pacman.d/mirrorlist
    [08:34:05] config: attempting to read file /etc/pacman.d/mirrorlist
    [08:34:05] config: finished parsing /etc/pacman.d/mirrorlist
    [08:34:05] config: new section 'multilib'
    [08:34:05] config file /etc/pacman.conf, line 105: including /etc/pacman.d/mirrorlist
    [08:34:05] config: attempting to read file /etc/pacman.d/mirrorlist
    [08:34:05] config: finished parsing /etc/pacman.d/mirrorlist
    [08:34:05] config: new section 'archlinuxfr'
    [08:34:05] config: finished parsing /etc/pacman.conf
    [08:34:05] setting up libalpm
    [08:34:05] creating local db
    [08:34:05] created tmp folder /tmp/kalu-YB259V
    [08:34:05] created symlink /tmp/kalu-YB259V/local
    [08:34:05] created folder /tmp/kalu-YB259V/sync
    [08:34:05] copying /var/lib/pacman/sync/multilib.db to /tmp/kalu-YB259V/sync/multilib.db
    [08:34:05] ..done
    [08:34:05] updated time for /tmp/kalu-YB259V/sync/multilib.db
    [08:34:05] copying /var/lib/pacman/sync/archlinuxfr.db to /tmp/kalu-YB259V/sync/archlinuxfr.db
    [08:34:05] ..done
    [08:34:05] updated time for /tmp/kalu-YB259V/sync/archlinuxfr.db
    [08:34:05] copying /var/lib/pacman/sync/extra.db to /tmp/kalu-YB259V/sync/extra.db
    [08:34:05] ..done
    [08:34:05] updated time for /tmp/kalu-YB259V/sync/extra.db
    [08:34:05] copying /var/lib/pacman/sync/community.db to /tmp/kalu-YB259V/sync/community.db
    [08:34:05] ..done
    [08:34:05] updated time for /tmp/kalu-YB259V/sync/community.db
    [08:34:05] copying /var/lib/pacman/sync/core.db to /tmp/kalu-YB259V/sync/core.db
    [08:34:05] ..done
    [08:34:05] updated time for /tmp/kalu-YB259V/sync/core.db
    [08:34:05] register core
    [08:34:05] add server http://mir1.archlinux.fr/archlinux/core/os/x86_64 into core
    [08:34:05] add server http://archlinux.mirror.dkm.cz/pub/archlinux/core/os/x86_64 into core
    [08:34:05] add server http://archlinux.mirror.kangaroot.net/core/os/x86_64 into core
    [08:34:05] add server http://ftp.uni-kl.de/pub/linux/archlinux/core/os/x86_64 into core
    [08:34:05] add server http://archlinux.mirror.root.lu/core/os/x86_64 into core
    [08:34:05] add server http://ftp.halifax.rwth-aachen.de/archlinux/core/os/x86_64 into core
    [08:34:05] register extra
    [08:34:05] add server http://mir1.archlinux.fr/archlinux/extra/os/x86_64 into extra
    [08:34:05] add server http://archlinux.mirror.dkm.cz/pub/archlinux/extra/os/x86_64 into extra
    [08:34:05] add server http://archlinux.mirror.kangaroot.net/extra/os/x86_64 into extra
    [08:34:05] add server http://ftp.uni-kl.de/pub/linux/archlinux/extra/os/x86_64 into extra
    [08:34:05] add server http://archlinux.mirror.root.lu/extra/os/x86_64 into extra
    [08:34:05] add server http://ftp.halifax.rwth-aachen.de/archlinux/extra/os/x86_64 into extra
    [08:34:05] register community
    [08:34:05] add server http://mir1.archlinux.fr/archlinux/community/os/x86_64 into community
    [08:34:05] add server http://archlinux.mirror.dkm.cz/pub/archlinux/community/os/x86_64 into community
    [08:34:05] add server http://archlinux.mirror.kangaroot.net/community/os/x86_64 into community
    [08:34:05] add server http://ftp.uni-kl.de/pub/linux/archlinux/community/os/x86_64 into community
    [08:34:05] add server http://archlinux.mirror.root.lu/community/os/x86_64 into community
    [08:34:05] add server http://ftp.halifax.rwth-aachen.de/archlinux/community/os/x86_64 into community
    [08:34:05] register multilib
    [08:34:05] add server http://mir1.archlinux.fr/archlinux/multilib/os/x86_64 into multilib
    [08:34:05] add server http://archlinux.mirror.dkm.cz/pub/archlinux/multilib/os/x86_64 into multilib
    [08:34:05] add server http://archlinux.mirror.kangaroot.net/multilib/os/x86_64 into multilib
    [08:34:05] add server http://ftp.uni-kl.de/pub/linux/archlinux/multilib/os/x86_64 into multilib
    [08:34:05] add server http://archlinux.mirror.root.lu/multilib/os/x86_64 into multilib
    [08:34:05] add server http://ftp.halifax.rwth-aachen.de/archlinux/multilib/os/x86_64 into multilib
    [08:34:05] register archlinuxfr
    [08:34:05] add server http://repo.archlinux.fr/x86_64 into archlinuxfr
    [08:34:05] core was updated
    [08:34:07] extra was updated
    [08:34:09] community was updated
    [08:34:09] multilib was updated
    [08:34:10] archlinuxfr was updated
    [08:34:10] -> gdome2 0.8.1-3 -> 0.8.1-4 [dl=106416; ins=942080]
    [08:34:10] -> gsm 1.0.13-6 -> 1.0.13-7 [dl=33196; ins=163840]
    [08:34:10] -> libcdaudio 0.99.12-5 -> 0.99.12-6 [dl=51152; ins=266240]
    [08:34:10] -> libgme 0.6.0-1 -> 0.6.0-2 [dl=117552; ins=348160]
    [08:34:10] -> libid3tag 0.15.1b-6 -> 0.15.1b-7 [dl=42820; ins=307200]
    [08:34:10] -> libieee1284 0.2.11-3 -> 0.2.11-4 [dl=62344; ins=421888]
    [08:34:10] -> libirman 0.4.5-2 -> 0.4.5-3 [dl=12576; ins=69632]
    [08:34:10] -> libmodplug 0.8.8.3-1 -> 0.8.8.4-1 [dl=150248; ins=409600]
    [08:34:10] -> libofa 0.9.3-3 -> 0.9.3-4 [dl=57572; ins=327680]
    [08:34:10] -> libwpg 0.2.0-1 -> 0.2.1-1 [dl=100924; ins=610304]
    [08:34:10] -> libzip 0.10-1 -> 0.10-2 [dl=108000; ins=503808]
    [08:34:10] -> lsb-release 1.4-10 -> 1.4-11 [dl=6204; ins=53248]
    [08:34:10] -> menu-cache 0.3.2-1 -> 0.3.2-2 [dl=47280; ins=188416]
    [08:34:10] -> neon 0.29.6-2 -> 0.29.6-3 [dl=182224; ins=1282048]
    [08:34:10] -> openbox 3.5.0-4 -> 3.5.0-5 [dl=324440; ins=2306048]
    [08:34:10] -> p11-kit 0.9-1 -> 0.11-1 [dl=61216; ins=438272]
    [08:34:10] -> perl-encode-locale 1.02-1 -> 1.03-1 [dl=9544; ins=53248]
    [08:34:10] -> perl-error 0.17016-2 -> 0.17017-1 [dl=17860; ins=77824]
    [08:34:10] -> perl-http-date 6.00-1 -> 6.01-1 [dl=8252; ins=49152]
    [08:34:10] -> perl-file-listing 6.03-1 -> 6.04-1 [dl=7300; ins=49152]
    [08:34:10] -> perl-html-tagset 3.20-2 -> 3.20-3 [dl=9916; ins=57344]
    [08:34:10] -> perl-http-message 6.02-1 -> 6.03-1 [dl=70156; ins=229376]
    [08:34:10] -> perl-http-cookies 6.00-1 -> 6.01-1 [dl=19828; ins=90112]
    [08:34:10] -> perl-http-negotiate 6.00-1 -> 6.01-1 [dl=11104; ins=57344]
    [08:34:10] -> sudo 1.8.3.p2-2 -> 1.8.4-1 [dl=519196; ins=2236416]
    [08:34:10] -> taglib 1.7-3 -> 1.7-4 [dl=231812; ins=1265664]
    [08:34:10] -> tint2 0.11-4 -> 0.11-5 [dl=89756; ins=417792]
    [08:34:10] -> vlc 1.1.13-6 -> 2.0.0-1 [dl=6922380; ins=36552704]
    [08:34:10] looking for AUR updates
    [08:34:10] downloading http://aur.archlinux.org/rpc.php?type=multiinfo&arg[]=alan-bzr&arg[]=archey&arg[]=archlinux-lxdm-theme&arg[]=conky-lua&arg[]=exaile&arg[]=gnome-menus2&arg[]=graveman&arg[]=gtk-engines-clearlooks-colors&arg[]=i2c-tools&arg[]=kalu&arg[]=openbox-menu&arg[]=pacmanxg4-bin&arg[]=python-xrandr&arg[]=read-edid&arg[]=readahead-fedora&arg[]=toluapp&arg[]=wicked-git&arg[]=wmfs-git&arg[]=xdg-su&arg[]=yapan
    [08:34:10] downloaded 7730 bytes
    [08:34:10] parsing json
    [08:34:10] got 20 results
    [08:34:10] pacmanxg4-bin 4.7-2 -> 4.8-1
    [08:34:10] -> pacmanxg4-bin 4.7-2 -> 4.8-1 [dl=0; ins=0]
    [08:34:10] removing /tmp/kalu-YB259V/sync/archlinuxfr.db success (0)
    [08:34:10] removing /tmp/kalu-YB259V/sync/multilib.db success (0)
    [08:34:10] removing /tmp/kalu-YB259V/sync/community.db success (0)
    [08:34:10] removing /tmp/kalu-YB259V/sync/extra.db success (0)
    [08:34:10] removing /tmp/kalu-YB259V/sync/core.db success (0)
    [08:34:10] removing /tmp/kalu-YB259V/sync success (0)
    [08:34:10] removing /tmp/kalu-YB259V/local success (0)
    [08:34:10] removing /tmp/kalu-YB259V success (0)
    [08:34:18] config: attempting to read file /etc/pacman.conf
    [08:34:18] config: new section 'options'
    [08:34:18] config: SyncFirst: pacman
    [08:34:18] config: arch: x86_64
    [08:34:18] config: checkspace
    [08:34:18] config: SigLevel: Never
    [08:34:18] config: new section 'core'
    [08:34:18] config file /etc/pacman.conf, line 82: including /etc/pacman.d/mirrorlist
    [08:34:18] config: attempting to read file /etc/pacman.d/mirrorlist
    [08:34:18] config: finished parsing /etc/pacman.d/mirrorlist
    [08:34:18] config: new section 'extra'
    [08:34:18] config file /etc/pacman.conf, line 86: including /etc/pacman.d/mirrorlist
    [08:34:18] config: attempting to read file /etc/pacman.d/mirrorlist
    [08:34:18] config: finished parsing /etc/pacman.d/mirrorlist
    [08:34:18] config: new section 'community'
    [08:34:18] config file /etc/pacman.conf, line 94: including /etc/pacman.d/mirrorlist
    [08:34:18] config: attempting to read file /etc/pacman.d/mirrorlist
    [08:34:18] config: finished parsing /etc/pacman.d/mirrorlist
    [08:34:18] config: new section 'multilib'
    [08:34:18] config file /etc/pacman.conf, line 105: including /etc/pacman.d/mirrorlist
    [08:34:18] config: attempting to read file /etc/pacman.d/mirrorlist
    [08:34:18] config: finished parsing /etc/pacman.d/mirrorlist
    [08:34:18] config: new section 'archlinuxfr'
    [08:34:18] config: finished parsing /etc/pacman.conf
    [08:34:18] [kalu-updater] sender is :1.16 -- client is (null)
    [08:34:18] [kalu-updater] client is :1.16
    [08:34:18] MethodFinished for method Init
    [08:34:18] [kalu-updater] sender is :1.16 -- client is :1.16
    [08:34:18] [kalu-updater] getting alpm params
    [08:34:18] [kalu-updater] init alpm
    [08:34:18] MethodFinished for method InitAlpm
    [08:34:18] [kalu-updater] sender is :1.16 -- client is :1.16
    [08:34:18] [kalu-updater] add server http://mir1.archlinux.fr/archlinux/core/os/x86_64 into core
    [08:34:18] [kalu-updater] add server http://archlinux.mirror.dkm.cz/pub/archlinux/core/os/x86_64 into core
    [08:34:18] [kalu-updater] add server http://archlinux.mirror.kangaroot.net/core/os/x86_64 into core
    [08:34:18] [kalu-updater] add server http://ftp.uni-kl.de/pub/linux/archlinux/core/os/x86_64 into core
    [08:34:18] [kalu-updater] add server http://archlinux.mirror.root.lu/core/os/x86_64 into core
    [08:34:18] [kalu-updater] add server http://ftp.halifax.rwth-aachen.de/archlinux/core/os/x86_64 into core
    [08:34:18] MethodFinished for method AddDb
    [08:34:18] [kalu-updater] sender is :1.16 -- client is :1.16
    [08:34:18] [kalu-updater] add server http://mir1.archlinux.fr/archlinux/extra/os/x86_64 into extra
    [08:34:18] [kalu-updater] add server http://archlinux.mirror.dkm.cz/pub/archlinux/extra/os/x86_64 into extra
    [08:34:18] [kalu-updater] add server http://archlinux.mirror.kangaroot.net/extra/os/x86_64 into extra
    [08:34:18] [kalu-updater] add server http://ftp.uni-kl.de/pub/linux/archlinux/extra/os/x86_64 into extra
    [08:34:18] [kalu-updater] add server http://archlinux.mirror.root.lu/extra/os/x86_64 into extra
    [08:34:18] [kalu-updater] add server http://ftp.halifax.rwth-aachen.de/archlinux/extra/os/x86_64 into extra
    [08:34:18] MethodFinished for method AddDb
    [08:34:18] [kalu-updater] sender is :1.16 -- client is :1.16
    [08:34:18] [kalu-updater] add server http://mir1.archlinux.fr/archlinux/community/os/x86_64 into community
    [08:34:18] [kalu-updater] add server http://archlinux.mirror.dkm.cz/pub/archlinux/community/os/x86_64 into community
    [08:34:18] [kalu-updater] add server http://archlinux.mirror.kangaroot.net/community/os/x86_64 into community
    [08:34:18] [kalu-updater] add server http://ftp.uni-kl.de/pub/linux/archlinux/community/os/x86_64 into community
    [08:34:18] [kalu-updater] add server http://archlinux.mirror.root.lu/community/os/x86_64 into community
    [08:34:18] [kalu-updater] add server http://ftp.halifax.rwth-aachen.de/archlinux/community/os/x86_64 into community
    [08:34:18] MethodFinished for method AddDb
    [08:34:18] [kalu-updater] sender is :1.16 -- client is :1.16
    [08:34:18] [kalu-updater] add server http://mir1.archlinux.fr/archlinux/multilib/os/x86_64 into multilib
    [08:34:18] [kalu-updater] add server http://archlinux.mirror.dkm.cz/pub/archlinux/multilib/os/x86_64 into multilib
    [08:34:18] [kalu-updater] add server http://archlinux.mirror.kangaroot.net/multilib/os/x86_64 into multilib
    [08:34:18] [kalu-updater] add server http://ftp.uni-kl.de/pub/linux/archlinux/multilib/os/x86_64 into multilib
    [08:34:18] [kalu-updater] add server http://archlinux.mirror.root.lu/multilib/os/x86_64 into multilib
    [08:34:18] [kalu-updater] add server http://ftp.halifax.rwth-aachen.de/archlinux/multilib/os/x86_64 into multilib
    [08:34:18] MethodFinished for method AddDb
    [08:34:18] [kalu-updater] sender is :1.16 -- client is :1.16
    [08:34:18] [kalu-updater] add server http://repo.archlinux.fr/x86_64 into archlinuxfr
    [08:34:18] MethodFinished for method AddDb
    [08:34:18] [kalu-updater] sender is :1.16 -- client is :1.16
    [08:34:22] MethodFinished for method SyncDbs
    [08:34:22] [kalu-updater] sender is :1.16 -- client is :1.16
    [08:34:27] [kalu-updater] sender is :1.16 -- client is :1.16
    [08:34:47] MethodFinished for method SysUpgrade
    [08:35:26] downloading http://www.archlinux.org/feeds/news/
    [08:35:27] downloaded 12335 bytes
    I still have '1 AUR packages updated' on the mouseover...

  • X server won't start (Arch Linux installed on USB key)

    Hi,
    I installed Arch Linux on a USB key (see the original thread: https://bbs.archlinux.org/viewtopic.php?id=185441).
    The problem is that X doesn't start on all machines.
    When starting the system on a machine with NVIDIA GTX 560Ti graphics card:
    - X doesn't start using startx or xinit and there are no log entries in /var/log/Xorg.*.log (as I haven't tried to start X).
    - I'm getting the message "Waiting for X server to begin accepting connections .. .. .. ..".
    - Additionally: The "default terminals tty1/2/3/..." (which I'm using to start X) from have a poor resolution (I think 640x480 pixel).
    When starting the system on a virtual machine or a machine with an ATI Radeon (mobile) graphics card:
    - X starts and runs without any trouble the XFCE desktop environment.
    - Additionally: The default terminals have a proper resolution (I think the maximal resolution of the display).
    What happens if you uninstall nvidia and use nouveau?
    I installed all video drivers recommended here: https://wiki.archlinux.org/index.php/In … eo_drivers
    So I was using nouveau in the first place. I already tried to uninstall the open source driver (xf86-video-nouveau, nouveau-dri) to use the default driver (I think this is xf86-video-vesa) with no effect.
    The poor tty resolution is to be expected if the closed-source nvidia drivers are installed, because they don't support KMS.
    I have never tried to install the proprietary driver (and actually don't want to use the proprietary driver).
    Also have you looked in /etc/X11 ?
    Yes. I don't think that my configuration contains anything preventing X from starting using the NVIDIA graphics card (but I'm not sure what to look for).
    I'm starting X using "startx" or "xinit -- :0 -nolisten tcp vt$XDG_VTNR". Here's my ~/.xinitrc:
    if [ -d /etc/X11/xinit/xinitrc.d ]; then
    for f in /etc/X11/xinit/xinitrc.d/*; do
    [ -x "$f" ] && . "$f"
    done
    unset f
    fi
    exec startxfce4
    Last edited by The Infinity (2014-08-14 21:17:41)

    I figured out where the problem comes from. It is actually the screen (which has a resolution of 1920x1080 pixel). When using a screen (with a smaller resolution) I'm getting a decent resolution in the terminal and - more imporant -  X starts and seems to use the Nouveau driver (which I have installed again). When plugging my normal screen again (while X is running) I'm able to use this screen with the maximum resolution without problems (so only starting with this screen does not work). Now I have a reference point to fix the problem.
    The other thread might be interesting as well.
    Last edited by The Infinity (2014-08-17 02:36:57)

  • [SOLVED] Arch Linux on encrypted luks partition on USB key

    Hi
    I've installed Arch Linux on a USB key following this Wiki page: https://wiki.archlinux.org/index.php/In … _a_USB_key
    I also used dm-crypt as described in this Wiki page: https://wiki.archlinux.de/title/Festpla … iante_1.29
    I installed Arch Linux on the USB key using VirtualBox.
    To do that, I created a "rawvmdk":
    vboxmanage internalcommands createrawvmdk -filename ./usb.vmdk -rawdisk /dev/sdd
    Everything works fine when I'm trying to start the system within VirtualBox.
    Syslinux loads Arch using the following kernel command:
    APPEND cryptdevice=UUID=6aa73872-3755-4bdf-bee3-d1cd7a3fe0bf:main root=/dev/mapper/main-root rw
    /etc/mkinitcpio.conf holds the following "HOOKS" configuration:
    HOOKS="base udev autodetect modconf block keyboard keymap encrypt lvm2 filesystems fsch resume"
    As already mentioned the configuration works within VirtualBox. When I'm trying to boot from the USB key on my real computer, I'm getting an error. Syslinux works fine and loads Linux, but Linux is complaining. Here's the log:
    :: running hoock [encrypt]
    Waiting 10 seconds for device /dev/disk/by-uuid/6aa73872-3755-4bdf-bee3-d1cd7a3fe0bf ...
    ERROR: device '/dev/mapper/main-root' not found. Skipping fschk.
    ERROR: Unable to find root device '/dev/mapper/main-root'.
    You are being dropped to a recovery shell
    I'm not getting prompted for the passphrase since the cryptdevice can not be found. But why? It can be found when I'm booting within VirtualBox. What might be different? I successfully installed other Linux distributions (but without encryption and using GRUB as bootloader) previously within VirtualBox and was able to boot from the USB key on a real machine afterwards.
    Some additional information that might help:
    Here's the "lsblk -f output" for the stick:
    sdd
    ├─sdd1 ext4 usbboot bb45e84e-842e-4209-8c44-1af3c7933389
    └─sdd2 crypto_L 6aa73872-3755-4bdf-bee3-d1cd7a3fe0bf
    When I'm running "lsblk" or "blkid" from the recovery shell after the failure, I'm getting no output. "ls /dev/sd*" returns nothing as well. The directory /dev/disk does not even exists in the recovery shell. (I'm not sure if this is normal or not.)
    Thanks for helping.
    Last edited by The Infinity (2014-08-14 20:26:06)

    I still haven't solved the problem:
    When starting the system on a machine with NVIDIA GTX 560Ti graphics card:
    - X doesn't start using startx or xinit and there are no log entries in /var/log/Xorg.*.log (as I haven't tried to start X).
    - I'm getting the message "Waiting for X server to begin accepting connections .. .. .. ..".
    - I already tried to uninstall xf86-video-nouveau and nouveau-dri with no effect.
    - Additionally: The "default terminals tty1/2/3/..." (which I'm using to start X) from have a poor resolution (I think 640x480 pixel).
    When starting the system on a virtual machine or a machine with an ATI Radeon (mobile) graphics card:
    - X starts and runs without any trouble the XFCE desktop environment.
    - Additionally: The default terminals have a proper resolution (I think the maximal resolution of the display).

  • How to install cinnamon after arch linux core was installed?

    Hi,
    Does anyone know how to install cinnamon desktop environment after arch linux core was installed? It can access internet but no desktop environment now. So how to install and configure cinnamon on arch linux via command?
    Many thanks!

    after arch linux core was installed
    So you finished installing the basesystem or also bootloader, graphics and so on? (https://wiki.archlinux.org/index.php/Beginners'_Guide)
    If you finished installing with the Beginners Guide you need to install the cinnamon package (pacman -S cinnamon). After you installed cinnamon you need a display manager - e.g. lxdm (You can use another one, here's an overview: https://wiki.archlinux.org/index.php/Display_Manager). If you want to use lxdm with cinnamon you have to install the lxdm package (pacman -S lxdm) and enable it afterwards (systemctl enable lxdm.service). If you've done with this just restart, you should see the graphical display manager you installed. If there's a dropdownmenu or something like that (e.g. when you use gdm instead of lxdm) choose cinnamon as display environment and login.
    More informations can be found in the wiki:
    Display Manager: https://wiki.archlinux.org/index.php/LXDM
    Display Environment: https://wiki.archlinux.org/index.php/Cinnamon

Maybe you are looking for

  • A dynamic View object at runtime

    Say there is an inputtext component and one LOV. User will enter a number, say 7, and then press a Submit button. And then in the LOV, user will be able to see the numbers from 1 to 7. Is it possible to achieve the same?

  • ITunes/Quicktime/iPod

    How can I completely and safely remove iTunes, QuickTime, iPod from my system? I am running Vista Ultimate and can not upgrade/uninstall without receiving HKLM\...\Current Version\Run errors. Microsoft insists this is an Apple problem and have not re

  • Infospoke with two data source

    Hi all, is there a way in an Infospoke to include infoobjects belonging to two different data source? tks, Federico

  • Patch for Apex 2.1?

    [This page|http://www.oracle.com/technology/products/database/application_express/html/3.0.1_and_xe.html] discusses how to upgrade APEX 2.1 to 3.0.1 on XE. first follow step 3.2 of the Application Express Installation Guide. there it says: Download t

  • Removing spaces in field

    Sorry for asking a very simple (hopefully) question.  Does anyone know how can remove spaces from a given field.  One of my field has the following: field1 = '      ABCD'. What command should I use so field1 would end up with just 'ABCD'? Thanks.