text in red is text added after the fact to help explain what went on

Note that to start this process, you need an SD card you can erase, at least 8GB, I tried a 64GB card and was successful.
For instructions on how to make a bootable ArchLinux SD card:

Bootable ArchLinux SD Card Creation Instructions

and follow the instructions in the "installation" tab.

Note that the NOOBS card has an Arch selection, but that didn't work for me.  
This may be because I used a 64GB card while it was expecting something like 8GB.
It might have worked if I'd created an 8G partition on the 32GB SD card

15:16 < JovianPyx> ArchLinux is installed...  now to install the rest of the stuff, like a desktop  :p

The above means that the SD card has been formatted with 2 partitions (FAT32 and EXT4) using a linux machine using
the instructions found on the link above.

Install a desktop - lxde in this case 15:28 <@wmonk> for raspberry pi, try lxde 15:28 <@wmonk> best optimalized 15:29 <@wmonk> or xfce 15:29 <@wmonk> gnome and KDE are no-go, way too heavy 15:29 <@wmonk> not on pi 15:29 <@wmonk> its the one they ship with it 15:29 <@wmonk> and of course pi =/= virtual machine 15:31 <@wmonk> lxde is the de-facto standard for the pi 15:31 < JovianPyx> just pacman -S lxde ? 15:31 <@wmonk> ah, doing it the arch way? 15:31 <@wmonk> yes, that sould work 15:32 < JovianPyx> error: failed to commit transaction (unexpected error) 15:33 <@wmonk> you probably need to sync pacman first 15:33 <@wmonk> did you already do that once? 15:33 < JovianPyx> no 15:33 < JovianPyx> pacman -S pacman ?? 15:34 <@wmonk> pacman -Sy 15:34 <@wmonk> just that 15:34 <@wmonk> or a forced sync (even better) with pacman -Syy 15:35 < JovianPyx> ah, now it's working after the -Syy 15:35 <@wmonk> after that, do an update of your current packages first, with pacman -Syu 15:35 <@wmonk> and after that, pacman -S lxde 15:35 < JovianPyx> ah, resynch it to get current updates 15:36 < JovianPyx> it's going 15:37 < sonic> does pacman have a decent repo of packages? 15:37 <@wmonk> well, arch has 15:37 <@wmonk> pacman is just a manager of packages 15:38 < sonic> ok mr picky ;) 15:39 <@wmonk> JovianPyx, this guide actually is good ;) https://wiki.archlinux.org/index.php/General_recommendations 15:43 < JovianPyx> heh.. startlxde core dumped... 15:44 < JovianPyx> I've never done a manual setup of xwindows 15:46 < JovianPyx> command not found 15:46 < JovianPyx> already rebooted 15:47 < sonic> bummer 15:48 <@wmonk> xinit /usr/bin/startlxde didn't work? 15:48 < JovianPyx> oh... :p 15:48 < JovianPyx> do that as root? 15:49 <@wmonk> no 15:49 <@wmonk> as user 15:49 < JovianPyx> k doesn't work
15:49 < JovianPyx> xinit: command not found 15:50 <@wmonk> just startlxde? 15:51 <@wmonk> startx needs you to define some stuff in ~/.xinitrc before it will work 15:52 < JovianPyx> the xinit file doesn't exist 15:52 < JovianPyx> there's a directory 15:52 < JovianPyx> in /etc/X11 15:52 <@wmonk> where? 15:52 <@wmonk> oh 15:52 <@wmonk> but startlxde command didn't work either? 15:53 < JovianPyx> oh - it just worked, but it's hanging The program was installed, so the command was found and executed, but all that happened was the printing of 4 messages and then nothing further. 15:53 <@wmonk> that's a totally different question, first lets try what does work 15:53 <@wmonk> ah, on what? 15:53 < JovianPyx> printed 4 lines of ** Message: stuff... 15:54 < JovianPyx> it's just sitting 15:54 < JovianPyx> it's still in the console text screen 15:54 < JovianPyx> I'll reboot and try it again 15:54 <@wmonk> reboot and then
sudo setup: 15:55 <@wmonk> did you setup sudo? 15:55 < JovianPyx> I did not 15:55 <@wmonk> if not, lets do that first 15:55 < JovianPyx> k 15:55 <@wmonk> you like nano right? 15:56 < JovianPyx> yeah, nano 15:56 < JovianPyx> I just have to find the file 15:56 <@wmonk> pacman -S sudo 15:56 <@wmonk> after that is done 15:56 <@wmonk> EDITOR=nano visudo 15:56 < JovianPyx> oh, there's no sudo program... 15:56 <@wmonk> nope 15:56 <@wmonk> you need to install that first 15:57 <@wmonk> pacman -S sudo 15:57 <@wmonk> with that 15:57 <@wmonk> arch comes as clean as it gets, literally nothing is shipped with it ;-) 15:57 < JovianPyx> I'm seeing that. 15:58 < JovianPyx> ok, I've got sudoers in nano... I add alarm ALL=(ALL) ALL ?? 15:58 <@wmonk> anyway, when sudo is installed, this command: EDITOR=nano visudo 15:58 <@wmonk> nah 15:58 <@wmonk> best is not to use the alarm account 15:58 <@wmonk> uncomment this line: %wheel ALL=(ALL) ALL 15:59 < JovianPyx> why? 15:59 <@wmonk> because everyone uses the alarm account 15:59 < JovianPyx> ah 15:59 <@wmonk> its a safety thing 15:59 < JovianPyx> ok, so create pi or something for sudo? 15:59 <@wmonk> no no 15:59 < JovianPyx> create fuckT@rd ? 16:00 <@wmonk> just uncomment this line %wheel ALL=(ALL) ALL 16:00 < JovianPyx> k 16:00 <@wmonk> and then save and exit 16:00 < JovianPyx> ok 16:00 < JovianPyx> sudo works now Actually, sudo does work, for those users in group wheel. However, later you will see that I added a user 'scott' and sudo failed for that user because I hadn't added scott to the group wheel. 16:00 <@wmonk> then we need to add a user, you guessed it, you probably need to install the package for that pacman -S adduser 16:01 < JovianPyx> wow. 16:01 < JovianPyx> ok 16:01 < JovianPyx> well, that says "target not found" 16:01 <@wmonk> if done, type adduser 16:02 <@wmonk> oh, you can do the classic way useradd -m username 16:02 < JovianPyx> k 16:02 <@wmonk> passwd username 16:03 <@wmonk> usermod -a -G wheel username 16:03 < JovianPyx> ok 16:03 <@wmonk> and then your new user is in the sudo list 16:03 < JovianPyx> done 16:03 < JovianPyx> it's there now? 16:03 < JovianPyx> or I should add it? 16:03 <@wmonk> no 16:03 < sonic> wheel is the group? 16:03 <@wmonk> its part of wheel 16:03 <@wmonk> so it will work with that 16:03 < JovianPyx> ah 16:03 <@wmonk> I don't like the no-password option of sudo myself 16:04 <@wmonk> I think its dumb and stoopid 16:04 <@wmonk> but if you like it, you can add that as well 16:04 < JovianPyx> I don't need "no password" 16:04 < JovianPyx> ok, that's all done 16:04 <@wmonk> ok 16:04 < JovianPyx> so login as my new user? 16:05 <@wmonk> yes 16:05 < JovianPyx> I backed all the way out and logged in as scott
sudo appeared to work previously because I was logged in as alarm and alarm was a member of group wheel, but after a reboot, and log in as 'scott' it didn't work anymore. I've now looked at the group file and see that alarm is in wheel, but scott is not. Fixing that now by removing alarm and adding scott. Removing alarm from wheel is a good idea because it is a default account and others may create malware programs or scripts that might attempt to gain root access via sudo - so it's dangerous to have alarm as a member of wheel.
Add ttf fonts: 16:05 <@wmonk> sudo pacman -S ttf-dejavu (we really want some ttf fonts for LXDE) 16:05 < sonic> wmonk: what is the wheel group for? 16:05 <@wmonk> its the basic user group under arch sonic 16:05 < JovianPyx> ah 16:06 <@wmonk> users who can "turn the wheel" 16:06 < JovianPyx> scott is not in the sudoers file blah blah This is fixed now 16:06 <@wmonk> is scott member of wheel? 16:06 < sonic> ah so if you are not in wheel you can't do anything at all? 16:07 <@wmonk> to check, type "groups" 16:07 < JovianPyx> wheel is in the list 16:07 < sonic> nite Stefan 16:07 <@wmonk> hmm 16:08 < JovianPyx> can I just add scott?
At the time of installing, I did just add scott to the sudoers file. I've since removed it, so the only way to get sudo working for an arbitrary user is to add the user to wheel. I've modified the system to do this and it works. 16:08 <@wmonk> EDITOR=nano visudo as root 16:08 <@wmonk> and see if that line is really uncommented 16:08 <@wmonk> or otherwise, add scott to the list 16:10 <@wmonk> when sudo works, next up is magic shit: sudo pacman -S xorg xorg-xinit xorg-server xterm xorg-server-utils 16:10 < JovianPyx> ok sudo works for scott 16:10 < JovianPyx> I just did the font thing
Add slim 16:11 <@wmonk> if you want a login screen thingy, this might be your thing: 16:11 <@wmonk> sudo pacman -S slim 16:11 <@wmonk> sudo systemctl enable slim.service 16:12 <@wmonk> slim is pretty nice 16:12 <@wmonk> its ehh... slim 16:12 < JovianPyx> for this device, I don't need fancy 16:12 <@wmonk> and not as stoopid heavy as gdm 16:13 <@wmonk> so where are we? those things done? then we need to do one thing before reboot 16:13 < JovianPyx> it's installing all that x-shit 16:13 <@wmonk> excellent :-) 16:13 < JovianPyx> I've got a 64GB card 16:14 <@wmonk> thats mighty plenty 16:14 <@wmonk> I've it all running on a 8GB card 16:14 < JovianPyx> the 64GB was the lowest price per byte 16:15 < JovianPyx> I've got 2 of them. I wanted big ones so there's no worry about running out of space any time soon 16:15 < JovianPyx> also, I believe it's possible to install more than one OS per card 16:15 < sonic> does it use grub or something? 16:16 <@wmonk> yeah, that's possible 16:16 < JovianPyx> ok, I put those last 2 sudo commands in there, so slim is installed and enabled 16:16 <@wmonk> excellent 16:16 <@wmonk> then the last step 16:17 <@wmonk> sudo nano ~/.xinitrc 16:17 <@wmonk> and uncomment / add the line 16:17 <@wmonk> exec startlxde 16:18 <@wmonk> oh, and there might be another one, and that is timezone shit, if you bother about that (its standard UK timezone) 16:18 < sonic> why didn't lxde install xorg etc as dependencies when it was installed? 16:18 < JovianPyx> there is no .xinitrc in ~ 16:18 <@wmonk> touch .xinitrc 16:18 <@wmonk> then there is 16:19 < JovianPyx> ok, it's a blank file 16:19 <@wmonk> yes 16:19 < JovianPyx> I see, add that command 16:19 <@wmonk> because we just made that file :P 16:19 < JovianPyx> ok 16:20 < JovianPyx> the "uncomment" confused me :p 16:20 < JovianPyx> but that's done 16:20 < JovianPyx> I need to chmod +x on that? 16:21 <@wmonk> I don't think so 16:21 <@wmonk> but maybe you should 16:21 <@wmonk> doesn't hurt 16:21 < JovianPyx> can't hurt At this point, I've added the file ~/.xinitrc manually. 16:21 < sonic> naw it's a config file eh? 16:21 <@wmonk> if you had done the xorg install before the lxde, it probably would have made that file for you 16:21 < JovianPyx> ah 16:22 < JovianPyx> reboot? 16:22 <@wmonk> yes 16:22 < sonic> does pacman not handle dependencies? 16:22 <@wmonk> it does 16:22 <@wmonk> xorg is not a dependency, as it can run on xorg or wayland 16:22 < JovianPyx> ah 16:22 < JovianPyx> there it is 16:23 < JovianPyx> very cool At this point, there is now a login screen for GUI use.
16:23 < JovianPyx> thank you Thomas! 16:23 <@wmonk> you're welcome :-) 16:23 < sonic> nice 16:23 <@wmonk> Arch is pretty easy, but you need to know that it ships with NOTHING 16:23 < sonic> i never heard of wayland 16:23 <@wmonk> it doesn't say that on the box 16:24 <@wmonk> it probably wasn't trying to run on Wayland 16:24 < JovianPyx> yeah, I kind of expected some stuff installed. That was totally BARE-ASS-NAKED 16:24 <@wmonk> as that is new age stuff 16:24 <@wmonk> very cool, but not very stable (yet) 16:24 < JovianPyx> There's also Pidora that I want to try 16:24 <@wmonk> Pidora wasn't updated in a while :-( 16:24 < JovianPyx> oh... 16:25 <@wmonk> that's why I switched to Arch 16:25 < JovianPyx> ah, so you tried it. I like the red-hat way better than debian 16:25 <@wmonk> the Arch guys keep there package pretty up to date 16:25 <@wmonk> and with a Pi that is a must 16:25 <@wmonk> as once in a while they release better drivers / finally make the GPU open source and stuff 16:26 < JovianPyx> I assume I can still use pacman, just in a terminal window 16:26 <@wmonk> I think they didn't even compile Pidora for ARM A7, so then it would only work on the older Pis 16:26 <@wmonk> yes 16:26 < sonic> i'm appalled by that networking kludge they did on raspbian 16:26 < JovianPyx> older Pis hee hee 16:27 < JovianPyx> that needs to be put in the FAQ or something 16:27 <@wmonk> you can search for packages with pacman -Ss some string 16:27 < JovianPyx> ah 16:27 < JovianPyx> I want to see if iceweasel is inthere 16:27 <@wmonk> but the arch wiki is awesome https://wiki.archlinux.org/index.php/Pacman#Querying_package_databases 16:29 <@wmonk> I think iceweasel is in AUR (Arch User Repository) 16:29 < sonic> what is the worst thing about Arch? 16:29 <@wmonk> probably not something you would want to try first 16:29 < JovianPyx> it's not there anyway, but firefox was found 16:30 < JovianPyx> if I pacman -S firefox 16:30 <@wmonk> sudo pacman -S netsurf I'd already installed firefox at this point - for one thing because I wanted chatzilla and I'm accustomed to using and configuring it.
16:30 < JovianPyx> is that it? or do I need to pacman -Sy ? 16:30 <@wmonk> -S is the standard stuff 16:30 <@wmonk> for installing 16:30 <@wmonk> firefox is pretty heavy though 16:30 < JovianPyx> heavy how? 16:30 <@wmonk> but probably will work on the newer pi 16:31 <@wmonk> it wants memory 16:31 < JovianPyx> oh 16:31 < JovianPyx> I've used it with raspbian 16:31 <@wmonk> its like a memory cookie monster 16:31 < JovianPyx> it works fine there 16:31 <@wmonk> then it will work fine under Arch
16:31 <@wmonk> as you probably have less stuff running beside it 16:32 < JovianPyx> exactly, and if I'm doing something serious with the machine, I won't be using a browser 16:32 < JovianPyx> ok - are the compiler tools (gcc) installed or do I need to pacman that ? 16:34 <@wmonk> you can check with pacman -Qs gcc gcc was not installed, so I installed with pacman 16:35 < JovianPyx> ff works 16:35 < JovianPyx> this seems faster than raspbian 16:35 <@wmonk> so for searching packages : pacman -Qs some string tells you about installed packages 16:35 < JovianPyx> maybe it's a faster sd card... 16:35 <@wmonk> pacman -Ss some string tells you about available packages 16:36 < sonic> yr pi is probably faster than some of my pcs 16:36 < JovianPyx> thankfully, this entire thing is in my log, I will go edit it down to a nice package of commands... 16:37 < sonic> i want one NOW! 16:37 <@wmonk> do eet!
Setting the desktop to a black screen with no wallpaper image: 16:40 < JovianPyx> how the hell do you make a plain black background? 16:40 <@wmonk> on what? 16:40 < JovianPyx> I don't want any image on the desktop. just blackness. 16:41 <@wmonk> rightclick desktop 16:41 <@wmonk> then preferences 16:41 < JovianPyx> yeah, did that 16:41 <@wmonk> then wallpaper mode 16:41 <@wmonk> and none 16:41 <@wmonk> that no worky? 16:41 < JovianPyx> ah 16:41 < JovianPyx> fill with background color only 16:42 <@wmonk> yup
16:47 < JovianPyx> installing gcc
16:51 < scott> Next i digging around in the bowels to make static IP 17:01 < scott> wow. that was easy. static IP now Actually, what I tried failed (iproute2 I believe). I ultimately had to edit /etc/dhcpcd.conf. What follows are the lines I added to the end of the file: interface eth0 static ip_address= static routers= static domain_name_servers=
Notes about pacman: 17:03 <@wmonk> pacman is pretty powerful 17:04 <@wmonk> and I like the difference between -Q (local) and -S 17:04 <@wmonk> -Q is local database 17:04 <@wmonk> -S the sync database 17:05 <@wmonk> so all -Q commands work on the local database 17:05 <@wmonk> as in, see what packages are installed, list em, search in em, remove em 17:05 <@wmonk> all -S commands work on packages that are available in the repos, search, list, install, update


Here is a copy of my ~/.xinitrc (created manually). This file starts the GUI, but has screen blanking disabled. The last line can be commented to disable starting X. xset s off xset -dpms s off xset s noblank exec startlxde