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
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
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
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:
static domain_name_servers=192.168.0.120 22.214.171.124
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
DISABLE SCREEN BLANKING: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