mkdir ~/tmp cd ~/tmp wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.8.9.tar.bz2 tar xvf linux-3.8.9.tar.bz2 cd linux-3.8.9/ wget http://ck.kolivas.org/patches/3.0/3.8/3.8-ck1/patch-3.8-ck1.bz2 bunzip2 patch-3.8-ck1.bz2 patch -p1 < patch-3.8-ck1 cp /proc/config.gz . gunzip config.gz mv config .config make oldconfig make -j2 make -j2 modules sudo make modules_install sudo make headers_install INSTALL_HDR_PATH=/usr/src/linux-3.8.9-ck1-ARCH sudo cp arch/x86_64/boot/bzImage /boot/vmlinuz-3.8.9-ck1-ARCH sudo cp System.map /boot/System-3.8.9-ck1-ARCH.map sudo mkinitcpio -k 3.8.9-ck1-ARCH -c /etc/mkinitcpio.conf -g /boot/initramfs-3.8.9-ck1-ARCH.img sudo grub-mkconfig -o /boot/grub/grub.cfg
Showing posts with label arch linux. Show all posts
Showing posts with label arch linux. Show all posts
26 April 2013
397. Briefly: compiling ck (Con Kolivas) kernel 3.8.9 in arch linux
11 March 2013
356. Installing Office 2003 under Wine on Arch Linux
I did this in wine 1.5.25. Office 2003 is a bit trickier in Arch than in debian (http://verahill.blogspot.com.au/2013/01/307-installing-office-2003-in-wine-on.html)
1. First enable multilib in /etc/pacman.conf
2. Install wine
Follow the instructions (i.e. download the msi file and put it in the right location)
3. Install Office
loop-mount your iso (or put in the CD)
Don't choose advanced customisation or the install will eventually fail. You can run 'wine control' later and click on 'Add/Remove programs' but unfortunately I don't seem to be able to actually get MS equation editor to install that way either.
I was hoping that 1.5.25 would work with Equation editor, but it didn't: http://bugs.winehq.org/show_bug.cgi?id=32697
1. First enable multilib in /etc/pacman.conf
96 97 [multilib] 98 SigLevel = PackageRequired 99 Include = /etc/pacman.d/mirrorlist 100
2. Install wine
pacman -S wine winetricks wine_gecko
WINEARCH=win32 winecfg winetricks msxml3
Follow the instructions (i.e. download the msi file and put it in the right location)
3. Install Office
loop-mount your iso (or put in the CD)
sudo mkdir -p /media/cdrom sudo chmod u+rwx /media/cdrom chmod og+rx /media/cdrom sudo mount -o loop OFFICE11.iso /media/cdrom msiexec \i /media/cdrom/pro11.msi
Don't choose advanced customisation or the install will eventually fail. You can run 'wine control' later and click on 'Add/Remove programs' but unfortunately I don't seem to be able to actually get MS equation editor to install that way either.
I was hoping that 1.5.25 would work with Equation editor, but it didn't: http://bugs.winehq.org/show_bug.cgi?id=32697
05 March 2013
355. Compiling kernel 3.8.2 on Arch linux -- exploration
Edit: remove the sudo make install line -- it shouldn't be necessary and it triggers an error: 'cannot find LILO'
You can generate a good starting .config with make localconfig which creates a .config which prepares the modules which are in use by your system at that point. You can also get the old kernel config from /proc/config.gz which is probably a better approach.
I would guess that the approach described here is pretty much distro-agnostic.
Anyway, compiling the kernel:
NOTE: the naming isn't random. In order for grub-mkconfig to discover both the vmlinuz and initramfs files they need to be named vmlinuz-IDENTIFIER and initramfs-IDENTIFIER.img. The identifier can be anything.
Generate your grub.cfg:
You can generate a good starting .config with make localconfig which creates a .config which prepares the modules which are in use by your system at that point. You can also get the old kernel config from /proc/config.gz which is probably a better approach.
I would guess that the approach described here is pretty much distro-agnostic.
Anyway, compiling the kernel:
mkdir ~/tmp cd ~/tmp wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.8.2.tar.bz2 tar xvf linux-3.8.2.tar.bz2 cd linux-3.8.2/ cp /proc/config.gz . gunzip config.gz mv config .config make oldconfig make -j2 make -j2 modules sudo make modules_install sudo make headers_install INSTALL_HDR_PATH=/usr/src/linux-3.8.2 sudo cp arch/x86_64/boot/bzImage /boot/vmlinuz-3.8.2 sudo cp System.map /boot/System-3.8.2.map sudo mkinitcpio -k 3.8.2-ARCH -c /etc/mkinitcpio.conf -g /boot/initramfs-3.8.2.img
NOTE: the naming isn't random. In order for grub-mkconfig to discover both the vmlinuz and initramfs files they need to be named vmlinuz-IDENTIFIER and initramfs-IDENTIFIER.img. The identifier can be anything.
Generate your grub.cfg:
sudo grub-mkconfig -o /boot/grub/grub.cfg
Reboot, and do
uname -a
Linux titanium 3.8.2 #1 SMP Mon Mar 4 20:17:17 EST 2013 x86_64 GNU/Linux
03 March 2013
354. Some Arch linux post-installation steps/observations
I decided to temporarily switch my laptop over to Arch linux while keeping all my other boxes running debian. Luckily I had an old HDD which had Windows XP and Ubuntu (after a long hiatus from playing with Fedora Core and Mepis I got serious with Hardy Heron) that I could use -- I nuked the ubuntu install but kept the XP install for...some reason.
Still under preparation: Item 20 (chrooted firefox)
Anyway, here are some of the post installation steps I went through and some of my observations. It might help the odd debian person who explores arch. These are in addition to cosmetic things like installing the frippery extensions and faenza icon set for GNOME.
Index
0. Home partition during installation
1. There's no update-grub in Arch
2. Thinkpad
3. Changing Wallpaper in gnome 3.6
4. Get gdm to autostart
5. Get guake and conky to autostart
6. Adding a windows partition to grub2
7. Mounting ntfs partition
8. Skype and wine
9. Dropbox
10. 'apt-file' on Arch
11. Finding foreign (AUR) packages
12. No texmaker
13. systemd and network interface names
14. Virtualbox
15. grub2 theme
16. BankID
17. Truecrypt and "Failed to set up a loop device"
18. Can boot via USB but not SATA --
"unable to find root device"
19. Problems with Guake and transparency in new tabs
0. Home partition during installation
I've covered installation of arch before (e.g. here, here and here). To have a separate home, partition your disk accordingly, and install as normal. Don't make any user while in archchroot though. Instead, edit the /etc/fstab to include the home partition, and create the user on booting from the new arch install.
1. There's no update-grub in Arch
Instead you use
It also means that e.g. any windows installations won't be auto-detected. See below for how to deal with that.
2. Thinkpad
To get the video working you need to install xf86-video-intel
To get the mouse pad working you need to install xf86-input-synaptics
Install lm_sensors and acpi and run sudo sensors-detect to set up temperature and fan speed sensors, and battery status (acpi).
The LEDs seem to work at times with tp_smapi. Not perfect.
Problems:
the mute button doesn't work (mute immediately followed volume down works), nor does mute mic. I've tried a lot of options but so far no luck.
3. Changing Wallpaper in gnome 3.6
The debian devs may think they are simplifying things, but are often making things more difficult to discover. To change wallpaper go to the gnome overview, open Background, and click on the wallpaper in the centre of the window. THAT brings up a list over installed wallpapers etc.
4. Get gdm to autostart
5. Get guake and conky to autostart
Create /usr/share/applications/conky.desktop:
6. Adding a windows partition to grub2
You'll need to edit or create something aking to /etc/grub.d/40_custom
Edit /etc/fstab
8. Skype and wine
You need to edit /etc/pacman.conf and uncomment the multilib repos.
I originally had a qt/qt4 conflict, but updating magically took care of that. Somehow.
NOTE that to get a useable 32 bit wine install you will need to specify this. See e.g. https://wiki.archlinux.org/index.php/Wine#Using_WINEARCH
9. Dropbox
You need to get dropbox and dropbox-nautilus from AUR. Create /etc/xdg/autostart/dropbox.desktop
(I first tried systemctl enable dropbox@$USER but it didn't get nautilus running properly with dropbox. The method above works.)
10. 'apt-file' on arch
...is done with pkgfile.
11. Finding foreign (AUR) packages.
AUR packages won't update themselves so you need to uninstall and rebuild each time. To find your AUR builds, do
12. No texmaker
Texmaker is in AUR and builds fine. It's also easy to build on your own, but installing it with pacman makes it easier to keep tabs on it.
13. systemd and network interface names
My network interfaces always end up with weird names in Arch (w5pls etc.). To manually name your interfaces create e.g. 70-persistent-net.rules in /etc/udev/rules.d/
14.Virtualbox
To load the vboxdrv module manually do
To auto-load on boot do
To sort out dkms:
15. grub2 theme
The stock grub2 startup screen in arch is a bit bland. To spice it up, install grub2-theme-archlinux from AUR.
Edit /etc/default/grub and add
It looks a lot like the mockup here: http://xcracx.deviantart.com/art/Archlinux-Grub2-mockup-121231574
16. BankID
Install bankid via AUR:
It should now work under firefox. NOTE that in order to be able to test it using test.bankid.com you must change your useragent (see e.g. http://verahill.blogspot.com.au/2013/02/341-upgradinginstalling-bankid-on-64.html). However, it will work with e.g. skatteverket and sparbanken without changing the user agent.
17. Truecrypt and "Failed to set up a loop device"
The module loop isn't loaded. Either modprobe it, or make it load automatically on boot:
18. Arch won't boot -- "unable to find root device"
I could boot from the hdd when it was tethered via USB, but not when it was attached via a sata cable. The error was something along the lines of "unable to find root device".
I solved it by following this post. http://fanweiphysicist.blogspot.com.au/2012/02/unable-to-find-root-device-archlinux.html
19. Guake bug
On my laptop, with the xf86-video-intel drivers install, opening a new tab gives me a black background instead of a transparent one.
Not sure what the proper solution to this is, but when I set up an installation on another hdd and installed the f86-video-nv and ati drivers as well, I no longer had any issues with transparency.
(Long story short: I first installed Arch on a spinning 2.5" drive and used my laptop with it for a week. Satisfied that it worked well enough, I installed Arch to my SSD by tethering it via USB to a desktop with an external nvidia card and onboard ati graphics -- so I installed all three video drivers. Putting the hdd in the laptop, guake behaved as it should with proper transparency for all tabs. Not sure what the original issue was)
20. chrooted firefox -- in progress.
For now I've installed sandfox from AUR.
First of all, read this exchange to get a feel for the scope of chroots: http://kerneltrap.org/mailarchive/linux-kernel/2007/9/19/263398/thread#mid-263398. It's not perfect as a security tool, as it wasn't meant to be one. Having said that, security works in layers and this is one which is easy to implement and adds a little bit of security.
Chrooting a programme doesn't give you any privacy or prevents firefox from leaving traces (use an encrypted and anonymous tunnel and put the chroot in a truecrypt container to cover yourself a bit more).
Launch the chroot with a script with something like this in it:
You could also put 8.8.8.8 in resolv.conf (google dns).
Still not working properly (firefox segfaults)
Still under preparation: Item 20 (chrooted firefox)
Anyway, here are some of the post installation steps I went through and some of my observations. It might help the odd debian person who explores arch. These are in addition to cosmetic things like installing the frippery extensions and faenza icon set for GNOME.
Index
0. Home partition during installation
1. There's no update-grub in Arch
2. Thinkpad
3. Changing Wallpaper in gnome 3.6
4. Get gdm to autostart
5. Get guake and conky to autostart
6. Adding a windows partition to grub2
7. Mounting ntfs partition
8. Skype and wine
9. Dropbox
10. 'apt-file' on Arch
11. Finding foreign (AUR) packages
12. No texmaker
13. systemd and network interface names
14. Virtualbox
15. grub2 theme
16. BankID
17. Truecrypt and "Failed to set up a loop device"
18. Can boot via USB but not SATA --
"unable to find root device"
19. Problems with Guake and transparency in new tabs
0. Home partition during installation
I've covered installation of arch before (e.g. here, here and here). To have a separate home, partition your disk accordingly, and install as normal. Don't make any user while in archchroot though. Instead, edit the /etc/fstab to include the home partition, and create the user on booting from the new arch install.
UUID=b59b7022-eda1-40b8-b1e0-ada3f172ba90 /home ext4 defaults, user_xattr 0 0
1. There's no update-grub in Arch
Instead you use
grub-mkconfig -o /boot/grub/grub.cfg
It also means that e.g. any windows installations won't be auto-detected. See below for how to deal with that.
2. Thinkpad
To get the video working you need to install xf86-video-intel
To get the mouse pad working you need to install xf86-input-synaptics
Install lm_sensors and acpi and run sudo sensors-detect to set up temperature and fan speed sensors, and battery status (acpi).
The LEDs seem to work at times with tp_smapi. Not perfect.
Problems:
the mute button doesn't work (mute immediately followed volume down works), nor does mute mic. I've tried a lot of options but so far no luck.
3. Changing Wallpaper in gnome 3.6
The debian devs may think they are simplifying things, but are often making things more difficult to discover. To change wallpaper go to the gnome overview, open Background, and click on the wallpaper in the centre of the window. THAT brings up a list over installed wallpapers etc.
4. Get gdm to autostart
systemctl enable gdm
5. Get guake and conky to autostart
sudo cp /usr/share/applications/guake.desktop /etc/xdg/autostart/
Create /usr/share/applications/conky.desktop:
[Desktop Entry] Encoding=UTF-8 Name=Conky Comment=Conky TryExec=conky Exec=conky Icon=conky Type=Application Categories=GNOME;GTK;System;Utility StartupNotify=true
sudo cp /usr/share/applications/conky.desktop /etc/xdg/autostart/
6. Adding a windows partition to grub2
You'll need to edit or create something aking to /etc/grub.d/40_custom
7. Mounting ntfs partitionmenuentry "Microsoft Windows XP" { insmod part_msdos insmod ntfs insmod search_fs_uuid insmod ntldr\ search --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 B8AC3A4BAC3A0482 ntldr /ntldr }
sudo pacman -S ntfs-3g sudo mkdir -p /media/winxp sudo chown $USER /media/winxp
Edit /etc/fstab
UUID=B8AC3A4BAC3A0482 /media/winxp ntfs-3g noauto,uid=1000 0 0
8. Skype and wine
You need to edit /etc/pacman.conf and uncomment the multilib repos.
[multilib] SigLevel = PackageRequired Include = /etc/pacman.d/mirrorlist
sudo pacman -Syu sudo pacman -S wine sudo pacman -S skype lib32-libpulse
I originally had a qt/qt4 conflict, but updating magically took care of that. Somehow.
NOTE that to get a useable 32 bit wine install you will need to specify this. See e.g. https://wiki.archlinux.org/index.php/Wine#Using_WINEARCH
9. Dropbox
You need to get dropbox and dropbox-nautilus from AUR. Create /etc/xdg/autostart/dropbox.desktop
[Desktop Entry] Encoding=UTF-8 Name=Dropbox daemon TryExec=dropboxd Exec=dropboxd Startupnotify=true
(I first tried systemctl enable dropbox@$USER but it didn't get nautilus running properly with dropbox. The method above works.)
10. 'apt-file' on arch
...is done with pkgfile.
sudo pacman -S pkgfile pkgfile --update pkgfile -s libXv.so.1
11. Finding foreign (AUR) packages.
AUR packages won't update themselves so you need to uninstall and rebuild each time. To find your AUR builds, do
pacman -Qm
12. No texmaker
Texmaker is in AUR and builds fine. It's also easy to build on your own, but installing it with pacman makes it easier to keep tabs on it.
13. systemd and network interface names
My network interfaces always end up with weird names in Arch (w5pls etc.). To manually name your interfaces create e.g. 70-persistent-net.rules in /etc/udev/rules.d/
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:27:9e:27:9b:20", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:23:fb:b3:d2:c8", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0"
14.Virtualbox
sudo pacman -S virtualbox virtualbox-host-modules linux-headers sudo usermod -G vboxusers -a $USER
To load the vboxdrv module manually do
sudo modprobe vboxdrv
To auto-load on boot do
sudo su echo "vboxdrv">> /etc/modules-load.d/virtualbox.conf exit
To sort out dkms:
sudo pacman -S dkms virtualbox-host-dkms sudo systemctl enable dkms sudo dkms install vboxhost/4.2.8
15. grub2 theme
The stock grub2 startup screen in arch is a bit bland. To spice it up, install grub2-theme-archlinux from AUR.
Edit /etc/default/grub and add
Then doGRUB_THEME="/boot/grub/themes/Archlinux/theme.txt"
sudo grub-mkconfig -o /boot/grub/grub.cfg
It looks a lot like the mockup here: http://xcracx.deviantart.com/art/Archlinux-Grub2-mockup-121231574
16. BankID
Install bankid via AUR:
wget https://aur.archlinux.org/packages/ne/nexuspersonal/nexuspersonal.tar.gz tar xvf nexuspersonal.tar.gz cd nexuspersonal makepkg -s sudo pacman -U nexuspersonal-4.19.1.11663-4-x86_64.pkg.tar.xz sudo pacman -S nspluginwrapper firefox sudo nspluginwrapper --install /usr/local/lib/personal/libplugins.so
It should now work under firefox. NOTE that in order to be able to test it using test.bankid.com you must change your useragent (see e.g. http://verahill.blogspot.com.au/2013/02/341-upgradinginstalling-bankid-on-64.html). However, it will work with e.g. skatteverket and sparbanken without changing the user agent.
17. Truecrypt and "Failed to set up a loop device"
The module loop isn't loaded. Either modprobe it, or make it load automatically on boot:
sudo su echo "loop">> /etc/modules-load.d/loop.conf
exit
18. Arch won't boot -- "unable to find root device"
I could boot from the hdd when it was tethered via USB, but not when it was attached via a sata cable. The error was something along the lines of "unable to find root device".
I solved it by following this post. http://fanweiphysicist.blogspot.com.au/2012/02/unable-to-find-root-device-archlinux.html
19. Guake bug
On my laptop, with the xf86-video-intel drivers install, opening a new tab gives me a black background instead of a transparent one.
Not sure what the proper solution to this is, but when I set up an installation on another hdd and installed the f86-video-nv and ati drivers as well, I no longer had any issues with transparency.
(Long story short: I first installed Arch on a spinning 2.5" drive and used my laptop with it for a week. Satisfied that it worked well enough, I installed Arch to my SSD by tethering it via USB to a desktop with an external nvidia card and onboard ati graphics -- so I installed all three video drivers. Putting the hdd in the laptop, guake behaved as it should with proper transparency for all tabs. Not sure what the original issue was)
20. chrooted firefox -- in progress.
For now I've installed sandfox from AUR.
First of all, read this exchange to get a feel for the scope of chroots: http://kerneltrap.org/mailarchive/linux-kernel/2007/9/19/263398/thread#mid-263398. It's not perfect as a security tool, as it wasn't meant to be one. Having said that, security works in layers and this is one which is easy to implement and adds a little bit of security.
Chrooting a programme doesn't give you any privacy or prevents firefox from leaving traces (use an encrypted and anonymous tunnel and put the chroot in a truecrypt container to cover yourself a bit more).
sudo pacman -S devtools xorg-xhost mkdir -p $HOME/tmp/jail sudo mkarchroot $HOME/tmp/jail/arch64 base sudo firefox flashplugin sudo chroot $HOME/tmp/jail/arch64 passwd useradd -m sandbox passwd sandbox echo "sandbox ALL=(ALL) ALL" >> /etc/sudoers echo 'export LC_ALL="C"'>>/etc/bash.bashrc echo 'export LANG="C"'>>/etc/bash.bashrc echo 'DISPLAY=:0.0' >> /etc/bash.bashrc source /etc/bash.bashrc exit
Launch the chroot with a script with something like this in it:
xhost + sudo cp /etc/resolv.conf $HOME/tmp/jail/arch64/etc/resolv.conf sudo mount -o bind /proc $HOME/tmp/jail/arch64/proc sudo mount -o bind /sys $HOME/tmp/jail/arch64/sys sudo mount -o bind /dev $HOME/tmp/jail/arch64/dev sudo chroot $HOME/tmp/jail/arch64
You could also put 8.8.8.8 in resolv.conf (google dns).
Still not working properly (firefox segfaults)
08 February 2013
336. Compiling ATLAS, netblas, lapack and openblas on Arch Linux
Here's another Arch post.
I was a bit surprised to find that there's no ATLAS in the standard Arch repositories (it is in AUR though), so here's how to build some of the more common math libraries for yourself:
ATLAS
Basically copy the scaling_governor to all cpus (cpu0, cpu1, cpu2 ...) as shown in the last line above. When you set the governor back to e.g. ondemand, follow the same steps.
Simple as that. You can now change the governor back
netlib BLAS and lapack
Edit make.inc
Hit c twice to configure, then g to generate.
Edit CMakeCache.txt and add the following lines at the beginning:
Do
again, then hit c once, then g.
Next,
Done.
Openblas
Copied from here: http://verahill.blogspot.com.au/2013/02/334-compiling-nwchem-with-openmpi-and.html
Download from http://github.com/xianyi/OpenBLAS/tarball/v0.1.1
I was a bit surprised to find that there's no ATLAS in the standard Arch repositories (it is in AUR though), so here's how to build some of the more common math libraries for yourself:
ATLAS
pacman -S wget base-devel gcc-fortran cpupower sudo systemctl enable cpupower
To build ATLAS you should set the governor for your CPU to performance to get the best optimization:
cpupower frequency-set -g performance sudo cp /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
Basically copy the scaling_governor to all cpus (cpu0, cpu1, cpu2 ...) as shown in the last line above. When you set the governor back to e.g. ondemand, follow the same steps.
sudo mkdir /opt/ATLAS chown ${USER} /opt/ATLAS mkdir -p ~/tmp/atlas cd ~/tmp/atlas wget http://www.netlib.org/lapack/lapack-3.4.2.tgz wget http://downloads.sourceforge.net/project/math-atlas/Stable/3.10.1/atlas3.10.1.tar.bz2 tar xvf atlas3.10.1.tar.bz2 mkdir build/ cd build/ ../ATLAS/./configure --prefix=/opt/ATLAS -Fa alg '-fPIC' --with-netlib-lapack-tarfile=$HOME/tmp/atlas/lapack-3.4.2.tgz --shared make make install
Simple as that. You can now change the governor back
cpupower frequency-set -g ondemand sudo cp /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor sudo cp /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor ...
netlib BLAS and lapack
pacman -S wget base-devel gcc-fortran cmake sudo mkdir /opt/netlib sudo chown $USER /opt/netlib mkdir /opt/netlib/blas/lib -p mkdir -p ~/tmp/blas cd ~/tmp/blas wget http://www.netlib.org/blas/blas.tgz tar xvf blas.tgz cd BLAS/
Edit make.inc
OPTS = -O3 -shared -m64 -march=native -fPIC
make all gfortran -shared -Wl,-soname,libnetblas.so -o libblas.so.1.0.1 *.o -lc ln -s libblas.so.1.0.1 libnetblas.so cp lib*blas* /opt/netlib/blas/lib cd ../ wget http://www.netlib.org/lapack/lapack-3.4.2.tgz tar xvf lapack-3.4.2.tgz mkdir /opt/netlib/lapack mkdir build/ cd build/ ccmake ../lapack-3.4.2/ -DCMAKE_INSTALL_PREFIX=/opt/netlib/lapack -DBUILD_SHARED_LIBS=ON -DUSE_OPTIMIZED_BLAS=ON
Hit c twice to configure, then g to generate.
Edit CMakeCache.txt and add the following lines at the beginning:
######################## # EXTERNAL cache entries ######################## BLAS_FOUND:STRING=TRUE BLAS_GENERIC_FOUND:BOOL=TRUE BLAS_GENERIC_blas_LIBRARY:FILEPATH=/opt/netlib/blas/lib/libnetblas.so BLAS_LIBRARIES:PATH=/opt/netlib/blas/lib/libnetblas.so
Do
ccmake ../lapack-3.4.2/
again, then hit c once, then g.
Next,
make make install
Done.
Openblas
Copied from here: http://verahill.blogspot.com.au/2013/02/334-compiling-nwchem-with-openmpi-and.html
Download from http://github.com/xianyi/OpenBLAS/tarball/v0.1.1
pacman -S wget base-devel gcc-fortran sudo mkdir /opt/openblas sudo chown $USER /opt/openblas tar xvf xianyi-OpenBLAS-v0.1.1-0-g5b7f443.tar.gz cd xianyi-OpenBLAS-e6e87a2/ make all BINARY=64 CC=/usr/bin/gcc FC=/usr/bin/gfortran USE_THREAD=0 INTERFACE64=1 1> make.log 2>make.err make PREFIX=/opt/openblas install cp lib*.* /opt/openblas/lib
07 February 2013
335. Compiling sinfo in Arch linux
Note: I'm not abandoning Debian. I'm just going on a roadtrip with Arch to see whether we can all happily co-exist in the same machine park.
sinfo is available in AUR, but it's broken and won't build. Luckily it's very easy to build it yourself.
(see here for debian and here for centos)
Not sure about a suitable systemd script (I'll update somewhere down the line). To start sinfod manually do
if you have multiple ifaces you can set the --bcastaddress.
To start sinfo itself, well, run sinfo
sinfo is available in AUR, but it's broken and won't build. Luckily it's very easy to build it yourself.
(see here for debian and here for centos)
mkdir ~/tmp cd ~/tmp sudo pacman -S wget base-devel boost asio wget http://www.ant.uni-bremen.de/whomes/rinas/sinfo/download/sinfo-0.0.47.tar.gz tar xvf sinfo-0.0.47.tar.gz cd sinfo-0.0.47/ sed -i 's/\-mt//g' sinfo/Makefile.* sed -i 's/\-mt//g' sinfod/Makefile.* ./configure make sudo make install
Not sure about a suitable systemd script (I'll update somewhere down the line). To start sinfod manually do
sudo sinfod --quiet
if you have multiple ifaces you can set the --bcastaddress.
To start sinfo itself, well, run sinfo
sinfo
Not much fun with only one node... |
334. Compiling nwchem with openmpi and python on Arch linux
Here's the reason why I gave my virtual machine 30 Gb in post 333 -- to be able to evaluate whether I can figure out how to build all the software that I need on Arch.
Behold my surprise when I realised that there's no need for separate -dev packages, as is the case on Debian i.e. the headers are generally installed together with the package (so e.g. python is enough -- you don't need python-dev as well).
While debian is probably the best choice for my nodes (I want stability -- not the latest flashiest stuff), nwchem is a good test case since I've been playing with it for years, and it's not available in the pacman or AUR repos.
Your mileage with openblas will vary depending on your hardware. ACML is an alternative on e.g. FX-8150. ATLAS doesn't seem to work with NWChem when I try it, but I'm not sure what I'm doing wrong. See the original post for examples on how to link to other math libs.
I'm mainly looking at this post: http://verahill.blogspot.com.au/2012/09/briefly-compiling-nwchem-611-with.html
Dependencies:
Openblas:
Download from http://github.com/xianyi/OpenBLAS/tarball/v0.1.1
Nwchem:
Edit nwchem-6.1.1-src/src/config/makefile.h and edit line 1957 as shown in this post.
Then continue:
Note that some of the locations are a little bit different from debian.
Edit your ~/.bashrc and add:
or
Behold my surprise when I realised that there's no need for separate -dev packages, as is the case on Debian i.e. the headers are generally installed together with the package (so e.g. python is enough -- you don't need python-dev as well).
While debian is probably the best choice for my nodes (I want stability -- not the latest flashiest stuff), nwchem is a good test case since I've been playing with it for years, and it's not available in the pacman or AUR repos.
Your mileage with openblas will vary depending on your hardware. ACML is an alternative on e.g. FX-8150. ATLAS doesn't seem to work with NWChem when I try it, but I'm not sure what I'm doing wrong. See the original post for examples on how to link to other math libs.
I'm mainly looking at this post: http://verahill.blogspot.com.au/2012/09/briefly-compiling-nwchem-611-with.html
Dependencies:
pacman -S wget base-devel gcc-fortran tcsh openmpi
Openblas:
Download from http://github.com/xianyi/OpenBLAS/tarball/v0.1.1
sudo mkdir /opt/openblas sudo chown $USER /opt/openblas tar xvf xianyi-OpenBLAS-v0.1.1-0-g5b7f443.tar.gz cd xianyi-OpenBLAS-e6e87a2/ make all BINARY=64 CC=/usr/bin/gcc FC=/usr/bin/gfortran USE_THREAD=0 INTERFACE64=1 1> make.log 2>make.err make PREFIX=/opt/openblas install cp lib*.* /opt/openblas/lib
Nwchem:
sudo mkdir /opt/nwchem sudo chown $USER /opt/nwchem cd /opt/nwchem wget http://www.nwchem-sw.org/images/Nwchem-6.1.1-src.2012-06-27.tar.gz tar xvf Nwchem-6.1.1-src.2012-06-27.tar.gz cd nwchem-6.1.1-src/
Edit nwchem-6.1.1-src/src/config/makefile.h and edit line 1957 as shown in this post.
Then continue:
export LARGE_FILES=TRUE export TCGRSH=/usr/bin/ssh export NWCHEM_TOP=`pwd` export NWCHEM_TARGET=LINUX64 export NWCHEM_MODULES="all python" export PYTHONVERSION=2.7 export PYTHONHOME=/usr export BLASOPT="-L/opt/openblas/lib -lopenblas" export USE_MPI=y export USE_MPIF=y export USE_MPIF4=y export MPI_LOC=/usr/lib/openmpi export MPI_INCLUDE=/usr/include export LIBRARY_PATH=$LIBRARY_PATH:/usr/lib/openmpi:/opt/openblas/lib export LIBMPI="-L/usr/lib/openmpi -lmpi -lopen-rte -lopen-pal -ldl -lmpi_f77 -lpthread" cd $NWCHEM_TOP/src make clean make nwchem_config make FC=gfortran 1> make.log 2>make.err export FC=gfortran cd ../contrib ./getmem.nwchem
Note that some of the locations are a little bit different from debian.
Edit your ~/.bashrc and add:
You can now test your new binary by running a job, e.g. co.nw:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/openblas/lib export PATH=$PATH:/opt/nwchem/nwchem-6.1.1-src/bin/LINUX64
title "co nmr" geometry c 0 0 0 o 0 0 1.13 end basis * library "6-311+g*" end dft direct grid fine mult 1 xc HFexch 0.05 slater 0.95 becke88 nonlocal 0.72 vwn_5 1 perdew91 0.81 end task dft optimizeRun:
nwchem co.nw
or
mpirun -n 2 nwchem co.nw
06 February 2013
333. Arch linux with Gnome in virtualbox
Not too different from what I've posted before (330, 331), but I'm just so excited that I can't help myself, so here we go:
I'll presume that you've got virtualbox installed.
0. Get the Arch iso:
If you're allowed to use bittorrent:
If you're not allowed to use bittorrent:
Note that the links will change with time.
1. Setting up the machine
Start virtualbox and click on New. Select Type=Linux and Version=Arch Linux.
Give the machine at least 512 Mb, although even that is probably a bit on the low end for Gnome.
There's a little bit of tinkering left to do. Click on Settings, go to Storage, and mount your iso:
2. First Boot
Click on Star which will boot off of the CD.
You can pick whatever makes you happy here. For the sake of simplicity will pick the first option -- x86_64.
You're now met with the first indication that this ain't Kansas (or Ubuntu):
Remember -- terminals/consoles should give you warm and fuzzy feeling because there is nothing which you can't accomplish in a terminal. A one-click installation option would be nice for checking things out though, but it's actually pretty easy to get started.
Preparing the harddrive
Our first step is to format the harddrive. Remember, it's an imaginary virtual harddrive -- nothing will be touched on your physical harddrive.
Do
fdisk /dev/sda
Hit n to create a new partition. p for primary, 1 to make it partition number 1, make it start at sector 2048, and make it e.g. 2 Gb by having it stop at +2G -- this will be our swap. Hit n again, p again, and make it partition number 2, and accept the default sectors that it suggests. This will be our /(root) partition.
Hit a, then 2, to make the partition bootable.
Hit t, then 1, then 82 to make a swap disk.
Hit w to finalise the changes.
Do
to set up the file systems.
Do
to mount your new ext4 partition.
Install a basic system:
Do
to get set up with pacman. Edit pacman.conf if you want a specific architecture (i686 or x86_64), or the current architecture will be used.
Time to install packages:
Generate a proto-fstab:
Then enter a chroot:
Edit /etc/fstab and add a line for swap:
Set up your locale and timezone:
Set up a user:
Edit /home/verahill/.xinitrc and uncomment
Set up grub and booting:
You're now ready to start your Arch system. First you need to shut down your current system though:
Once the machine is off, go to Settings, Storage, and remove disk from virtual drive.
Booting:
Boot by clicking on Start.
You might get the odd error message while booting, but everything will be fine.
Log in as the user you created, then enabled the ssh daemon and the wicd daemon:
Start wicd-curses
and wait 10-20 seconds for wicd to detect the network card and starting it
Quit by hitting 'Q'.
To launch gnome, type
It'll take a little while to start up. This is a pretty ugly Gnome though, but that's the stock background which changes during the day.
I'll presume that you've got virtualbox installed.
0. Get the Arch iso:
If you're allowed to use bittorrent:
sudo apt-get install bittorrent squashfs-tools cd ~/Downloads/ btdownloadcurses https://www.archlinux.org/iso/2013.01.04/archlinux-2013.01.04-dual.iso.torrent
If you're not allowed to use bittorrent:
cd ~/Downloads wget http://mirror.aarnet.edu.au/pub/archlinux/iso/2013.01.04/archlinux-2013.01.04-dual.iso
Note that the links will change with time.
1. Setting up the machine
Start virtualbox and click on New. Select Type=Linux and Version=Arch Linux.
Give the machine at least 512 Mb, although even that is probably a bit on the low end for Gnome.
Create a virtual harddisk. 8 Gb is enough for testing purposes, but if you're actually planning on using the virtual machine you're better off giving it something like 15-20 Gb. VDI is fine when it comes to format, and 'Dynamically allocated' is a safe choice for a normal desktop.
There's a little bit of tinkering left to do. Click on Settings, go to Storage, and mount your iso:
2. First Boot
Click on Star which will boot off of the CD.
You can pick whatever makes you happy here. For the sake of simplicity will pick the first option -- x86_64.
You're now met with the first indication that this ain't Kansas (or Ubuntu):
Remember -- terminals/consoles should give you warm and fuzzy feeling because there is nothing which you can't accomplish in a terminal. A one-click installation option would be nice for checking things out though, but it's actually pretty easy to get started.
Preparing the harddrive
Our first step is to format the harddrive. Remember, it's an imaginary virtual harddrive -- nothing will be touched on your physical harddrive.
Do
fdisk /dev/sda
Hit n to create a new partition. p for primary, 1 to make it partition number 1, make it start at sector 2048, and make it e.g. 2 Gb by having it stop at +2G -- this will be our swap. Hit n again, p again, and make it partition number 2, and accept the default sectors that it suggests. This will be our /(root) partition.
Hit a, then 2, to make the partition bootable.
Hit t, then 1, then 82 to make a swap disk.
Hit w to finalise the changes.
Do
mkswap /dev/sda1 mkfs.ext4 /dev/sda2
to set up the file systems.
Do
mount /dev/sda2 /mnt
to mount your new ext4 partition.
Install a basic system:
Do
pacman-key --init pacman-key --populate archlinux
to get set up with pacman. Edit pacman.conf if you want a specific architecture (i686 or x86_64), or the current architecture will be used.
Time to install packages:
pacstrap /mnt base gnome xorg-xinit xorg-server xorg-utils xorg-server-utils virtualbox-guest-modules virtualbox-guest-utils vim mlocate wicd wicd-gtk openssh grub-bios upower
Generate a proto-fstab:
genfstab -p /mnt > /mnt/etc/fstab
Then enter a chroot:
arch-chroot /mnt
Edit /etc/fstab and add a line for swap:
/dev/sda1 none swap sw 0 0
Set up your locale and timezone:
ln -s /usr/share/zoneinfo/Australia/Melbourne /etc/localtime echo 'LANG="en_US.UTF-8"'>/etc/locale echo 'KEYMAP=us'> /etc/vconsole.conf echo 'en_US.UTF-8 UTF-8' >> /etc/locale.gen locale-gen echo "spinebill" >/etc/hostname
Set up a user:
pacman -S sudo useradd -p `openssl passwd -1 mypassword` -m verahill echo "verahill ALL=(ALL) ALL">> /etc/sudoers
Edit /home/verahill/.xinitrc and uncomment
exec gnome-session
Set up grub and booting:
mkinitcpio -p linux grub-mkconfig -o /boot/grub/grub.cfg grub-install /dev/sda
You're now ready to start your Arch system. First you need to shut down your current system though:
exit umount /mnt shutdown -h now
Once the machine is off, go to Settings, Storage, and remove disk from virtual drive.
Booting:
Boot by clicking on Start.
You might get the odd error message while booting, but everything will be fine.
Log in as the user you created, then enabled the ssh daemon and the wicd daemon:
sudo systemctl enable sshd sudo systemctl enable wicd
Start wicd-curses
wicd-curses
and wait 10-20 seconds for wicd to detect the network card and starting it
Quit by hitting 'Q'.
To launch gnome, type
startx
evening gnome? |
daytime gnome? |
03 February 2013
331. A full linux install on a USB stick: Arch and LXDE on a thumbdrive
Update 9 June 2013: I've updated the torrent URL for the current image. Note that you will likely have to do this every month or so. See https://www.archlinux.org/download/ for the latest image.
Original post:
Post 330 (How to install Arch linux) got me thinking: one of my most popular posts is post 70 ("Installing Debian on a USB stick -- live usb vs a true and full installation").
I'm new to Arch and LXDE and Openbox -- I normally run Debian with Gnome 3 -- so I'm probably not doing this the best way. But if you're also new to Arch and struggling with the beginner's wiki you may find some ideas here.
I admit: this post and post 330 aren't that different. Here I basically refine what I did in post 330, and adapt it for desktop use. I also don't have to worry about networking here since we're not talking about a headless box anymore, but an interactive system. There'll most likely be a third post at some point which will be a streamlined version of this post. Anyway.
Whatever I do here will obviously also apply to a desktop installation of Arch -- i.e. if you're struggling with LXDE/openbox on Arch, see here.
Debian is fine and dandy, but the approach I describe there involves using a virtualbox to install debian on a thumbdrive.
In post 330 I learned how to use a chroot to set things up, which speeds things up significantly (you could of course just boot from a live CD etc., but that's too easy).
Also, while I'm very happy with debian and it gives pretty small installs if done correctly, Arch might just give even leaner installs.[citation needed]
So here's how to install Arch linux and a graphical DE (LXDE -- I've never warmed to XCE for some reason).
We'll do 32 bit Arch here -- a reason to make a bootable linux drive is so that you can travel with your own safe desktop, and 32 bit linux will work on almost all hardware you're likely to encounter, while 64 bit linux is limited to more modern hardware. Note that if you really want to be secure you will need to encrypt the entire USB stick with e.g. truecrypt -- otherwise in particular your gpg/pgp keys are at risk. Ultimately, security is a matter of vigilance and risk reduction.
You do need a running linux machine (or at least a live disk) -- I don't know how to do this from Windows.
Approach:
1. Formatting the thumbdrive
2. Chrooting the drive and installing stuff with pacstrap
3. Arch-chroot to install the boot loader, setting up internet, and installing a desktop
Formatting the thumbdrive
Plug in your drive to your running linux machine
Time to start fdisk. First we delete any existing partitions (and data...), then we make one partition, and then we'll make it bootable. We won't bother with a swap disk -- we don't have the space and we want to keep disk i/o to a minimum.
Get the arch iso and set up your chroot:
Note that you will most likely have to update the torrent URL every month or so. Obviously you'll need to change the mount command as well according to the iso name.
If you want x86_64 do unsquashfs -d arch/ /mnt/arch/x86_64/root-image.fs.sfs instead
Time to get busy:
The first chroot:
Generate a proto-fstab:
and edit it (/mnt/etc/fstab) to read something like (the uuid will differ):
The second chroot:
Edit /etc/locale.gen and uncomment the locales you want e.g.
Don't screw up that last step! If you put the wrong device the arch install won't boot, and most likely not the system you chrooted it from either. i.e. don't accidentally type /dev/sda (or sdb is you have two disks -- it's not difficult to repair, but you'll need a live CD already prepared)
Continuing to set up LXDE/Openbox and network:
I've only got nvidia boxes at home, but if you're travelling you're likely to run into intel and ati as well. You can probably skip the last package since we're pulling in nouveau
At this point startx would get you a black screen with a mouse cursor. Right-clicking on the background yields a menu, but you don't have anything installed.
There are a couple of services we want to run on boot:
Edit /etc/wicd/manager-settings.conf;change wired_interface to whatever you're using in udev.
The pc beep on tab is annoying me:
echo "blacklist pcspkr" > /etc/modprobe.d/nobeeep.conf
Create a user:
Optional:
At this point we have a setup which supports both wired and wireless internet (depending on drivers) and which has a very rudimentary desktop. We're now using 1.4 Gb, out of which 231 M is the package cache.
The range of programs that you may want to install is probably fairly personal, and will also depend on the size of your USB stick. Here's a basic selection which fits me (install as root, or try sudo, although the latter option works best if you actually boot from your USB stick rather than chroot it):
(when asked, ttf-bitstream-vera is fine)
Miscellaneous packages:
To improve the functionality of screen and vim, see here and here. Setting up Mutt and Mcabber is described here and here. Conky is here (item 4).
To sort out sound you might need to create ~/.asoundrc and fill it with:
(Not everyone is a fan of pulseaudio though)
And see this post for a bit more on encrypting communication and files (I travel in China so these things do matter)): http://verahill.blogspot.com.au/2012/05/encrypting-your-email-chat-and-phone-in.html
Some basic science packages that let's me do basic work on the road:
If you pull in all those packages you'll need a pretty big USB drive though (albeit you actually have a small build environment installed) -- it comes in at about 3.4 Gb. Skip the science stuff to save space.
Mandatory:
And I think that's that. Time to safely umount:
To boot:
Plug in your USB stick and hit whatever key or key-combination during BIOS start up is necessary to interrupt boot and allow you to select your boot device. Sometimes it's F9, F2, F12 or del.
On boot:
Your first task will be to get your internet up and running. Assuming that you haven't already played with /etc/udev/rules.d you need to find out what the interfaces are called. Do ifconfig -a, note the names, and then start wicd-curses. Select Preferences and enter the name of e.g. the wired interface.
Then start your desktop by running startx. There'll be plenty of menu options, but most programs will be missing, but that's what your ~/.config/openbox/menu.xml is for. And that's how far I've gotten. Time to explore.
Potential issues:
It doesn't always work on first try -- for some reason. I had to start from scratch twice before everything worked without a hitch. Often it's easier starting from scratch than trying to fix a basic installation.
You might not be able to run the systemctl commands until you've actually booted from the usb stick.
If you're on a laptop and the mouse/touchpad isn't working, install xf86-input-synaptics.
Consider installing wicd-gtk if you'll be working a desktop environment a lot.
Original post:
Post 330 (How to install Arch linux) got me thinking: one of my most popular posts is post 70 ("Installing Debian on a USB stick -- live usb vs a true and full installation").
I'm new to Arch and LXDE and Openbox -- I normally run Debian with Gnome 3 -- so I'm probably not doing this the best way. But if you're also new to Arch and struggling with the beginner's wiki you may find some ideas here.
I admit: this post and post 330 aren't that different. Here I basically refine what I did in post 330, and adapt it for desktop use. I also don't have to worry about networking here since we're not talking about a headless box anymore, but an interactive system. There'll most likely be a third post at some point which will be a streamlined version of this post. Anyway.
Whatever I do here will obviously also apply to a desktop installation of Arch -- i.e. if you're struggling with LXDE/openbox on Arch, see here.
Debian is fine and dandy, but the approach I describe there involves using a virtualbox to install debian on a thumbdrive.
In post 330 I learned how to use a chroot to set things up, which speeds things up significantly (you could of course just boot from a live CD etc., but that's too easy).
Also, while I'm very happy with debian and it gives pretty small installs if done correctly, Arch might just give even leaner installs.[citation needed]
So here's how to install Arch linux and a graphical DE (LXDE -- I've never warmed to XCE for some reason).
We'll do 32 bit Arch here -- a reason to make a bootable linux drive is so that you can travel with your own safe desktop, and 32 bit linux will work on almost all hardware you're likely to encounter, while 64 bit linux is limited to more modern hardware. Note that if you really want to be secure you will need to encrypt the entire USB stick with e.g. truecrypt -- otherwise in particular your gpg/pgp keys are at risk. Ultimately, security is a matter of vigilance and risk reduction.
You do need a running linux machine (or at least a live disk) -- I don't know how to do this from Windows.
Approach:
1. Formatting the thumbdrive
2. Chrooting the drive and installing stuff with pacstrap
3. Arch-chroot to install the boot loader, setting up internet, and installing a desktop
Formatting the thumbdrive
Plug in your drive to your running linux machine
df -hrootfs 28G 21G 5.7G 79% / udev 10M 0 10M 0% /dev tmpfs 397M 852K 396M 1% /run /dev/disk/by-uuid/d7479df8-0d84-4236-a92c-b05327b8fa3d 28G 21G 5.7G 79% / tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 2.3G 728K 2.3G 1% /run/shm /dev/sda5 112G 82G 25G 78% /home /dev/sdb2 937M 18M 872M 2% /media/ext /dev/sdb1 1014M 4.5M 1009M 1% /media/win32sudo umount /dev/sdb1 /dev/sdb2
Time to start fdisk. First we delete any existing partitions (and data...), then we make one partition, and then we'll make it bootable. We won't bother with a swap disk -- we don't have the space and we want to keep disk i/o to a minimum.
sudo fdisk /dev/sdbCreate the filesystem:Command (m for help): p Disk /dev/sdb: 2063 MB, 2063597056 bytes 64 heads, 62 sectors/track, 1015 cylinders, total 4030463 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000cf539 Device Boot Start End Blocks Id System /dev/sdb1 62 2079231 1039585 e W95 FAT16 (LBA) /dev/sdb2 2079232 4027519 974144 83 Linux Command (m for help): d Partition number (1-4): 1 Command (m for help): d Selected partition 2 Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-4030462, default 2048): Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-4030462, default 4030462): Using default value 4030462 Command (m for help): a Partition number (1-4): 1 Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
sudo mkfs.ext4 /dev/sdb1mke2fs 1.42.5 (29-Jul-2012) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 125952 inodes, 503551 blocks 25177 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=515899392 16 block groups 32768 blocks per group, 32768 fragments per group 7872 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912 Allocating group tables: done Writing inode tables: done Creating journal (8192 blocks): done Writing superblocks and filesystem accounting information: donesudo fsck /dev/sdb1fsck from util-linux 2.20.1 e2fsck 1.42.5 (29-Jul-2012) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information /dev/sdb1: 11/125952 files (0.0% non-contiguous), 16846/503551 blocksMake sure to verify you filesystem.
Get the arch iso and set up your chroot:
Note that you will most likely have to update the torrent URL every month or so. Obviously you'll need to change the mount command as well according to the iso name.
sudo apt-get install bittorrent squashfs-tools cd ~/Downloads/ btdownloadcurses https://www.archlinux.org/releng/releases/2013.06.01/torrent/ sudo mount -o loop archlinux-2013.06.01-dual.iso /mnt unsquashfs -d arch /mnt/arch/i686/root-image.fs.sfs
If you want x86_64 do unsquashfs -d arch/ /mnt/arch/x86_64/root-image.fs.sfs instead
Time to get busy:
sudo umount /mnt sudo mount -o loop arch/root-image.fs /mnt sudo cp /etc/resolv.conf /mnt/etc/resolv.conf sudo mount -o bind /proc /mnt/proc sudo mount -o bind /sys /mnt/sys sudo mount -o bind /dev /mnt/dev sudo mount -o bind /dev/pts /mnt/dev/pts sudo chroot /mnt [root@lithium /]#
The first chroot:
mount /dev/sdb1 /mnt mkdir /run/shm haveged -w 1024 pacman-key --init pacman-key --populate archlinux
If you're installing i686 (i.e. 32 bit) linux from an x86_64 (i.e. 64 bit) linux, edit /etc/pacman.conf and set Architecture:
Architecture = i686Continue:
pacstrap /mnt base vim grub-bios openssh wicd lxde-common lxsession desktop-file-utils openbox upowerThis will download a large number of packages (196 packages; ca 178 M download, ca 750 Mb installed), and will take a while. Make sure that all packages end with the architecture you want (e.g. -i686 or -x86_64) or '-any'. I've omitted base-devel above, since you might not need it.(196/196) installing openbox [#############] 100% Place menu.xml, rc.xml and autostart in ~/.config/openbox They can be found in /etc/xdg/openbox Optional dependencies for openbox pyxdg: for the xdg-autostart script
Generate a proto-fstab:
genfstab -p /mnt >> /mnt/etc/fstab
and edit it (/mnt/etc/fstab) to read something like (the uuid will differ):
The last two lines will automount CDs and usb sticks. It's not necessarily something you do want to allow -- so you may comment them out.UUID=c540eff0-0e10-4e7a-9fb6-190a46f38203 / ext4 rw,relatime,data=ordered 0 1 /dev/scd0 /media/cdrom0 udf,iso9660 user,noauto 0 0 /dev/sdb1 /media/usb0 auto rw,user,noauto 0 0
The second chroot:
arch-chroot /mnt
edit /etc/pacman.conf and change Architecture=auto to i686.
pacman -Syy ln -s /usr/share/zoneinfo/Australia/Melbourne /etc/localtime echo "kookaburra" > /etc/hostname
Edit /etc/locale.gen and uncomment the locales you want e.g.
en_GB.UTF-8 UTF-8
locale-gen echo 'LANG="en_GB.UTF-8"'>/etc/locale echo 'KEYMAP=us'> /etc/vconsole.conf
mkinitcpio -p linux grub-mkconfig -o /boot/grub/grub.cfg grub-install /dev/sdb
Don't screw up that last step! If you put the wrong device the arch install won't boot, and most likely not the system you chrooted it from either. i.e. don't accidentally type /dev/sda (or sdb is you have two disks -- it's not difficult to repair, but you'll need a live CD already prepared)
Continuing to set up LXDE/Openbox and network:
pacman -S ifplugd xorg-xinit xorg-server xorg-utils xorg-server-utils
I've only got nvidia boxes at home, but if you're travelling you're likely to run into intel and ati as well. You can probably skip the last package since we're pulling in nouveau
pacman -S xf86-video-nouveau xf86-video-ati xf86-video-intel xf86-video-nv nvidia
At this point startx would get you a black screen with a mouse cursor. Right-clicking on the background yields a menu, but you don't have anything installed.
There are a couple of services we want to run on boot:
systemctl enable wicd systemctl enable sshd
Edit /etc/wicd/manager-settings.conf;change wired_interface to whatever you're using in udev.
The pc beep on tab is annoying me:
echo "blacklist pcspkr" > /etc/modprobe.d/nobeeep.conf
Create a user:
pacman -S sudo useradd verahill -m echo "verahill ALL=(ALL) ALL">> /etc/sudoers su verahill cd ~ mkdir ~/.config/openbox -p
cp /etc/xdg/openbox/*.xml ~/.config/openbox cp /etc/xdg/openbox/* ~/.config/openbox
echo "exec startlxde" > ~/.xinitrc echo "export DESKTOP_SESSION=LXDE">> ~/.bashrc
exit
Optional:
At this point we have a setup which supports both wired and wireless internet (depending on drivers) and which has a very rudimentary desktop. We're now using 1.4 Gb, out of which 231 M is the package cache.
The range of programs that you may want to install is probably fairly personal, and will also depend on the size of your USB stick. Here's a basic selection which fits me (install as root, or try sudo, although the latter option works best if you actually boot from your USB stick rather than chroot it):
pacman -S truecrypt firefox chromium thunderbird flashplugin
(when asked, ttf-bitstream-vera is fine)
Miscellaneous packages:
pacman -S conky guake leafpad gparted elinks mcabber mutt gajim screen mlocate xterm lxpanel menumaker obmenu obconf alsa-utils volwheel pulseaudio-alsa
To improve the functionality of screen and vim, see here and here. Setting up Mutt and Mcabber is described here and here. Conky is here (item 4).
To sort out sound you might need to create ~/.asoundrc and fill it with:
pcm.!default.type pulse
ctl.!default.type pulse
(Not everyone is a fan of pulseaudio though)
And see this post for a bit more on encrypting communication and files (I travel in China so these things do matter)): http://verahill.blogspot.com.au/2012/05/encrypting-your-email-chat-and-phone-in.html
Some basic science packages that let's me do basic work on the road:
pacman -S octave gnuplot maxima gummi texlive-science gimp
If you pull in all those packages you'll need a pretty big USB drive though (albeit you actually have a small build environment installed) -- it comes in at about 3.4 Gb. Skip the science stuff to save space.
Mandatory:
And I think that's that. Time to safely umount:
exit
exit umount /mnt exit sudo umount /mnt/proc sudo umount /mnt/sys sudo umount /mnt/dev/pts sudo umount /mnt/dev sudo umount /mnt
To boot:
Plug in your USB stick and hit whatever key or key-combination during BIOS start up is necessary to interrupt boot and allow you to select your boot device. Sometimes it's F9, F2, F12 or del.
On boot:
Your first task will be to get your internet up and running. Assuming that you haven't already played with /etc/udev/rules.d you need to find out what the interfaces are called. Do ifconfig -a, note the names, and then start wicd-curses. Select Preferences and enter the name of e.g. the wired interface.
Then start your desktop by running startx. There'll be plenty of menu options, but most programs will be missing, but that's what your ~/.config/openbox/menu.xml is for. And that's how far I've gotten. Time to explore.
Potential issues:
It doesn't always work on first try -- for some reason. I had to start from scratch twice before everything worked without a hitch. Often it's easier starting from scratch than trying to fix a basic installation.
You might not be able to run the systemctl commands until you've actually booted from the usb stick.
If you're on a laptop and the mouse/touchpad isn't working, install xf86-input-synaptics.
Consider installing wicd-gtk if you'll be working a desktop environment a lot.
Subscribe to:
Posts (Atom)