Pages

2015-10-18

Lenovo S20-30 Touch + Crux 3.1

PART 3  | See Part 2 and Part 1

So, Crux is meant to be keeper. And this post will be long and occasionally detailed - as Crux' manual is not very long and help is only in form of mailing-list.

Made usb installer: dd if=crux-3.1.iso of=/dev/sdd bs=1M, booted and had auto-login as root.
Did whole fdisk /dev/sda, mkswap/swapon, mkfs -t ext4 /dev/sda2 (and sda3) again.
mount /dev/sda2 /mnt    #sda1=swap, sda2=/, sda3=all stuff
setup

Picked packages manually - left some things out. Installer finished with no errors and then it was time to chroot.
It's not particularly important in which order you do things when chrooted - and some of following can also be done after reboot.
setup-chroot  #script with all needed chroot-things
passwd  #create root password
adduser myuser  #can be done later but I did then
mkdir /media/back  #mount point for sda3
chown myuser:users /media/back
nano /etc/fstab  #has to be fixed, otherways - no boot.
nano /etc/rc.conf  #can be done later, but why wait:
FONT= default
KEYMAP=us   #all availables are in /usr/share/kbd/keymaps
TIMEZONE=Narnia/Mytown  # /usr/share/zoneinfo/
HOSTNAME=cruxlap
SYSLOG=sysklogd
SERVICES=(crond net)  #here go all started services, e.g: alsa gpm ntp sshd
localedef -i en_US -f UTF-8 en_US.UTF-8
cp /usr/share/zoneinfo/America/Yourplace /etc/localtime
hwclock --set --date="2012-04-19 16:45:05" --localtime
hwclock --hctosys

# I have habit to use localtime - because of windows dualboot in my desktop-machine. If Linux is single-system, then it's no problem using UTC.

Created udev/rules.d/70-persistent-net.rules with card mac number as eth0 - otherways udev changes card-name to something - and net is not going to load automatically on boot.

Kernel compilation.
Thought to be clever - and compiled newer kernel (3.18.22) than one provided by Crux. Well, it hanged when booting. Tried changing things / recompiling - but nothing worked. Copied confs to sda3 and reinstalled Crux (to be safe of leftovers). Copied confs back, and compiled original kernel.
Which booted alright. But - surely I was in some totally retarded mode - as I left Intels' video driver out. Recompile. Then I discovered that I left out also sound drivers. Recompile. And afterwards I discovered that I left out i2c - needed by coretemp... well, not essential - no recompile.
Anyway, compiling went exactly like it's written in Crux' page:
cd /usr/src/linux-3.12.24
make menuconfig
make all
make modules_install
cp arch/x86_64/boot/bzImage /boot/vmlinuz
cp System.map /boot


grub-install /dev/sda  &&  grub-mkconfig > /boot/grub/grub.cfg
I didn't like what grub created - so I made my own simple cfg file (can be copied from Crux' page, and then modified).
Copied all my desktop-Crux user-confs to laptop and changed ownership to my user.
exit && reboot

mount /dev/sda3 /media/back  #if not already in fstab
Before starting with updates I changed ports confs - made /media/back/ports and media/back/pac folders and edited /etc/pkgmk.conf and /etc/prt-get.conf accordingly. Also - every .rsync file in /etc/ports has to be changed too.
The point is - all sources+compilations grow very big, very soon. No need to stuff your root.
mv contrib.rsync.inactive contrib.rsync  #enable contrib, also in prt-get.conf
ports -u  #update ports list
prt-get sysup  #whole system upgrade - takes hours!

Only error I had was with xorg-server: missing libepoxy. Installed that and xorg compiled OK.

And then it was installing everything I normally do install. Troubles:

- gpm  # Only thing that worked was usb-mouse. Hacked /etc/rc.d/gpm:
/usr/sbin/gpm -m /dev/input/mice -t imps2
stop/start gpm and all touch-things started to function.
- openbox # cp /media/back/ports/openbox media/back/pac, then edited Pkgfile '--enable-imlib2 \' and also added imlib2 to depends line. The same goes for conky.
- xdotool  # Now there is package to be taken (1,5 years ago there wasn't)
- man needs pager - put into .bashrc: export pager='less'
- tint2 # has waken from long coma - and there is new version 0.12.2
Url in Pkgfile didn't work, though - the one in slackbuilds.org did, so I downloaded tar from there.  
- wmctrl  # url is slightly wrong - /dist has to be taken out.
- volumeicon 4.6  # last version with gtk2, needs patching.
- pale moon binary package to /opt, ln -s /usr/local/bin (I have a habit to put apps to local/bin... In Crux, this folder has to be created.)
- mplayer + smplayer  # Like previous time, there were severe problems. Basically , smplayer didn't play anything and whined about mplayer error. To cut it short - after almost 3 hours of aborted compilations I installed mpv, smplayer started to work with mplayer BUT not with mpv... &^%&#$$#^.
- compton  # Packages point to very old version. I dowloaded new git version but didn't succeed with make install (missing some dep). So I was impatient and ended up with just make and cp compton /usr/local/bin. And it works alright.
- mtpaint  # 3.40 doesn't compile - libpng-16 is too new for it. Git-version compiles ok.
- libunibreak  # is newer liblinebreak. There is no package in Crux - but it's easy to make. Fbreader needs it - and fbreaders' Pkgfile needs then fixing (liblinebreak out).
- libtorrent-rasterbar  # For qbittorrent. But - 1.0.5 from Pkgfile is a WRONG one. Qbittorrent needs 1.0.6 from git.
- qbittorrent  # Refused to make package (error - package is empty) - BUT at the same time - installed it.

And so on... Installing/upgrading Crux and adding your stuff takes 30 hours or probably more. But when all is done - it's real fast and lean. Exactly what fits with shity Celeron.

No comments: