Notes to self about reinstalling Arch Linux
I got a new 500 GB SSD drive for my laptop, so I'm installing Arch on it.
Before installation, copy all of ~ to my network drive:
mkdir /whatever/on/network/drive
cd ~
cp -rpP .
Turns out my network drive doesn't support the 'p' option, so no timestamps were saved. Note also that this command copies everything, including all the dot files and the 35GB of crap that was in the trash folder that I forgot about.
Burn the latest Arch installation .iso to a DVD. The file is a little too large for a CD.
Remove the old hard drive, install the new one.
Insert the Arch installation disk, reboot.
Choose 'Boot Arch Linux'. This gets to a command prompt as root.
Check the networking, just ping google or somewhere, it should just work.
Partition the drive. Partition plan:
/dev/sda1 ext4 / 50 GB
/dev/sda2 swap 1 GB
/dev/sda3 ext4 /home All remaining space
I used fdisk to create the partitions. Before creating the above partitions, use the 'o' option to create an MBR sector. All 3 were set as primary partitions. Use the 'a' option to set /dev/sda1 as bootable.
Format the partitions:
mkfs -t ext4 /dev/sda1
mkfs -t ext4 /dev/sda3
swapon
Mount the partitions:
mkdir /mnt
mkdir /mnt/home
mount /dev/sda1 /mnt
mount /dev/sda3 /mnt/home
Base Arch installation:
pacstrap /mnt base base-devel
This takes a while.
Create fstab:
genfstab /mnt >> /mnt/etc/fstab
Check it with
less /mnt/etc/fstab
There should be an entry for / and one for /home.
Chroot into the new system:
arch-chroot /mnt
Set the timezone:
ln -s /usr/share/zoneinfo/US/Mountain /etc/localtime
Set the hardware clock:
hwclock -systohc --utc
Set the locale:
nano /etc/locale.gen
Find the line with en_US.UTF-8 and uncomment it, then save the file and
locale-gen
Set the LANG variable:
echo LANG=en_US.UTF-8 > /etc/locale.conf
I actually set the locale much later when I found out that Perl whines non-stop about it.
Set the hostname:
echo deadlock > /etc/hostname
Update /etc/hosts and add an entry for deadlock.
Set the root password:
passwd
Install grub:
pacman -S grub-bios
grub-install /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg
Unmount the partitions:
exit (gets out of chroot environment)
umount /mnt/home
umount /mnt
reboot (leave the installation disk in)
When the Arch installation choices come up, choose boot from existing OS.
Turn on dhcp:
systemctl enable dhcpcd
Then reboot again, but this time remove the Arch installation disk first.
Install xfce:
sound:
pacman -S alsa-utils
xorg:
pacman -S xorg-server xorg-server-utils xorg-xinit
xfce:
pacman -S xfce4 xfcd4-goodies
lightdm: (display manager, starts xfce and asks for username/password)
pacman -S lightdm
Enable lightdm:
systemctl enable lightdm.service
add myself as a user:
visudo
uncomment the line %wheel ALL=(ALL) ALL, save
useradd -m -g users -G storage,power,wheel -s /bin/bash danson
passwd danson
Reboot. The system should come up with the new lightdm display manager asking for a user name and password.
Copy all the files from the network drive to ~.
Spend the next couple of weeks installing and configuring stuff, like there aren't any printers, ssh isn't available yet, java needs installed, etc.
Update 12 Sep 2016:
I realized I didn't install the wireless network stuff. The kernel driver is already installed, so first, add me to the 'users' group:
gpasswd -a danson users
Log out and log back in for this to take effect. Install wicd and the gtk gui:
pacman -S wicd wicd-gtk
Start wicd:
systemctl start wicd
Have wicd start on start up:
systemctl enable wicd
Kill and disable dhcpcd:
kill -9 dhcpcd
systemctl disable dhcpcd
Update 19 Sep 2016:
The touchpad is wonky. I've been using a regular mouse, so didn't notice this until I was traveling for a few days.
pacman -S xf86-input-synaptics
Create /etc/X11/xorg.conf.d/70-synaptics.conf with this content:
Section "InputClass"
Identifier "touchpad"
Driver "synaptics"
MatchIsTouchpad "on"
Option "TapButton1" "1"
Option "TapButton2" "3"
Option "TapButton3" "2"
Option "VertEdgeScroll" "on"
Option "VertTwoFingerScroll" "on"
Option "HorizEdgeScroll" "on"
Option "HorizTwoFingerScroll" "on"
Option "CircularScrolling" "on"
Option "CircScrollTrigger" "2"
Option "EmulateTwoFingerMinZ" "40"
Option "EmulateTwoFingerMinW" "8"
Option "CoastingSpeed" "0"
Option "FingerLow" "30"
Option "FingerHigh" "50"
Option "MaxTapTime" "125"
EndSection
Log out and log back in (or otherwise restart X)
Showing posts with label Arch. Show all posts
Showing posts with label Arch. Show all posts
Thursday, September 8, 2016
Wednesday, April 23, 2014
How to tether Nexus 4 and Arch Linux
Connect phone and laptop with USB cable.
On the phone, go to:
Settings, Wireless and Networks, More..., Tethering & portable hotspot, check USB Tethering.
On the laptop:
In a terminal, run
ip link
Find the USB link, it should be named something like enp0s20u1.
Connect to it:
sudo dhcpcd enp0s20u1
That should do it.
On the phone, go to:
Settings, Wireless and Networks, More..., Tethering & portable hotspot, check USB Tethering.
On the laptop:
In a terminal, run
ip link
Find the USB link, it should be named something like enp0s20u1.
Connect to it:
sudo dhcpcd enp0s20u1
That should do it.
Tuesday, November 26, 2013
How to downgrade SVN in Arch Linux
Whenever I do an update to arch, it installs a new version of subversion, which is as it should be. At the moment, the latest is SVN 1.8.3. However, several of the development tools I use depend on svnkit, which currently supports SVN 1.7.x. So to keep my command line svn compatible with my svnkit-based tools, I need to downgrade. As usual, I'm adding this blog entry so I can remember how to do this. It's pretty simple:
cd /usr/lib
sudo ln -s libserf-1.so.3.0.0 libserf-1.so.0
svn --version will either work or say it's missing libserf.
Last resort: This happened recently, I updated arch and got SVN 1.9.5. My svnkit is still 1.8.12. I tried following the above, but since I'd also upgraded my hard drive recently, I didn't have any old packages in /var/cache/pacman/pkg. I couldn't find the older tar.xz files for SVN 1.8 anywhere (maybe they are out there, I just couldn't find them). So in my .bashrc file, I added these lines:
export PATH=$PATH:/home/danson/src/svnkit-1.8.12/bin
alias svn="jsvn"
This means I'm now using the svn client from svnkit instead of the official svn client from Apache. If I really need the Apache client, it's still there in /usr/bin, so I'm covered either way.
- cd /var/cache/pacman/pkg
- ls sub*
subversion-1.7.9-4-x86_64.pkg.tar.xz subversion-1.8.0-1-x86_64.pkg.tar.xz
subversion-1.7.9-6-x86_64.pkg.tar.xz subversion-1.8.3-1-x86_64.pkg.tar.xz - sudo pacman -U subversion-1.7.9-6-x86_64.pkg.tar.xz
cd /usr/lib
sudo ln -s libserf-1.so.3.0.0 libserf-1.so.0
svn --version will either work or say it's missing libserf.
Last resort: This happened recently, I updated arch and got SVN 1.9.5. My svnkit is still 1.8.12. I tried following the above, but since I'd also upgraded my hard drive recently, I didn't have any old packages in /var/cache/pacman/pkg. I couldn't find the older tar.xz files for SVN 1.8 anywhere (maybe they are out there, I just couldn't find them). So in my .bashrc file, I added these lines:
export PATH=$PATH:/home/danson/src/svnkit-1.8.12/bin
alias svn="jsvn"
This means I'm now using the svn client from svnkit instead of the official svn client from Apache. If I really need the Apache client, it's still there in /usr/bin, so I'm covered either way.
Subscribe to:
Posts (Atom)