Arch linux 0.7 cd label

I was recently distributing arch cds to colleagues for a research project we are working on.  Since it was in a professional environment I thought it would be appropriate to have labels on the cd and not just my chicken scratch on a silver disc.  The labels can be found here if anyone is interested.
pdf:
www.equivalentsystems.net/linux/arch/ar … dlabel.pdf
png:
www.equivalentsystems.net/linux/arch/ar … dlabel.png
The pdf is great for printing as the current spacing works with at least two types of cd labels that I know of, though I put up the png in case anyone wants it.
Alex

eerok wrote:
I'm also interested in converting raster to vector, so I dug this up:
http://autotrace.sourceforge.net/
Dunno how good it is, but it might be worth checking out.
autotrace is in extra (my pkg) ... i use it to get vectors from bitmaps for sodipodi and blender

Similar Messages

  • Arch Linux OS X Boot Menu Label

    Hi guys,
    I am pretty new to Linux. I just finished installing Arch Linux on my macbook pro. I followed the instructions on the wiki and now I'm able to boot into Arch Linux by selecting the "EFI Boot" option from the menu after holding down the alt key on startup. Everything is working pretty smoothly so far but I was wondering if its possible to change the label of the Arch Linux option in the menu from "EFI Boot" to "Arch Linux". On the manpage for bless it says the following:
    --label name Render a text label used in the firmware-based OS picker
    I tried using the following commands to bless the boot partition, but they have no effect on the label.
    $ sudo bless --folder="Arch Linux" --file="Arch Linux/System/Library/CoreServices/boot.efi" --label=ArchLinux
    $ sudo bless --mount="Arch Linux" --file="Arch Linux/System/Library/CoreServices/boot.efi" --label=ArchLinux
    Anyone have any ideas?
    Thanks,
    Ahmed

    heleos wrote:
    This line:
    Waiting for 30 seconds for device /dev/disk/by-label/ARCH-201005...
    You need to make sure that's the exact name of your iso disc. If it's not, it isn't a big deal. I've run into problems on this with my arch USB drive.
    Once you get to the [ramfs /]# prompt, type in:
    mv /dev/disk/by-label/(insert name of the current cd here) /dev/disk/by-label/ARCH-201005
    exit
    It should then be able to boot from the cd
    did:
    mv /dev/disk/by-label/(insert name of the current cd here) /dev/disk/by-label/ARCH-201005
    exit
    shows:
    ERROR: mounting was successful, but /bootmnt/isomounts file doex not exist.
    Then I checked:
    cd /bootmnt
    ls
    archlinux-2010.05-core-i686.iso
    exit
    shows another problem /boot/init does not exist
    exit
    kernel panic!

  • Dual boot Windows 7 (64) and Arch Linux (64) problems

    Hello:
    I am new to Arch Linux and just finished installing the 64bit on my laptop. It had a prebuilt Windows 7 (64) installed which I kept but split the hdd from 160Gb to 80Gb and 80Gb. I installed Arch there and set 4 partitions, all of them as Logical - a 64 MB ext2 /boot partition; a 512 MB swap partition; a 15 GB root partition; and the rest as my /home partition. My partitions look like this:
    Disk Drive: /dev/sda
    Size: 160041885696 bytes, 160.0 GB
    Heads: 255 Sectors per Track: 63 Cylinders: 19457
    Name Flags Part Type FS Type [Label] Size (MB)
    sda1 Primary Unknown (27) 12889.02
    sda2 Boot Primary NTFS 106.93
    sda3 Primary NTFS [] 73915.11*
    sda5 Logical Linux ext2 65.81*
    sda6 Logical Linux 509.97*
    sda7 Logical Linux ext2 15002.92*
    sda8 Logical Linux ext2 57549.55*
    The install was succesful(this was running from the core install cd) and I installed GRUB to my /boot but when I restarted it loaded Windows 7. I have used Knoppix USB disc to boot and see my Arch Linux install files and edited the /boot/gur/menu.lst file.
    In Windows I installed EasyBCD 1.7.2 and tried to get NeoGrub bootloader working as a dual boot. I tried getting rid of the boot flag for Windows with cfdisk and setting it to my (Logical) sda5. That did not work. So far the only way I have booted into my Arch Linux install has been by going to the Live CD, choosing "Boot from Existing Linux Install" and editing the command files there.
    root (hd0,4)
    kernel /vmlinuz26 root=/dev/sda3 ro
    initrd /kernel26.img
    My goal is to get a dual boot working for Windows 7 and Arch Linux 64 and continue installing the Xorg and KDE to Arch. I just don't know what the problem is here. I don't mind reinstalling Arch if something went wrong, but I would like to keep my Windows running in order and add Arch on.
    Any help would be greatly appreciated.

    I ran the LiveCD and chose "Install to MBR hd0". I ended up with this:
    setup hd(0,1)
    Checking if "/boot/grub/stage1" exists.....yes
    Checking if "/boot/grub/iso9660_stage1_5" exists.....yes
    Running "embed /boot/grub/iso9660_stage1_5 (hd0,1)".....failed(this is not fatal)
    Running "embed /boot/grub/iso9660_stage1_5 (hd16)".....failed(this is not fatal)
    Running "install /boot/grub/stage1 d (hd0,1) /boot/grub/stage2 p (hd0,1) boot/grub/menu.lst".....failed
    Error 31: File is not sector aligned
    My entry for Windows into the menu.lst looks like this:
    # (0) Arch Linux x64
    title Arch Linux x64
    root (hd0,4)
    kernel /vmlinuz26 root=/dev/disk/by-uuid/3841273c-d91e-41d6-9dbf-716a15d03a01 ro
    initrd /kernel26.img
    # (1) Arch Linux x64
    title Arch Linux x64 Fallback
    root (hd0,4)
    kernel /vmlinuz26 root=/dev/disk/by-uuid/3841273c-d91e-41d6-9dbf-716a15d03a01 ro
    initrd /kernel26-fallback.img
    # (2) Windows 7
    title Windows 7
    rootnoverify (hd0,0)
    makeactive
    chainloader +1

  • [SOLVED] (U)EFI dualboot Win7 Arch Linux - partitions gone - recovery?

    Hi everybody,
    I have a slight problem with my (U)EFI dualboot system (Windows 7 and Arch Linux) which used to be configured using rEFInd like it is described in my previous post:
    https://bbs.archlinux.org/viewtopic.php … 6#p1300356
    <EFI PARTITION> is /dev/sda1 and I used to boot via <EFI PARTITION>\EFI\Boot\Bootx64.efi which then successfully either loaded Windows or Linux kernel.
    Thanks to my own stupidity and a recent update of refind I decided to copy the new driver, font and icon folders to the <EFI PARTITION> in order to be up-to-date.
    After doing so, the rEFInd boot menu had a third icon which said "Boot via \EFI\Boot\Bootx64.efi" and if I clicked on it a second rEFInd boot menu appeared with only the two icons for Windows 7 and Arch.
    So I figured I could delete Bootx64.efi and ultimately did so, unfortunately. Afterwards I couldn't boot neither Windows nor Linux anymore.
    Following this I went through my noumerous USB boot sticks in order to be able to recover the Bootx64.efi. Unfortunately the first USB stick was a Windows XP one which has the plop bootloader alongside:
    http://www.plop.at/en/bootmanager/thebootmanager.html
    Out of couriousity I entered this bootloader and found HDA and HDB (I assume resembling my SSD and my USB stick).
    To my knowledge I didn't change anything but after entering the bootloader again I just found HDA left, HDB seemed to be gone. But I didn't think of anything bad happening yet.
    Then I found a working Archiso which I booted and using blkid I couldn't find the partitions of my earlier system anymore, only its device and the USB stick:
    /dev/sda: PTUUID="..." PTTYPE="gpt"
    /dev/sdb1: UUID="..." LABEL="ARCH_201312" TYPE="..." and so on
    /dev/sdb2: SEC_TYPE="msdos" and so on
    Even within the EFI shell I could not detect any internal drive anymore (only fs0: which is the USB stick)
    Using Archiso onboard tool testdisk I could find the old partitions. The correct result of the GPT from testdisk is:
    Fri Jul 4 08:45:25 2014
    Command line: TestDisk
    TestDisk 6.14, Data Recovery Utility, July 2013
    Christophe GRENIER <[email protected]>
    http://www.cgsecurity.org
    OS: Linux, kernel 3.12.1-3-ARCH (#1 SMP PREEMPT Tue Nov 26 11:17:02 CET 2013) x86_64
    Compiler: GCC 4.8
    Compilation date: 2013-08-06T08:42:31
    ext2fs lib: 1.42.8, ntfs lib: libntfs-3g, reiserfs lib: 0.3.0.5, ewf lib: none
    /dev/sda: LBA, HPA, LBA48, DCO support
    /dev/sda: size 500118192 sectors
    /dev/sda: user_max 500118192 sectors
    /dev/sda: native_max 500118192 sectors
    /dev/sda: dco 500118192 sectors
    Warning: can't get size for Disk /dev/mapper/control - 0 B - 1 sectors, sector size=512
    Hard disk list
    Disk /dev/sda - 256 GB / 238 GiB - CHS 31130 255 63, sector size=512 - Samsung SSD 840 PRO Series, S/N:S12RNEAD322171L, FW:DXM04B0Q
    Disk /dev/sdb - 2013 MB / 1920 MiB - CHS 1022 62 62, sector size=512 - SMI USB DISK, FW:1100
    Disk /dev/sdc - 4210 MB / 4015 MiB - CHS 1020 130 62, sector size=512 - Generic Flash Disk, FW:8.07
    Disk /dev/mapper/arch_root-image - 1478 MB / 1410 MiB - 2887680 sectors, sector size=512
    Disk /dev/dm-0 - 1478 MB / 1410 MiB - 2887680 sectors, sector size=512
    Partition table type (auto): Intel
    Disk /dev/sda - 256 GB / 238 GiB - Samsung SSD 840 PRO Series
    Partition table type: EFI GPT
    New options :
    Dump : No
    Align partition: Yes
    Expert mode : Yes
    Analyse Disk /dev/sda - 256 GB / 238 GiB - CHS 31130 255 63
    hdr_size=92
    hdr_lba_self=1
    hdr_lba_alt=500118191 (expected 500118191)
    hdr_lba_start=34
    hdr_lba_end=500118158
    hdr_lba_table=2
    hdr_entries=128
    hdr_entsz=128
    hdr_size=92
    hdr_lba_self=500118191
    hdr_lba_alt=1 (expected 1)
    hdr_lba_start=34
    hdr_lba_end=500118158
    hdr_lba_table=500118159
    hdr_entries=128
    hdr_entsz=128
    Trying alternate GPT
    Current partition structure:
    Trying alternate GPT
    search_part()
    Disk /dev/sda - 256 GB / 238 GiB - CHS 31130 255 63
    FAT32 at 0/32/33
    FAT1 : 4110-6150
    FAT2 : 6151-8191
    start_rootdir : 8192 root cluster : 2
    Data : 8192-2097151
    sectors : 2097152
    cluster_size : 8
    no_of_cluster : 261120 (2 - 261121)
    fat_length 2041 calculated 2041
    set_FAT_info: name from BS used
    FAT32 at 0/32/33
    MS Data 2048 2099199 2097152 [NO NAME]
    FAT32, blocksize=4096, 1073 MB / 1024 MiB
    NTFS at 146/251/42
    filesystem size 249593856
    sectors_per_cluster 8
    mft_lcn 786432
    mftmirr_lcn 2
    clusters_per_mft_record -10
    clusters_per_index_record 1
    NTFS part_offset=1209008128, part_size=127792054272, sector_size=512
    NTFS partition cannot be added (part_offset<part_size).
    NTFS at 146/251/42
    filesystem size 249593856
    sectors_per_cluster 8
    mft_lcn 786432
    mftmirr_lcn 2
    clusters_per_mft_record -10
    clusters_per_index_record 1
    MS Data 2361344 251955199 249593856
    NTFS, blocksize=4096, 127 GB / 119 GiB
    recover_EXT2: s_block_group_nr=0/160, s_mnt_count=1318/4294967295, s_blocks_per_group=32768, s_inodes_per_group=8192
    recover_EXT2: s_blocksize=4096
    recover_EXT2: s_blocks_count 5242880
    recover_EXT2: part_size 41943040
    MS Data 251955200 293898239 41943040
    ext4 blocksize=4096 Large file Sparse superblock, 21 GB / 20 GiB
    recover_EXT2: s_block_group_nr=0/80, s_mnt_count=1317/4294967295, s_blocks_per_group=32768, s_inodes_per_group=8192
    recover_EXT2: s_blocksize=4096
    recover_EXT2: s_blocks_count 2621440
    recover_EXT2: part_size 20971520
    MS Data 293898240 314869759 20971520
    ext4 blocksize=4096 Large file Sparse superblock, 10 GB / 10 GiB
    recover_EXT2: s_block_group_nr=0/706, s_mnt_count=1317/4294967295, s_blocks_per_group=32768, s_inodes_per_group=8192
    recover_EXT2: s_blocksize=4096
    recover_EXT2: s_blocks_count 23156049
    recover_EXT2: part_size 185248392
    MS Data 314869760 500118151 185248392
    ext4 blocksize=4096 Large file Sparse superblock, 94 GB / 88 GiB
    Results
    P MS Data 2048 2099199 2097152 [NO NAME]
    FAT32, blocksize=4096, 1073 MB / 1024 MiB
    P MS Data 2361344 251955199 249593856
    NTFS, blocksize=4096, 127 GB / 119 GiB
    P MS Data 251955200 293898239 41943040
    ext4 blocksize=4096 Large file Sparse superblock, 21 GB / 20 GiB
    P MS Data 293898240 314869759 20971520
    ext4 blocksize=4096 Large file Sparse superblock, 10 GB / 10 GiB
    P MS Data 314869760 500118151 185248392
    ext4 blocksize=4096 Large file Sparse superblock, 94 GB / 88 GiB
    interface_write()
    1 P MS Data 2048 2099199 2097152 [NO NAME]
    2 P MS Data 2361344 251955199 249593856
    3 P MS Data 251955200 293898239 41943040
    4 P MS Data 293898240 314869759 20971520
    5 P MS Data 314869760 500118151 185248392
    simulate write!
    TestDisk exited normally.
    ext4 blocksize=4096 Large file Sparse superblock, 94 GB / 88 GiB
    Now the question is: Can I - using testdisk or any other tool - recover those partitions successfully so I will be able to boot again afterwards? I tested and I could mark them as:
    P Primary
    Any help will be greately appreciated.
    Best regards
    Last edited by blablubb1234 (2014-07-08 09:20:08)

    Issue resolved If you care to know how, read on:
    Looking at the disk using gdisk was doing no good. Neither of the recovery options in gdisk did the trick.
    I then returned to testdisk and restored the partitions (successfully). However, afterwards I was greeted by shell telling me the root device was not found (seems like UUIDs get changed when one restores them using testdisk). Adjusting the PARTUUID for root in <EFI SYSTEM PARTIITION>/boot/refind_linux.conf did the trick and I could boot up Archlinux again.
    Windows 7 still didn't boot telling me the required device was inaccessible (probably wrong UUID, too). I could however not restore/edit Windows' BCD using bcdedit, see my post Status: 0xc0000225 boot selection failed; required device inaccessible:
    To make a long story short: Removing bcd and running autorecovery from withing Windows RE successfully created a new bcd. Unfortunately, Windows writes its backup bootloader at <EFI SYSTEM PARTITION>/boot/EFI/Boot/bootx64.efi. This file originally was a copy of refind_x64.efi which I need to put at that location to be able to dualboot. After chrooting to my Arch system I could restore bootx64.efi, create a new fstab and everything is running fine now again.
    Best regards and thanks for the help.

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

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

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

  • 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

  • Recovering earlier installed Windows 7 after installing Arch Linux

    I'm trying to boot windows on my ASUS notebook.
    There was windows 7 from the very beginning (disks C:\ and D:\), then I divided disk D:\ on several partitions and installed Arch Linux. I overwrited Windows boot information by boot part of Linux. Now I want to recover windows, that I still have on hard drive. It doesn's matter what there will be: dualboot or only windows (but dualboot is prefered).
    Disk info:
    [jhon@fckrsns ~]$ sudo fdisk -l
    Disk /dev/sda: 698.7 GiB, 750156374016 bytes, 1465149168 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 4096 bytes
    I/O size (minimum/optimal): 4096 bytes / 4096 bytes
    Disklabel type: gpt
    Disk identifier: 1AFC9DFF-CD3B-4CE1-8CAF-41C3E5B75772
    Device Start End Size Type
    /dev/sda1 2048 411647 200M EFI System
    /dev/sda2 411648 673791 128M Microsoft reserved
    /dev/sda3 673792 586731519 279.5G Microsoft basic data
    /dev/sda4 586731520 691589119 50G Linux filesystem
    /dev/sda5 1412718592 1465147391 25G Windows recovery environment
    /dev/sda6 691589120 901304319 100G Linux filesystem
    /dev/sda7 901304320 1412718591 243.9G Microsoft basic data
    [jhon@fckrsns ~]$ lsblk
    NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    sda 8:0 0 698.7G 0 disk
    ├─sda1 8:1 0 200M 0 part /boot
    ├─sda2 8:2 0 128M 0 part
    ├─sda3 8:3 0 279.5G 0 part
    ├─sda4 8:4 0 50G 0 part /
    ├─sda5 8:5 0 25G 0 part
    ├─sda6 8:6 0 100G 0 part /home
    └─sda7 8:7 0 243.9G 0 part
    sr0 11:0 1 1024M 0 rom
    [jhon@fckrsns ~]$ lsblk -f
    NAME FSTYPE LABEL UUID MOUNTPOINT
    sda
    ├─sda1 vfat 4DEB-D6D2 /boot
    ├─sda2
    ├─sda3 ntfs OS 62364BE9364BBCB3
    ├─sda4 ext4 c4da4683-871a-49fa-96a3-4da11387d31d /
    ├─sda5 ntfs Recovery 8ECE4F50CE4F2FAF
    ├─sda6 ext4 3eba01c6-e422-4542-8442-16064c74a563 /home
    └─sda7 ntfs 3B29E7794F6CD932
    sr0
    OS partition (/dev/sda3):
    [jhon@fckrsns /]$ ls /run/media/jhon/OS
    altera Boot djvureader DrWeb Quarantine eSupport hiberfil.sys MSOCache N56VM.BIN pagefile.sys Program Files Recovery SecurityScanner.dll VisualCLibs
    AsusVibeData bootmgr Documents and Settings eclipse Games Intel MS.Office.2007.Portable.micro.v.1.16 N56VZ.BIN PerfLogs Program Files (x86) $Recycle.Bin System Volume Information Windows
    AVScanner.ini BOOTSECT.BAK DOSBox_SIM END gcc Keil_v5 mtd NVIDIA ProgramData Qt R.G. Catalyst Users
    I tried to recover MBR with different ways:
    with syslinux:
    [jhon@fckrsns /]$ sudo dd if=/usr/lib/syslinux/bios/mbr.bin of=/dev/sda
    0+1 records in
    0+1 records out
    440 bytes (440 B) copied, 0.0226394 s, 19.4 kB/s
    with ms-sys:
    [jhon@fckrsns /]$ sudo ms-sys --partition /dev/sda1
    Start sector 2048 (nr of hidden sectors) successfully written to /dev/sda1
    Physical disk drive id 0x80 (C:) successfully written to /dev/sda1
    Number of heads (255) successfully written to /dev/sda1
    [jhon@fckrsns /]$ sudo ms-sys --mbr7 /dev/sda
    Windows 7 master boot record successfully written to /dev/sda
    But there is still no way to boot windows.
    I run grub-mkconfig before and after these manipulations with MBR:
    [jhon@fckrsns ~]$ sudo grub-mkconfig -o /boot/grub/grub.cfg
    Generating grub configuration file ...
    Found linux image: /boot/vmlinuz-linux
    Found initrd image: /boot/initramfs-linux.img
    Found fallback initramfs image: /boot/initramfs-linux-fallback.img
    No volume groups found
    done
    [jhon@fckrsns /]$ sudo os-prober
    /dev/cdrom: open failed: No medium found
    No volume groups found
    I installed rEFInd, now I have two choices on boot screen: vmlinuz-linux, which it founded, and my earlier installed grub bootloader.
    Maybe I missed something, but i don't know what exactly.
    Last edited by Jhon (2014-09-28 16:45:38)

    Now I know that I don't need MBR at all (but google told me that recovering windows = recovering MBR..)
    Are there any ways to recover boot information on EFI system partition from Linux without using Windows Live CD and it's bootrec.exe?
    I have bootmgr and bootmgfw.efi files on /dev/sda3 (partition with windows installed), what else I need? Simple copy of bootmgfw.efi to /boot/EFI/Microsoft/Boot/bootmgfw.efi and addition of custom menu item to /etc/grub.d/40_custom does'nt work. There is Windows now in rEFInd and GRUB menus, but there is error on loading.

  • Arch Linux running on Asus Transformer T100/T100TA... sort of.

    I'm not really asking for help here (can't find an appropriate place to put this post), but more to show off my accomplishment with this tablet.
    As the thread title says, I've gotten Arch Linux to run on the Asus T100TA which is a quite annoying little thing. I haven't documented the steps myself, however, I remember exactly what I have done, and in order to get the live image to at least run on this tablet, here are the steps I did:
    (you'll maybe need 2 USB drives, seems to be the easiest way)
    1. Create an ISO using the archiso set as you normally would (except you won't really need the ISO itself) OR if you can figure it out yourself, install the base image to the USB drive (either architecture will do, but I recommend i686 since the processor is 32 bit as well)
    https://wiki.archlinux.org/index.php/Archiso
    This step will be unnecessary as of May, as the live images onwards on the main download site will already contain the 3.14 or newer kernels.
    2. After the image building successfully finishes, copy all the contents from (PROFILE)/work/iso/ (except root-image squashfs files) to a FAT32 formatted USB drive (1). This is to simply create a bootloader drive that will allow us for later swapping the USB drives.
    3. Download an ia32 version of grub. Any will do as long as it can boot up on the tablet.
    http://www.supergrubdisk.org/category/download/supergrub2diskdownload/
    This one works, download the standalone IA-32/i386 EFI and paste it in (USB Drive (1))/EFI/boot/bootia32.efi .
    (use latest versions, no matter if it's unstable)
    4. Now you need to make a grub.cfg. The one I made looks like this
    menuentry 'Arch Linux i686'{
    echo 'Loading Linux core repo kernel ...'
    linux /arch/boot/i686/vmlinuz noefi nomodeset archisobasedir=arch archisolabel=ARCH_201404
    echo 'Loading initial ramdisk ...'
    initrd /arch/boot/i686/archiso.img
    menuentry 'Arch Linux x86_64'{
    echo 'Loading Linux core repo kernel ...'
    linux /arch/boot/x86_64/vmlinuz noefi nomodeset archisobasedir=arch archisolabel=ARCH_201404
    echo 'Loading initial ramdisk ...'
    initrd /arch/boot/x86_64/archiso.img
    NOTE: If you're using a later live image build, I advise to change the date accordingly. It's not necessary to do so, since the mount by label doesn't work, however, I like to keep everything intact.
    noefi flag seems unnecessary as well, though I have added it to prevent some kernel panics from happening, for just in case. It works without it, still, however you need the nomodeset flag or else you'll get a black screen!
    I'm not entirely sure where the grub.cfg goes, but I've put it in USB Drive(1)/boot/grub/ , /EFI/grub/ and in /EFI/boot/grub/ just to make it sure that it works.
    5. Create an ext2/3/4 (recommended ext2 for flash drives, not to wear it out) USB drive (2) and copy the arch folder to the root of the USB drive (2)
    ---- BOOT PROCESS ----
    Before this step, ensure that Secure Boot is set to OFF in the Aptio setup. Otherwise it will throw up an error in a red box crying it's not signed.
    6. Plug in the USB drive (1) into a USB port and while powering on the tablet, tilt the escape key to pop up a boot menu.
    7. Select UEFI: (your USB drive (1))
    8. GRUB 2 will pop up. If you're running the SuperGrubDisk version, you're gonna have to go to Everything and then scroll down until it says something like
    (hd0, msdos1)/boot/grub/grub.cfg
    and click on it to open the configuration data manually created.
    9. Simply select your desired version of Arch Linux live distro to boot.
    10. VOILAaa, not really... It'll pop up with a mount error saying it's a wrong FS to mount. This is where you plug in your USB drive (2) in place of the first one.
    11. Type in:
    # mount /dev/sda1 /run/archiso/bootmnt
    # exit
    12. Congratulations, you're running Arch Linux on your ASUS Transformer T100TA tablet!
    This is as far as I have went into running it. Installing it on a HDD would require mounting the mmcblk partitions, which I haven't looked into yet. For a start, I'd just recommend installing it on a USB drive, though you'd have to own one of the USB OTG converters or a USB hub. The screen is spammed with the mmcblk0rpmb timeout errors though and that is annoying. It stops after a while when it stops trying. Reboot doesn't work either, seems like acpi is broken.
    You could do it with a single usb drive, though it requires some knowledge of this tablet's EFI because it disallowed me from running a kernel on another partition other than FAT32. Grub pops up with an error:
    can't unload EFI services
    or something like that.
    I've also tried putting the USB Drive (2) in during grub and it pops up with an error with invalid sector sizes. That was to be expected.
    btw I know it's my first post, I'm just here to share this with you. I never had the need to ask for help but when absolutely necessary.
    PICS OF IT RUNNING
    Some USB devices aren't visible, like the camera.
    A custom partition layout without the recovery partitions. Yours may differ.
    Last edited by xan1242 (2014-04-13 22:54:46)

    I haven't tried much other than getting this live image to run on this machine. I'll attempt to install the base image using my desktop computer with the appropriate drivers and see how that goes. (or just install the wifi driver)
    That guy really made it to work much better than I imagined it to work at all! I'll see what can be done using the same drivers, though running Ubuntu seems tempting as well. He even got the touchscreen to work, which is really awesome. It seems that he also merged the drivers into the kernel image, which is going to be a challenge in Arch.
    Since he's using the 64 bit build of Ubuntu, I'll try it with x86_64 Arch as well to try and use his guide to make the drivers to work.
    EDIT: I have successully installed the base to an external drive and booted it on the tablet, however since the base was installed externally on another machine, I need to regenerate initrd. It boots on the fallback ramdisk, but still no wifi and the screen is spammed even more with the timeout errors. I've seen topics on Raspberry Pi having a similar issue and that it was repaired using some kernel flags, but I am not sure if those will work with the tablet. Also, using the bootflags jfwells used on Ubuntu work here as well, and gives full resolution output now. Wifi doesn't work. ip link doesn't give any signs of a wifi card present.
    EDIT2: Got Arch up and running relatively nicely on the tablet now. Though it is in the same state as the last edit in terms of functionality, it works I'd say well enough to be considered usable. I couldn't make the wireless card to work, for some strange reason, so I got a RT73 USB card (Edimax EW-7318USg to be precise, had to use 2 USB ports) and installed stuff on to the tablet. I ran X without a desktop manager, and the X apps worked fine, even with the touch screen (emulating a mouse, no right click) and I ran XFCE4 on it without a problem (with compositing).
    It simply needs more developed drivers on it, that's mostly it. The state is exactly the same as Ubuntu 14.04 that jfwells made to work (minus the wifi). I haven't played with the sound, either, due to the warning he posted, but I believe it works as it does in Ubuntu.
    The steps I made are as follows:
    1. Simply made another live ISO with the archiso set
    2. dd'd the image to a USB drive
    3. On the second USB drive I created two GPT partitions (200 - 300 MB for ESP, everything else ext2)
    4. Booted the live archiso USB drive
    5. Installed the base to the second USB drive while being mounted like this: ext2 partition -> /mnt and ESP -> /mnt/boot
    6. Installed GRUB x86_64-efi to simply generate a configuration
    7. Installed wireless utilities as well as everything else needed to make it to work
    8. To ensure bootability on the tablet, again, I put the IA32 GRUB to the ESP in /EFI/boot/bootia32.efi
    9. I have edited the grub.cfg, can't exactly remember with what, but this is what it looks like
    ### BEGIN /etc/grub.d/10_linux ###
    menuentry 'Arch Linux, with Linux core repo kernel' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-core repo kernel-true-(hd0,gpt2)' {
    set gfxpayload=keep
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='hd0,gpt1'
    echo 'Loading Linux core repo kernel ...'
    linux /vmlinuz-linux root=/dev/sda2 video=VGA-1:1368x768e reboot=pci,force sdhci.debug_quirks=0x8000 rw quiet
    echo 'Loading initial ramdisk ...'
    initrd /initramfs-linux.img
    menuentry 'Arch Linux, with Linux core repo kernel (Fallback initramfs)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-core repo kernel-fallback-(hd0,gpt2)' {
    set gfxpayload=keep
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='hd0,gpt1'
    echo 'Loading Linux core repo kernel ...'
    linux /vmlinuz-linux root=/dev/sda2 video=VGA-1:1368x768e reboot=pci,force sdhci.debug_quirks=0x8000 rw quiet
    echo 'Loading initial ramdisk ...'
    initrd /boot/initramfs-linux-fallback.img
    ### END /etc/grub.d/10_linux ###
    I simply added the kernel flags jfwells added. It needs that root flag, or else it will not boot. I can't figure out the UUIDs though. It will reboot, but it will not shut down.
    10. Boot up your second USB drive on the tablet and... IMPORTANT - Boot with the fallback ramdisk - or else you're going to experience non functional input
    11. After booting it, you'll get the annoying mmcblk timeout spamming the screen. I haven't figured out how to fix it, but to hide it, type in
    # dmesg -n 1
    12. Generate another ramdisk (forgot the command, but search function should serve you)
    13. Reboot with the normal ramdisk now.
    14. After setting up the wireless connection, rock on with the pacman!
    At this point I installed a bunch of stuff, like Intel GPU drivers, xorg, xfce4, ntfs-3g, gparted,  and among other stuff I personally test stuff with.
    I couldn't mount the mmcblk partitions to at least somehow be able to edit data on the Windows partitions or the disk as a whole.
    Anybody willing to help getting Arch to run on this tablet is welcome.
    EDIT3: Internal WiFi working! Simply added "sdhci.debug_quirks=0x8000" flag.
    Last edited by xan1242 (2014-04-13 23:35:26)

  • [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's wrong with my Arch linux grub bootup/FSTAB? [Solved]

    So ever since I did a fresh install of Arch Linux, every time it boots up and I select the Grub option it says "A start job is running for /dev/drive/" and shortly after it says timed out and continues onto the login screen as normal.
    I have two drives, Windows is on the other one and on the Linux one I have just two partitions, root and swap.
    I've tried to do a couple of things such as creating another grub option and setting the root to that ID however it still seems to be occurring. It seems to me that it keeps changing because sometimes when I boot it doesn't do it but it is very rare that it doesn't do the start job.
    How can I permanently make the GRUB2 menu boot the correct drive and partitions, both root{ext4} and swap without it having to run a start job every time I boot it up?
    Last edited by Developer (2015-04-09 19:02:42)

    WorMzy wrote:
    Note that sda,sdb,sdc... names are assigned on a first-come, first-served, per boot basis, so they are not ideal for use in your fstab. Instead, you should use UUIDs or labels.
    https://wiki.archlinux.org/index.php/Pe … ice_naming
    The problem is back, the drive names keep changing, how can I use UUID's for the fstab?
    I saw something about UUID's above each drive name however, they were commented out. Do I replace the drive name part with the UUID for every drive, so for example:
    /dev/sdb1 / ext4   rw,relatime,discard,data=ordered
    to
    UUID=b411dc99-f0a0-4c87-9e05-184977be8539 /home ext4   rw,relatime,discard,data=ordered
    Or do I just uncomment the UUID part? which would leave me with something along the lines of:
    UUID=b411dc99-f0a0-4c87-9e05-184977be8539
    /dev/sdb1 / ext4   rw,relatime,discard,data=ordered

  • Arch Linux Logo Competition

    Hello everyone!
    As you may have heard, the Arch logo as we know it is going the way of the dodo!  We are refreshing our graphical identity, and in that spirit we're having a logo competition, open to the entire Arch community!
    We want to know what you think of when you think Arch Linux - what logo do you think would best suit the distribution we've all come to love?
    Submission guidelines are as follows:
    . Anyone can submit as many logo concepts as they wish
    . Entry is freeform, with no need to base it on current logo. Be creative!
    . For the sake of moving the competition along, artists will maintain the rights to their works until the completion of the competition, when we've decided what to do with license issues.
    Per submission, you will need:
    . SVG sources for logo preferred.  If you don't know how to make SVG logos, but have a great idea, visit this thread; foxbunny has graciously stepped up to help with logo concepts.
    . Fill out the following on this submission sheet (courtesy of foxbunny)
    .. Name (or alias)
    .. Main logo areas (white/black/neutral BG)
    .. 2-colour or Black version
    .. 128x128px and 16x16px icon version
    .. Colour palette used
    All other fields are optional - you do not need them to create a submission, and omission of those options will not count negatively against you.
    Submit completed submission sheet attached in an email to travis AT archlinux.org. They will be posted in this thread; two weeks after the date of this post, we will collect all submissions in that thread and judge.
    Judging will be the job of the Developers, and will proceed as follows:
    All submissions will be posted to the [arch-dev] private mailing list, and developers will give their +1 to those logos they like.  They may add a +1 to more than one submission - once all developers are accounted for, the logo with the most +1 votes will win.
    Should multiple logo submissions tie for first place, those entries will be announced to the community, and we will have a community vote on the forums. The logo voted highest in this case will be the winner.
    Additionally, we'll want to use the logo for additional media - CD labels or wallpapers, for example. If the winning author hasn't provided any, they will be given a chance after the competition is over to create this artwork, if they want.  Basically, no need to get it done before the judging, if you want to do it, so don't worry!
    Please note: there are also threads for logo concept discussion and for showing off possible concepts, without entering them into the competition.  Feel free to make use of them.
    Good luck to all participants, and have fun!
    NOTE: There has been some recent concern about entries by developers, since it is the developers themselves voting.  This was never forbidden at the beginning of the contest, and so the rules will not be modified for this halfway through; developer entries are allowed, and will be treated on exactly equal merit as any other entry.  Rest-assured, there is no reason for favouritism in this contest - if we wanted an explicitly developer-made logo, we would have simply done so, so there's no reason to choose a dev's submission simply because they are a dev.
    Last edited by Cerebral (2007-10-30 17:54:16)

    PJ wrote:
    I think this speaks for itself:
    Cerebral wrote:Heh, sorry to say, but it's going to be a little bit longer before we announce anything, I think.  We still have to do a decent trademark search on the top couple of logos to ensure we won't be stepping on anyone else's toes before anything else.
    http://bbs.archlinux.org/viewtopic.php? … 02#p302102
    Yeah, 'cause we can just use any old arch that we want to. These three, for instance, are already taken:
    I think this one (below) is still available, though:
    Last edited by dhave (2007-12-03 04:39:25)

  • [Request] Arch Linux CD Cover

    I have been looking for ages now for a decent Arch Linux CD Cover and Possibly Case, I'm a neat freak and like to have all my disks with labels and I usually keep them in a disk wallet but if anyone want's to make a case as well I'm not complaining! I use 119mm Verbatim DVD's and the prinatble region on them end at the clear center bit and some generic cheapo brand CD-R's that have the printable region right to the center (covering the bit that's usually clear) if that's any help
    Thanks in advance!

    fukawi2 ~ $ pacman -Qo /usr/share/archlinux/cd-labels/archlinux-cd-label-black.svg
    /usr/share/archlinux/cd-labels/archlinux-cd-label-black.svg is owned by archlinux-artwork 1.5-1

  • Booting Arch Linux from usb flash [SOLVED]

    I have instaled Arch Linux on usb flash (filesystem is ext2) I have regenerated initrd (mkinitcpio -p) with usb hook (HOOKS="base udev usb ide scsi sata filesystems"), but Arch Linux stop booting with error:  unable mount dev/disk/by-uuid/my-uuid After  pressing Control-D  in recovery shell  Caps Lock and Scroll Lock leds blink on my keyboard
    I have tried booting  from label (dev/disk/by-label/my-label) I have got same error
    Please help me
    PS Please forgive me for my English
    Last edited by vav (2011-02-13 12:42:59)

    GRUB is installed on the usb flash drive
    menu.lst:
    # Config file for GRUB - The GNU GRand Unified Bootloader
    # /boot/grub/menu.lst
    # DEVICE NAME CONVERSIONS
    # Linux Grub
    # /dev/fd0 (fd0)
    # /dev/sda (hd0)
    # /dev/sdb2 (hd1,1)
    # /dev/sda3 (hd0,2)
    # FRAMEBUFFER RESOLUTION SETTINGS
    # +-------------------------------------------------+
    # | 640x480 800x600 1024x768 1280x1024
    # ----+--------------------------------------------
    # 256 | 0x301=769 0x303=771 0x305=773 0x307=775
    # 32K | 0x310=784 0x313=787 0x316=790 0x319=793
    # 64K | 0x311=785 0x314=788 0x317=791 0x31A=794
    # 16M | 0x312=786 0x315=789 0x318=792 0x31B=795
    # +-------------------------------------------------+
    # for more details and different resolutions see
    # http://wiki.archlinux.org/index.php/GRUB#Framebuffer_Resolution
    # general configuration:
    timeout 5
    default 0
    color light-blue/black light-cyan/blue
    # boot sections follow
    # each is implicitly numbered from 0 in the order of appearance below
    # TIP: If you want a 1024x768 framebuffer, add "vga=773" to your kernel line.
    # (0) Arch Linux
    title Arch Linux
    root (hd2,0)
    kernel /boot/vmlinuz26 root=/dev/disk/by-uuid/1e3753e6-01f4-4153-a36a-07a81c552ee0 ro
    initrd /boot/kernel26.img
    # (1) Arch Linux
    title Arch Linux Fallback
    root (hd2,0)
    kernel /boot/vmlinuz26 root=/dev/disk/by-uuid/1e3753e6-01f4-4153-a36a-07a81c552ee0 ro
    initrd /boot/kernel26-fallback.img
    # (2) Windows
    #title Windows
    #rootnoverify (hd0,0)
    #makeactive
    #chainloader +1
    Last edited by vav (2011-02-13 08:06:27)

  • [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 access point with multiple interfaces for the NAT

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

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

Maybe you are looking for

  • How to convert iTunes 7.0 to 6.0.5 (the iTunes Library.itl)

    I found a useful method to get 6.0.5 installed back without any loss of files(if you forgot it backup). Yes, I have try it and yes it did fix my problems. This should fix all prblems in 7.0 that people hate. Could someone sticky this? Backup your fil

  • OC4J  10.1.3 WSA -assemble "Duplicate type name" error

    I am trying to expose a Java class as a web service using the WSA tool assemble command. The return result of one of the methods is reasonably complex and includes two variables the classes of which both extend the same base class e.g. (bean bits mis

  • Selected podcasts not showing on ipod

    Please help me, I'm having nightmares! I have a 60GB ipod (video) and have not had any problems with it until recently... I've been subscribed to a podcast for some time now and even though I can see all episodes in iTunes certain episodes will not c

  • How do I get a previous version of Apple software? specifically ios, iworks apps

    Hi all, I have an iPad 1 that still has the original ios loaded. I don't want to load ios5 or greater due to excessive processor demand on iPad 1, slowing it significantly. However Apple genius bar tells me that the only upgrade available is the curr

  • LMS3.2 - Need Customized method for cofig archive to particular device.

    Hi all,     We are using Cisco works LMS 3.2 - Added around 400 devices and monitoring the same.  Facing a issue like while taking a configuration backup getting all devcie details and also CONFIG_ARCHIEVE Job is time consuming, because getting all d