Pages

Showing posts with label installation. Show all posts
Showing posts with label installation. Show all posts

2016-05-07

Installing and configuring NAS

Motive: I already had some 7 computers and 2 e-book readers in household. I am working on 2-3-4 different machines... - file syncing and backuping started to bother me ... if we put it mildly. Problem was somehow aggravated by unholy mixup of systems: xp, 7, wheezy, antix, slackware etc.
Idea: Obvious - build a NAS for centralized sync and backup.
Easier said than done.

Hardware, very nonpro, as I didn't want to spend hugely for SOHO  solution...
MB: H110I-plus D3
CPU: Pentium
Memory: 16GB non-ecc,
OS: on 16GB USB stick,
HDD: WD red NASware, 4x2TB,
Ethernet: onboard realtek 8111H (and additional Intel NIC for some lagging),
Case: Bitfenix' Phenom (real nice, heavy metal, no bending, easy hdd-selves, good layout).
Build went quite smoothly - with one hickup: (small) cpu-cooler I bought was still a bit wide for cramped ITX. Intel stock cooler it was, then.

OP-system
Note: I am total noob in both NAS and BSD - the following AAR is therefore kinda simplistic, erratic and occasionally silly.
There were some reasons for not picking Linux - like I wanted to try BSD, and I didn't find satisfactory Linux-solution (whatever that means).
I started with current Nas4free. It installed nicely from usb to usb, booted (not very fast) ... and didn't have usable network driver. And I am talking - maybe - about a month of waiting, as freebsd 10.3 (with proper driver) is already released, but nas4free base is still 10.2 ... But I didn't feel like waiting and/or compiling patched driver in jail etc:
Freenas 9.10 (freebsd kernel 10.3) got downloaded, dd-d, installed, and it booted (a bit faster) with realtek support.
Install was uneventful - and went very much according to manual.
Then I shut down, connected HDDs to motherboard and rebooted.
And discovered the one problem with this install - new intel H110 chipset doesn't want to boot USB-system. Fortunately, the motherboards' bios has 'force boot from usb' option. So, F2 every time, and monitor+keyboard have to be close... Irritating, but survivable. Solution would be to use small SSD for system - but then we loose one SATA port (and PCIe sdd-s are sillily expencive).

When adding such a - well, revolutionary - part to old, self-accumulated home network, it's also good time to check the old shit over. My oldest is an  AMD X3 from 8 years past. And not to forget switches... I did check - and replaced one 10/100 switch and added one 1000 NIC to old AMD-box. No need to leave bottlenecks in new shiny installation.

As hardware building was easy and installing a tiny bit less so, then the following was quite frustrating and enormously time-google-wasting.

Configuration

# System
Now - it's possible to do quite a lot from webGUI, remotely. Still, there are some things which are better by console. So, one has to know at least some bsd commands and syntax (default csh is not unavoidable - bash is also installed).
WebGUI is big - so I am not going to blab of it. Read the same aforementioned manual. It's comprehensive. Not reciting manual goes also for text below.
I confed System first, then Storage (created volume and datasets), then user accounts. I planned to use both NFS and CIFS/Samba (afterthought - in mixed systems, maybe it's easier to stick with one - Samba). NFS - seems - wants your owner-user to have the same ID and GID as in client machine, which can be quite tiresome to achieve. If you have several differently dedicated datasets, then you probably also have to play around with groups - to give your users access to different places.
Also, NFS and some Windowses have relation-problems (win7pro doesn't recognize NFS natively, for example).
Next, Network, then Services (in my case: cifs, nfs, rsync and smart for starters) and then Sharing. The last one is absolutely essential - sharing opens datasets up for remote access. Among other conf options - here it's possible to close sharing(s) down for only LAN access, and/or for specific IPs.
This made me reorganize some of my boxes' IPs from dynamic to static - additional small hassle.

# CIFS/Samba
1. Additionally to (relatively simple) setting up CIFS service and share in NAS, samba(clients) need to be set up in client-machines. In Win7 it's as simple as connecting to server via explorers' network mapping. In Slackware there has to be - additionally to default-installed samba - valid /etc/samba/samba.conf. Daemon - /etc/rc.d/rc.samba does not need to be started, though.
I used Spacefms' plugin to mount samba shares. Doing it manually looks like this:
sudo smbclient //192.168.1.x/foldername -U username
The same can be achievad also with proper entry in /etc/fstab and then, if 'noauto' - mount /mnt/sambamountpoint.

# NFS
The same here, of course - client-machines have to be able to communicate with nfs-server. As mentioned, there is no satisfactory free solution for Win7Pro. In Slackware (in Antix 15.1 - nothing needs to be done, it works), start rpc daemon: sudo chmod 755 /etc/rc.d/rc.rpc && /etc/rc.d/rc.rpc start,
then, terminal way:
sudo mount -t nfs 192.168.1.x:/mnt/volume/dataset /mnt/mountpointname
fstab way looks something like that:
192.168.1.x:/mnt/volume/dataset /media/mountpointname nfs rw,noauto,noatime,user 0 0
So, afterwards it's only mount /media/mountpointname. Mount command for this can also be made in Spacefm as a, well, saved 'command'.
About confing: As I have couple of users for NFS, then I had to use 'mapall' in NAS' NFS-sharing options. Took me some time to figure that out. Also - I use nfs as passwordless 'guest' domain.

With both - smb and nfs - it's quite a lot of playing with user permissions - especially after in comes 'syncthing'.

# SYNCTHING
... comes with Freenas as an installable plugin-script. Script downloads stuff and installs it to jail. That ends the easy part.
For me, syncthing was the biggest time-waster to configure. It's wiki is not by far as comprehensive as Freenas one; it has bugs, it has quirks.
Still, after I got it running, I quite like it. I stress, though - be very careful, have a backup before experimenting! Syncing means that fucked-up (you, bug, ...) folder can fuck up all other synced folders... For important folders, do check versioning - if worst happens, you can get your shit back from trashcan - .stversions folder will be created when deletion occurs.

Syncthing creates user 'syncthing' (983:983) in jail. This complicates things with perms - some manual chowning needs to be done, myuser (same id-s as in dataset) needs to be created in jail; and syncthing should be member of this user group... Supposedly, it's easier to change 'syncthing' to have the same id/gid as main owner of dataset. This requires changing of conf: /var/db/syncthing/config.xml, otherways - console-based changes will be overwritten by GUI.
When creating datasets and connecting them to syncthing (can be quite time-consuming anyway)- avoid mistakes and renaming datasets, changes afterwards seems to drive syncthing totally bonkers.
In GUI, everything is reasonably clear: pick your folders, apply various options, sync. Yeah, right - but it took me 4 evenings to get all perms between win/linux/nas/syncthing correct. Syncthing forum, though, gives some nice advice about various obstacles.

And last - which should be the first - thing: Make plan/schema what and how to sync. I mean, really plan - as some changes are shit to do and, can fuck up good part of your already confed syncing.
This means: organizing location and naming of folders; which of synced folders is the master, how many boxes are going to access this dataset, how data really flows (do you really need to install one more syncthing, or maybe flow is one-directional - and rsync is enough) and so on ...

Moral: Syncthing is nice thing - if and when you get it smoothly running. To get it there might be enormous wrangling, though. I presume that some sysadmin experience before is certainly helpful...

And general moral: NAS is nice thing to have, and Freenas as its' op-system looks perfect to me.

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.

Lenovo S20-30 Touch with Funtoo and Alpine

PART 2  | See part 1

2. Funtoo, from 21. Sept stage 3 tarball.
Install went as per manual.
- Made systemrescue disk, also as per manual.
- Booted, used stage3-intel64-silvermont-pure64-funtoo-current-2015-09-21.tar.xz
Fixed fstab and some other stuff, rebooted successfully - but had no networking. Did:
rc-update add dhcpcd default && rc

Some things to write into make.conf (I am still talking of specific Lenovo netbook):
-CFLAGS="-march=native -O2 -pipe"
CXXFLAGS="-march=native -O2 -pipe"
MAKEOPTS="-j2"
-VIDEO_CARDS="intel"
-INPUT_DEVICES="evdev synaptics"


And then I started with defining USE flags ('emerge app-portage/ufed', an helper app)...
After spending some hours with flag-lists, and reading a bit more about vast system of emerge I came to conclusion that I do not want to build advanced spaceship and make 18 trips to Jupiter JUST for using a distro on my ships console.
I suppose it's bad influence of Slackwares' and Cruxs' minimalistic package-system approach... but really... is such a system of building life from premordial soup neccessary?
Not for me - format.


3. Alpine Linux 3.2.3 64bit.
Installation instructions in Alpines' site are ... a bit unclear... you almost think that to install it, you already HAVE to have Alpine installation, and no other way.
Fortunately, it can be done without:
Unetbootin made nice working usb-image (and dd didn't!). Booted it and:
login: root / 'enter'
(and the usual warning - MY root-part is sda2, YOURS might be different)

mount -t ext4 /dev/sda2 /mnt
setup-timezone
setup-alpine -q
setup-sshd  # if you are going to remote into it
setup-ntp  # if you want to use time from network


setup-disk -m sys /mnt

Now, why I said things about fdisk etc? Because I forgot to format properly, and ended up with borked installation. Syslinux didn't want to live in grub-infested MBR.
Fixed it with:
- dd if=/usr/share/syslinux/mbr.bin of=/dev/sda bs=440 count=1
Then some confing ... aaand ... boot succeeded.

adduser myuser;
edited /etc/group , added new user to users, disk, wheel, audio, video, cdrom, plugdev (the last one has to be made - spacefm needs it)
apk update && apk add sudo
enabled wheel in /etc/sudoers
apk add bash bash-doc bash completion  # if ash is not your favourite...
changed user-shell to bash in /etc/passwd

... read Alpines' helps, package lists and installed various things.

Then I did change main repos to 'edge' (means testing). I certainly do not advice to do that, they are testing for reason. But - I wanted my favs - spacefm, tint2 etc. Did:
apk upgrade
/etc/apk/repositories  # changed repo to edge
apk upgrade --update-cache --available
sync
reboot

... And there wasn't any net. Imbecilic udev had changed cards' names.
I made file /etc/udev/rules.d/80-net-setup-link.rules with mac number (which can be found with ifconfig), and for good measure, did:
ln -sf /dev/null /etc/udev/rules.d/80-net-name-list.rules
After that, it's easiest to reboot.
Once after that I lost network again - and discovered that it was because kernel time had reverted to UTC and was three hours in future...
Did 'date' and 'hwclock' to diagnose - first was wrong, the second was right, so:
hwclock --hctosys

Then I started to have some problems I didn't know how to fix.
And it all culminated with X starting without any input but usb-mouse (yes, yes - I did install evdev and synaptic, I did try to X -configure...).
Lot of curse-words, and ... yes, format it was.
Moral: Alpine  is recommended as lean and fast distro - provided that you stay with 'main' repo AND do not have touch-things. Also - can't have overly specific software needs...

Lenovo S20-30 Touch + Linux

Turning little Win-8.1-laptop to Linux-laptop.

Some relevant (drivers etc) technical data:
Resolution - 1366x768,
CPU - Celeron N2840 2,16 ghz 64bit Silvermont,
Graphics -  Intel HD,
Sound - Intel + realtek,
Ethernet - Realtek RTL8101E/RTL8102E,
Wifi - Qualcomm Atheros QCA9565/AR9565,
Touchpad - Elan.
Most of info came from lspci, lsusb, lscpu and inxi.

Original state.
I bought this little thing (11.6") in December 2014.
It had 'Windows 8.1 with Bing' OEM x86_64 installed (original dvd: IR3_CCONA_X64FREO_EN-US_DV9.iso), AND totally bloated with Lenovo crapware, including infamous Lenovo superfish-spyware (this link, or other thousands).
After struggling a bit with remove-all-shit, I tried - as a passtime - to install Slackware 14.1 for dual-boot. With partial success only - X refused to start (might have been problem of oldish kernel).
Fortunately, in process, I messed up EFI and Windows didn't start anymore - so I had an excuse to reinstall vanilla win8.1 (registration is automatic, in bios).
Tuned it, played around, and hated whole thing. You can't make bread out of shit, even with helpful addons. Also, whole system tended to be quite sluggish (not a surprise really, with Celeron N2840).
So, after a long while (it laying around mostly unused) I decided to wipe whole disk and install Linux.

The machine has efi+secure boot, but - BOTH can be disabled. And that makes installing Linux markedly easier.
My initial goals were something like:
- fast and lean distro; with little bloat (no fullblown desktop environment);
- reasonably stable;
- with all my favourite software available;
- without let-us-be-new-Windows like crap - from systemd to gnome shell.
Which made me pick Crux (crux.nu and do local search to find my three previous Crux-posts). But - because I also had a waiting-list of 'I should try this one', then I decided to try first those of the list (Antix 15, Funtoo, Alpine 3.2.3).

To action:

1. Antix 15, 64 killah p. 
A distro based on Debian 8 Jessie, but with systemd carefully removed. Full iso comes with four window managers which are swappable on fly, in X. It includes control center and various other scripts. Means - sounds interesting.

Antix' install is from the live session (I think I dd-d the usb-stick...).
username/passwd - demo/demo.
I deleted all Lenovo partitions, made swap, root and home partitions: traditional MBR, as I don't see why I should use GPT with one 500GB disk. And mind - after several installs and different bootloaders it's wise to use fdisk, gdisk, mkfs and such - for wiping disk really clean.
With little helpful trick - reading ability - the installation is a cakewalk, nothing need to be explained here.
Rebooted and logged to JWM.
Checked other WMs ... didn't like default confs and looks, as it always happens with me... So, here come short bits as 'How to tune debian distro, and also brake it':

... Synaptics, enabled more repos. Installed xapian-index (gives a search-window on toolbar);
... rebuilt JWMs menu and launchbar, reordered everything (Joe's site is very helpful as of howto);
... ~/.jwm/theme - seems to have a syntax error: not 'dejavu sans 10', but 'dejavu sans-10'. Otherways it doesn't react to any size change.

There were several annoyances from the beginning:
- Cursor jumping around when typing (very &^%&^#@$%!).
- medit and geany started occasionally new window instances - as opposed to keeping things in tabs...
- when changing window managers various things happened, including some apps closing, some forgetting tabs... But here I doubt very much if it's possible at all to smoothly integrate very different WMs and (different) default apps ...
- few usual app-related-bugs every distro tends to have: Here - clipit didn't start and xmahhjong crashed whole JWM.

So I started to remove Antix goodies, first other WMs and then all antix-scripts and antix-libs.
Re-tuned confs and shit... and, of course, ended up with one-or-two hidden, not-so-easily-findable leftover-quirks ...
My curiosity about Antix satisfied and not willing to spend more time with detective-work I formatted the whole thing.
Some general moral here: If not having unlimited time - do not full-rebuild prebuilt distro.
Ah, well... but it WAS interesting when it lasted. :)

As long you do not have touchscreen and -pad; and do not change 'desktops' on fly - Antix is recommended. It's nice, lean piece of work.
It also ended up as my 6-year old son desktop system. Who seems to be entirely OK with it.

2015-08-21

Linuxes + windows 7

Goal: Multiboot with Windows 7, installed after linuxes.
I do not use Steam and - except maybe two-three games - linux-native gaming is crap. So after some 2,5 years I finally reinstalled OS for gaming.

First of all - it's enourmosly good to have two hdd-s. So You can keep MBR boot-sectors separately. Means - no worry of Windows overwriting your grub-parts.

What I did?
- changed boot order - to-be-windows-disk went to first in bios. That is - until usb-win-installer came to play...
I booted my win7 usb and installed. All finished in less than half an hour - with no lan, audio, or proper video drivers... Windows 7 is kinda oldish, and my box is kinda newish - so, no real surprise here.
Went to another machine (or - better to do it before), downloaded all shit from my motherboard manufacturer and added fresh nvidia driver. copy / unzip / install / reboot.
Downloaded usable browser (Pale Moon for me). Got essential things:
Classic shell, dexpot, linux reader, qttabbar, MS security essentials etc. Hacked various things in register.
At the same time - updated 200+ kb-s.
Do You want every KB? No? Make a choice - first, install all security updates. After that - check them ALL, every update is not needed (useless) and some of them are to avoid:
- 971033 (Windows Genuine Advantage - spy/telemetry for checking legalness of Your Windows, repeatedly);
- 949810 (the same for Your Office)
- 2505438 (not sure if it's still actual - but, the same, it checks Your licence.
- AND a bunch for upgrading to Windows 10: Can't say here anything very precise... but suspects are: 2951664, 2990214, 3021917, 3035583, 3065987, 3068708, 3075851.
I have my win7 totally legit ... but I don't want two things:
Spying for 'legitimacy' (check-process (they say) errs a lot, after what one has to whine+plead with MS support);
OR, 'upgrade to win10' - to OS what, in my opinion, is total 'be a bitch receiving it from behind, while singing your whole life-story'.
Whole process to get Win7 to OK shape took me markedly longer than, say, Slackware clean-install with all custom bells-and-whistles. Shrug.

Second phase - boot Windows from Grub.
- Rebooted from Windows, entered bios, changed boot order back to my grub-master hdd, rebooted to linux. Now, opened up /boot/grub.cfg and added entry to 40_custom section (change the following according to your hdd, of course).
menuentry "windows 7 pro (on /dev/sdc1)" --class windows --class os { 
 insmod part_msdos
 insmod ntfs
 set root='(hd2,msdos1)'
 chainloader +1
 }
If you want to be correct and/or You plan to use 'update-grub' or similar command that recreates grub.cfg, add the same entry to /etc/grub.d/40_custom.
Done.

2015-01-18

Slackware64 14.1 + new kernel

Yeah, compiled a new 3.14.28 kernel - in a bit leaner way than slackware generic is.
So here comes concisely how I did it.

# First, open up this page and read it - my description here is almost the same, with occasional addons. And - I did everything on desktop terminal until Nvidia drivers' reinstall (logout, console, init 3).

1. Download the source (and pgp .sign) from kernel.org, copy to /usr/src, unxz the source file (tar needed afterwards), then unpack source to folder. To be nice and orderly, do: rm linux && ln -s /usr/src/linux-3.14.28 linux
cd linux
zcat /proc/config.gz > /usr/src/linux/.config  # or use some other handy config...
make oldconfig  # to insert kernel changes into old config file.
make menuconfig # Which probably takes two hours at least. But it's worth to be alert and click everything - for not to miss, for example, your network drivers.
make bzImage modules
make modules_install
cp arch/x86/boot/bzImage /boot/vmlinuz-custom-3.14.28
cp System.map /boot/System.map-custom-3.14.28 
cp .config /boot/config-custom-3.14.28
  # instead of 'custom' comes of course your special name you gave to your kernel (when menuconfiging).
/usr/share/mkinitrd/mkinitrd_command_generator.sh -k 3.14.28
This nicy script gives you exact command for creating initrd. Do it.
cd /boot
There should be three links to: kernel, system.map and config. Change those to point to your new files (ln -sf filename link).
Done with the kernel.

2. There is link /etc/rc.d/rc.modules which points to old rc.modules-3.10.17; copy this old modules file, rename it according to new kernel modules folder name (or 'uname -r' - which you can't use as kernel is not yet installed :) and change rc.modules link to point to this new file.

3. Grub or Lilo - has to be rerun for introducing new kernel. I have Grub2 in Wheezy (which I still keep only for hosting my multiboot) - I mounted Wheezys' partition and simply edited /boot/grub/grub.conf file. And that was that.

4. GPG-check. (Additionally to AlienBobs' tutorial there is also nice explanation in kernel.org.)
wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.14.28.tar.sign
Put it into the same folder where you have linux-3.14.28.tar
gpg --verify linux-3.14.28.tar.sign linux-3.14.28.tar
What results 'no key', but there is id=6092693E , use this and import:
gpg --keyserver hkp://keys.gnupg.net --recv-keys 6092693E
gpg --verify linux-3.14.28.tar.sign linux-3.14.28.tar
"This key is not certified with a trusted signature" - let it be like that, done.

5. NVIDIA
Kernel 3.14 and nvidia 319, seems, are not friends - no compile, BUT newer 331.86 did the trick. Before run, delete /etc/X11/xorg.conf - and then let installer make a new one. Sometimes there is a difference - as X starting or not starting (missing screens). No, I do not know why it sometimes matters.
Last part in following is for compiling for not yet installed kernel.
sh NVIDIA-Linux-x86_64-331.89.run --kernel-name='3.14.28'
It compiled, but whined over wrong arch in  /usr/lib64/libEGL.la
Anyway - X started up. I checked aforementioned .la - and it appeared that Nvidia removed it totally. Found it in /var/log/nvidia/103, copied back and also deleted in it one dependency that was obviously 32bit... We'll see what happens next time when compiling.
According to web, reinstalling mesa also fixes .la issue.

But never mind.
I have my new kernel running and everything seems to function OK.

2014-11-08

Games + Slackware

Yes, something frivolous... And NO - NO STEAM games here, never.
But about installing free natural-linux games in Slackware 14.1 (64bit).
SBO = slackbuilds.org (buildscripts+source=compile)
SF = slakfinder.org (ready binaries=install)

# Battle of Wesnoth - can be easily installed from SF, Salix. There is also option to compile it from SBO, and tuning the build specifically.
deps: It might need lua (according to SBO, but not according to SF). I had lua installed previously, so I don't know.
- Wesnoth is 'turn-based tactical strategy game'. See here for more in-depth info.
Nothing more to say - I haven't played it yet.

# Tales of Maj'Eyal - Not so easy install at all. Has to be compiled from SBO, and has a bunch of deps: premake - SBO (deps: lua), OpenAL - SF binary, SDL2 + SDL2_ttf + SDL2_image - all three from SBO.
SDL2_ttf gave me error about missing/wrong libGL. Fixed it in usr/lib64/libGL.la - changed obviously wrong libdir='/usr/lib' to libdir='/usr/lib64', and compile finished without further problems. ... I have no idea why it had such a wrong address in libdir...
- Maj'Eyal is 'roguelike RPG, featuring tactical turn-based combat and advanced character building' - see here.
The game is quite enthralling, 'just one turn more' type. It's also not easy, and has various ways to die stupidly. For example: walking in sand-tunnels without digging worm ahead; lack of attention with bosses is often strightly fatal...

# Freeciv - Install is compile from SBO. No deps. Easy-peasy.
- Freeciv is 'a free turn-based multiplayer strategy game'. Has big and quite well-stocked site.
The game has several diffrent modes and mods, including civ1 and civ2. Default mode is not especially easy - certainly for those whos experience runs only in wimpy and feebleminded civ 4 and 5.
Anyway, confs are easily hackable - for example: nations' files reside in /usr/share/freeciv/nation; and in /usr/share/freeciv/default one can find all general conf files. And they all are plain txt.
At the same time, creating a new nation - by tutorial - gave somehow buggy result...
The games' gui is not especially good and easily-usable, but as a civ-game - it's very OK.

# FreeDoom - SBO, and what you get are wads only, engine has to be get separately. And it would be mightily good, if there are old Dooms', or Heretics', or Hexens' original wads available - those are also playable with zdoom or gzdoom engines.
So, pick one of them...
gzdoom seems to be newer: SBO, deps - fmodapi.
zdoom - SBO, and has more deps - TiMidity++, fmodapi, p7zip.
- Doom is a shooter - or should I say The Shooter, at least for me it was first ever game played overnights with sysadmin and some developers (right, over 20 years ago).
Take a look here.

# Lips of Suna - Well, that installation took me some 5 hours of silly wandering around. The game has to be compiled as is, no slackbuild scripts here. For guidelines see here.
Basically, by default it installs to /home/xxx/ :
cd lipsofsuna-X-X-X
./waf configure
./waf install
./lipsofsuna
Here are deps. All are available in SBO, thank god. Ogre compile, though, is long as shit.
Most entertaining was that 'lips...' didn't compile - with nicy orange-bold error. Let's cut it short and reveal my winning configure line:
LDFLAGS=-lboost_system ./waf configure --ogre-plugindir=/usr/lib64/OGRE
Part before 'configure' ensures compile, part after, that ./lipsofsuna also starts.
It bloody compiled, with one orange part (but not bold)... jeez. I am sure it wasn't worth of it. But I won the struggle! :)
- No idea what the game is about, but the word 'naked' in description got me.

# Summoning wars 5.6! - SBO. Pile of deps, for me it was - after previous games: freealut SF Slacky (deps: OpenAL), physfs SBO, CEGUI SBO, poco (deps: mysql-connector-c++, unixODBC, both SBO).
Tried to compile games' new ver.058... and no luck - cegui-084 compile crapped out with windowsy (irrelevant) message ... As this games' description hasn't any word 'naked' in it - I didn't see reason to spend more than an hour with this particular problem ... And stayed with old version - 056 - and readymade SlackBuild. CEGUI compile was slow like dead AND decomposed snail, almost like shitpile firefox ... poco was as bad - like bloody half an hour... physfs compile was short and nice. What a ... letdown..., for example ginormous gcc compiled only an hour in the same box...
a..n..d..I am already compiling sumwars! Lotsa green text! It even moves! err... slowly...! OHHHHH, it erred out, unbelievably, and for your convenience, last lines were:
collect2: error: ld returned 1 exit status
make[2]: *** [sumwars] Error 1
make[1]: *** [CMakeFiles/sumwars.dir/all] Error 2
make: *** [all] Error 2
doh!
| add next day| Fix was like that, in sumwars.SlackBuild:
-DCMAKE_CXX_FLAGS="-lboost_system -ldl" \   # added here '-ldl'.
That was that, compile finished and game started...
- 'Summoning Wars is an role-playing game'.
As all time went for compile, not for play... Only thing I can say just now - games' graphics is horrible, as expected.

| ADD |
# Naev - SBO (deps: OpenAL), two source files, naev and ndata are needed. It compiled/started with no whining...
- Naev is a 2D space trading and combat game. 
Take a look, see...

# Dink Smallwood. (Flare, Baldur's Gate)
Those three are vague future plans. If they, or something else, materialize , I ADD.

All-in-all: Native Linux games mentioned here
- look like shit of various degree,
- play good IF they are out of pre-alpha (infrequent miracle!),
- and install mostly ... like shit.
I am sure that next year is Linux-Desktop Year. :)

2014-08-07

Crux 3.1, install and so on

# Install is mostly the same as 3.0
- There were slight differences in installable apps - some of them important, see release notes. Also, see Handbook - surprisingly enough, it is corrected for new release (simply, such kind of care is not so common).
So, let's note here some diffrences from 3.0 install:
- fstab (but you still have to fill it out, mostly)
- kernel pre-made conf is more complite/generally-usable.
- network has been split to lo and net scripts, AND those files are already functional.

# Later stuff
. See this and this of Crux 3.0 - a lot went the same way.
What differs:
- prt-get sysup. One update was xorg-server. Dependency 'libepoxy' was not noted and compile failed (but I think it's already fixed). Also, after update xorg-server needs drivers reinstalled (I picked libevdev, evdev, vesa, libva and got X started ok).
- Kernel, as a cautionary tale: Despite I was very eagle-eyed when in kernels' make menuconfig, I still missed my sound driver somehow... doh.
So I thought that I create it as a module. Downloaded alsa-driver (and alsa firmware) packages for make&kmod ... and spent an hour with googling/fixing 'configure' (version.h in wrong folder). And then - it still erred (some ioctl stuff) when 'making'. Fuck. So I went and recompiled the kernel. Took me less than 5 minutes... One reboot, alsactl init and sound appeared. What a waste of time - but superbly educational. Maybe.
- dbus is not installed out of box. Now, I didn't have that problem in 3.0 - which might simply mean that I got it at early stages as dependency... Whatever - it needs to be installed now.
- xdotool. Used Pkgfile this time... and got libxdo also installed.
- man: This time, it worked for root OK, BUT, still not for user (error was different of 3.0). prt-get depinst most - and man started up, colors and all ... for a user, BUT not for root. Strange. | Missing export PAGER="most" in root .bashrc, nothing else :) |
- jdk - version in Pkgfile is wrong, fix it.
- gegl (for gimp), footprint mismatch = delete footprint. And Gimp installed without whining despite threatening text in readme. Check URL in Gimps' Pkgfile - at some point of time it is/was incorrect.
- qpdfview, qbittorrent. Neither could make package (bsdtar: *: Cannot stat: No such file or directory). I couldn't find any reasonable lead for fixing that... As I didn't have such a message with any other (NOT-QT) apps, I tend to guess that it had something to do with QT. But finally, I went for simple 'make' and they installed with no fuss.
- fbreader. Missing libpng15.so.15 , ln -s from ver 16 helped.
About libpng - this new one craps pointless wrong-srgb warning messages to everywhere. Very bloody annoying.
- smplayer not recognising mplayer version-and-stuff. It started but didn't play a thing, no video, no audio. I reinstalled mplayer, installed docutils... did something ... and smplayer started to function. Oh good - but, I really don't know what that was about.

That's it for now. I'm sure there will be more. I haven't finished with apps, and I also have some unresolved errors... like 'cannot ioremap fb base' (nvidiafb) at startup...

All-in-all, I am a bit dissappointed - not sure if more in myself or in nature of Crux. Means, I hoped it goes easier second time around. It didn't.
Summary: My level of Linux plus Crux means that it will remain as my second distro after Slackware. I simply don't have multitude of hours to spade-work in google-piles. The perspective of continuous fixing of results of updates makes me ...depressed.
But - as I really like Cruxs' ideas and choices - it's a keeper without question.

2014-05-31

Crux 3.0 - 3: later problems

Crux, part 1 and 2.

So, after happyness of 'it's installed, yee' comes usual 'oh shitty, and this doesn't work too'. Means - there appeared more quirks, and some of them still unsolved.
The following is not only 'how to fix Crux', but also 'how to fix certain things in quite general way'.

Advice - good places to track deps and script-configs: http://slackbuilds.org and http://slakfinder.org; BUT, do visit also LFS - as there you get not only deps lists but also explanations and advices. And lastly - apps' home. Last because a lot of those are without any sensible info, or filled with irrelevant drivel.

# GUI su or sudo (as it's annoying to have multitude of terminals hanging around for menu-started sudo apps).
-- First, I tried ktsuss. Made it from different sources, with different configs etc. But - if it wasn't stright segfault, then the thing simply failed with recognizing passwd.
-- Then I tried xdg-su. That worked alright from OB menus, sprouting xterm (after checking for all possible 'friendly' alternatives like kdesu, gksu ...). Xterm for that can be confed as small and in corner of screen. That is - if you have other terminal for normal work. But! - Spacefm doesn't start xdg-su. It looks like it has wrong '-c' parameter in source... As of now - I simply do not know what is good replacement parameter to recompile with. So, no satisfactory gui-sudo-solution yet.

# startup blah: couldn't mount (ext2,3) because of unsupported optional features - Put 'rootfstype=ext4' into your boot command and this message goes away.
# startup blah: Drivel about lvm. If you don't use it, uninstall lvm. I think it comes as dep for something... ie - I definitely didn't pick it...

# SHUTDOWN. I do not have PAM and *kits installed. My usual exit-py-script simply hung ... So I changed script to do shutdown in old way:
groupadd shutdown
In /etc/group , add user to shutdown group, in /etc/sudoers:
%shutdown ALL=(ALL) NOPASSWD: /sbin/reboot  # and the same for /halt
-- if using bash script, make tiny file like this (and another for /halt):
    #! /bin/sh
    sudo /sbin/reboot $*

-- OR - If having some py-script:
Define: os.system("sudo /sbin/reboot") , and the same for /halt
It works alright - and looks especially nice after you add some colored 'echos' to rc.shutdown (and/or rc.multi). Which needs some 'shell-colors' resource-file in /etc ... 

# Windows partitions (ntfs-3g) - no write access:
Add your-user to group 'disk',
ln -sv ../bin/ntfs-3g /sbin/mount.ntfs
chmod -v 4755 /sbin/mount.ntfs

reboot (or logout/login) - and you can write.

# No man-pages displayed at all, but error: sh: most: command not found. Error executing formatting or display command...
-- First, (installed) man port-folder had no packages downloaded or made. At the same time, 'isinst' claimed it IS installed ...
I reinstalled man (-d -u) and packages appeared. Man for root started up - almost. Ie, with silly ESC chars hanging everywhere. After adding 'R' to 'man.conf' line:  
PAGER /usr/bin/less -isR
ROOT started to get clear and readable man-pages. But, for USER man remained with an 'error'.
Then, I installed libslang2 , and after that, 'most'...
Halleluya!! Suddenly I had sillily colorful man for a user working.
... What's odd - there is no colors for root. Seriously perplexed, me. How comes that the app behaves so cardinally differently for different users?
| edit: Well, I certainly had a heavy moment of idiocy - not getting that only problem was missing ' export PAGER="most" ' in roots' .bashrc |

# Spacefm and udevil: Udevil comes 'out-of-repo'. And it has problems with umounting... do for udevil: sudo chmod +s /usr/local/bin/udevil

# I still have startup error for terminus-console-font. No idea why.

# And some solved problems with apps:
-- gcolor2: needs patches (three!). I took them from SBO, patched, and the result compiled ok (no segfault as with vanilla).
-- gimp: problems with deps pkgfiles' URLs. Fixed them. AND there is missing udev machine-id, do:
sudo dbus-uuidgen --ensure
The same id-fix is needed for making qbittorrent!
-- fbreader: also needs a patch, then compiles ok.

Crux 3.1 will be released very soon. That means - I will format my Debian Sid (there will be NO systemd init in my box!) - and install new Crux to this partition. We'll see what gives, compared to 3.0...

2014-05-16

Crux 3.0 - 2: Beefing it up

See part 1 - Installation.

So, we have system and xorg installed, network-capable, and bootloader fixed. Time to:
# Get back to Crux and see what gives ... and start adding stuff.

As mentioned before, I complitely missed checking network driver in kernel, and so spent some time seeking non-existing conf-problem ... before discovering that there isn't any driver. After quick re-chroot and re-compile everything was dandy. I system-upgraded and started building desktop:

ports -u  # update/get ports. Downloaded ports go to /usr/ports/
ports -d  # see versions' difference between installed and available
prt-get sysup  # system-upgrade. Take a nap. A loooong nap.

Problems / not-upgraded:
- Perl gave error 404 - version in /usr/ports/core/perl/Pkgfile was old, incorrect. Fix it, and delete md5sum file. Then it compiles.
- atk, gdk-pixbuf, pango, gtk - all missing gobject-introspection. Install it.

Next I got proper video going:
sudo prt-get depinst nvidia
sudo prt-get depinst gl-select
sudo nvidia-xconfig
sudo gl-select use nvidia


I had some strange permissions for and in my /home and X didn't start. Check, fix if needed. Everything there should be 1000:1000 or username:users (if you changed ids to 1000). If things look fishy, do
sudo chown -r 1000:1000 /home/username

Installed apps needed for my Openbox environment (conky, lm_sensors, tint ...)

Exited root and as user:
cat >> /home/username/.xinitrc << EOF
exec openbox-session
EOF


startx

When I was meanwhile in my grub-master Wheezy, I copied most of my various conf files to Crux, and fixed them accordingly. So I got new Openbox with menus and shit up at once (as opposed to normal black nothing).
- First observation - not Openbox nor Conky got image support. Recompiled them with --enable-imlib2 option added to Pkgfile.
- Sensors (in Conky) were not working. I probably left them out in kernel (?). Anyway, they can be added as external module: Did 'sensors-detect', and got names of module(s). For me it was coretemp. I downloaded coretemp.c and its Makefile, did 'make' and then insmod coretemp.ko
Stuck it also to /lib/modules/linux-xxx/kernel/drivers/hwmon/coretemp.ko
It worked and temps showed up.

! To stress trivial: All personal conf -  like .bashrc, .bash_aliases, .profile, .dircolors etc - has to be created or copied from somewhere. Well, of course you personalize as you want ... Crux is not some silly we-know-better-Ubuntu.

# Package management. Yes, see Handbook and see wiki and see prt-get manual, I am not going to quote commands here.
Time to install all those still-missing packages ... after making sure that at least /contrib - besides 3 main ones - is also enabled.

To mention some essentials here (from those 3 main repo-folders):
alsa-utils, alsa-plugins; bash-completion; gdk-pixbuf; gobject-introspection; imlib2; pango; lsof; startup-notification; rxvt-unicode; xorg-font* ... etc etc. After that, and also in between come things from /contrib. I didn't enable any other repos yet - but used separate rsync in some cases.
Crux' packages are really just bash install-scripts, with source URL. Dependencies are mostly listed (and consequently downloaded && installed). That's if you do 'prt-get depinst packagename'. But, dep-listing is not a requirement. Expect surprises once and a while.
When taking Pkgfiles from peoples' repos, always check Pkgfiles - those might be outdated and/or not with conf you expect. Well, there are few errors even in base 3 repos.
Package availability is quite good - for my tastes. And - everything missing can be cooked from source - with Pkgfile && pkgmk -d -i for easier maintenance, or - if Pkgfile-making seems too difficult - with simple ./configure && make && make install (or whatever source wants).

Some notes on installed packages:
- Installed Firefox esr. Unpacked it to /opt  && ln -s binary to /usr/local/bin. This folder has to be created and 'path'ed. Repo has this new nasty chrome-puke version 29 for taking - if one likes such stuff.
- There is spacefm package (Yee!) ... but no udevil. Ignorantgurus' installer works alright, though.
- tint2 is available in antique form only. No surprise here, as tint seems to be quite comatose. I did my usual, and didn't bother with Pkgfile.
- There is wmctrl package, but no xdotool (they both fit in with my openbox setup - not that they are relatives). Xdotool was the last simple 'make' for me (after that I started to create Pkgfiles). Xdotool compiled alright but, didn't copy its' libxdo library. So I did that with cp and then ldconfig to update libs.
- compton+libconfig compiled OK, so did lxappearance.
- With volumeicon there was more hassle - I didn't want to install gtk3 (ver 0.5.0 dep), so I went with 0.4.6. And this one has glib bug (= no compile). At the end, I found the patch, unpacked the source and patched it manually, repacked and compiled successfully.
- I briefly considered installing gksu - but the bloody crap has as many dependencies as a street-dog has fleas... No deal.

All-in-all, I have Crux nicely running, without *kits, gtk3 and display-manager.
Only serious problem still remaining - 'man' is not working. Only thing i get is error about 'display and formatting'. Still no idea what it wants.

# Conclusion.
My home-distro presently is Slackware-current - and I tend to put Crux to nearly same level of pleasantness. Crux is kinda more flexible... dealing with Slackware takes a bit less time. Slackwares' slackpkg (with +) seems to me, maybe, a bit more convenient than prt-get system. But it might be habit talking.
Anyway, I am going to keep Crux, and when 3.1 comes out (with eudev, ie - no systemd perversions), it will rule my linux-roost together with Slack.
Crux is recommended to anyone who wants play with Linux without all bloaty crapware... And doesn't mind messing with compile.
Part 1: Crux install, Part 3: Later problems

Crux 3.0 - 1: Install

Visiting fringes chapter 3. See 1 and 2
http://crux.nu

Now - including Crux to fringes is a lot misleading, especially after pitiable three in 'Fringes 2'. Crux is totally OK source-based distro, pleasantly conservative, works eminently... but, it's definitely out of distros' top 20. Only reason for such a situation - I think, is - Crux is time-consuming to install and renew... seeing gcc compile flicker epileptically for an hour, for example, induces some negative thoughts. Oh, well, Crux also doesn't have anything preinstalled, you have to sweat to get your satisfaction.
But, let's:

# I wrote ISO with dd to USB and booted with no problem.
And landed as auto-loginned root in console. Not being especial fan of fdisk, I had sda8 previously created - and that was the only new partition. I see no reason for swap (with 8GB of RAM), and I don't use separate /home in traditional way. Now:
mount /dev/sda8 /mnt
setup
 
I picked /sda8 as my root partition, and next came choosing packages.
Mind! Those packages you see here in repo, in /core, /opt, and /xorg - are NOT all in your puny 250-meg ISO. ISO contains minimal selection for you to get system up and running, and kernel compiled.
It's wise to do a walkthrough in repo-folders, and make clear what is what, what those packages do, and what you really need.

# Package selection.
-- CORE. I left out only btrfs-progs, exim, reiserfsprogs, vim, xfsprogs - as unneeded.
-- Take most of XORG. That, if you are not planning to stay with console.
-- Pick from OPT. Now, picks here depend very much on what you plan to install ... well, as in 'optional' :)
Anyway, here are my picks, according to 'I am going to use X with Openbox and some apps':
atk, cairo, cmake, dialog, expat, fakeroot, fontconfig, freetype, gdk-pixbuf, glib, gperf, gtk, harfbuzz, hicolor-icon-theme, intltool, keyutils, lib*, mdadm, mtools, nano, nfs-utils, openbox, pango, python, rp-pppoe.
After selection, some packages got added as dependencies.
-- As already said, most of packages needs to be compiled/installed afterwards. Whole run takes hours. So, be smart and pick maximum of compiled ones here.

# 'OK' and it copies your selections to disk. Done, no errors on last line?
Ok then, let's chroot, fix some confs and compile our virgin kernel. See here for manual. Next comes, very concisely, what I did:

setup-chroot  # script, puts you stright into fresh Crux system.

passwd  # create your admin passwd

nano /etc/fstab  # fix it, add missing parts. something like that:
/dev/sda8   /          ext4      defaults         1   1
devpts      /dev/pts   devpts    gid=5,mode=620   0   0
proc        /proc      proc      defaults         0   0
sysfs       /sys       sysfs     defaults         0   0
tmpfs       /dev/shm   tmpfs     defaults         0   0


nano /etc/rc.conf  # See here for guidelines. Services I put there were only crond and net. Later I added more - like alsa and gpm...

localedef -i en_US -f UTF-8 en_US.UTF-8

useradd -m -s /bin/bash -G audio,lp,video,wheel -U yourusername
passwd yourusername
nano /etc/sudoers
  # enable wheel for sudo.
! Mind! Crux creates ids as 100:101. Which means, when you start to meddle with your other installed Linuxes, you get 'permission denied' shit - as at least Debian, Slackware and even Alpine all go 1000:1000. I fixed that like this:
usermod -u 1000 yourusername
groupmod -g 1000 users
usermod -g 1000 yourusername


Network. See here. I went for dhcp and used example script, and it worked (well, after I got missing driver added and kernel recompiled).
Don't forget to create /etc/udev/rules.d/70-persistent-net.rules
Some silly-looking stuff in there - better copy it from your other Linux.

cd /etc/ports
mv contrib.rsync.inactive contrib.rsync
/etc/prt-get.conf
- uncomment - prtdir /usr/ports/contrib
For other repos you have to create rsync files (and add entries in prt-get.conf), like:
cat >> /etc/ports/xfce.rsync << EOF
host=crux.nu
collection=ports/crux-3.0/xfce/
destination=/usr/ports/xfce
EOF

! Good thing: you can also use your local make-dir (where you collect your sources and create packages) as 'prtdir' - and prt-get can see it and operate with your packages.
! Mind! When you do prt-get sysup afterwards, the bloody shit overwrites your freshly-fixed prt-get.conf. So, make a copy before...
For confing pkg and ports, see here.

# Kernel compiling. I went with provided oldish 3.6. That's because Crux 3.1 seems to be coming soon (fingers crossed) - with newer stuff and so on. Also, as my linux-life has shown me several times: Do not go with newest, it might not work!

In 'make menuconfig', take your time and pick all needed... I compiled twice as I missed my network driver at first run. Whole process of kernel creation:

cd /usr/src/linux-3.6.x
make menuconfig
make all
make modules_install
cp arch/x86/boot/bzImage /boot/vmlinuz
cp System.map /boot


Fix/install your bootloader.
Done. exit. umount. reboot. If multibooting, fix your master-bootloader.

! By the way - quite a lot of this command-line conf can be done on other Linux' desktop, in more relaxed way than nano.
! Just to mention: runlevel 1 = single-user, 2 = multiuser, 3,4,5 = not used.

End of part 1. Part 2 - Beefing it up, Part 3 - Later problems

2014-04-01

AlpineLinux install etc

Visiting fringes (chapter 1) or,
to put it diplomatically - trying out distros outside of top twenty.
The point - looking for a new pet when Debian goes systemd, or - God forbid - the same happens to my home - beloved Slackware. Also, seeking some cheap thrill.

Somewhere I noticed that AlpineLinux is a distro with busybox and open-rc. It also has its' own package manager - apk, which has dependency-check. And the distro was mentioned as lean alternative desktop (despite it being officially oriented "for x86 Routers, Firewalls, VPNs, VoIP and servers"). Desktops are: XFCE, Gnome, Openbox, Fluxbox - at least. Slim and lxdm are display managers.
What follows here is: a) A short description of various installs up to desktop; b) At the end there is also short list of apps that are not available in this distro - for pre-consideration, because install certainly takes some time.

# Install (to sda7, without grub)
I dd-d ISO to usb-stick and booted without any problems.
It lands to console, where you login as root (enter). Then:
mount -t ext4 /dev/sda7 /mnt
setup-timezone
setup-alpine -q
setup-sshd
setup-ntp
setup-disk -m sys /mnt

And it should be installed (it was mind-bogglingly fast procedure).
umount && reboot

Then I went and fixed my master-grub in wheezy, added into
/boot/grub/grub.cfg:
menuentry "Alpine Linux, sda7" {
 set root=(hd0,7)
 linux /boot/vmlinuz-grsec root=UUID=ba5767878-4a8c-40ed-b710-c4e2b42d6b7a modules=sd-mod,usb-storage,ext4 quiet
 initrd /boot/initramfs-grsec
}

Rebooted to Alpine.

# Post-install. There is a lot to do - nothing got installed but pure system.
Comment first line  - /media/usb/apks - in your /etc/apk/repositories
or apk will whine warnings all the time.
setup-apkcache  # enable local cache, store packs locally. I am not sure it's needed witk hdd-install, but I did it anyway.
apk update  # update package-list.
apk upgrade  # upgrade what's installed.

And here we go with adding shit and all:
apk add nano  # trying to avoid vim :)
apk add bash bash-doc  # default shell is ash. In /etc/passwd , changed shell to /bin/bash
adduser myusername
nano /etc/group and I added my fresh user to groups: lp, audio, video, cdrom, plugdev, netdev, power, wheel (and whatever).
nano /etc/sudoers and uncommented 'allow wheel members whatever sudo thingy' at near files' end.

Back to adding things:
apk add perl automake cmake build-base qt sudo
setup-xorg-base  # this one is script
apk add xorg-server
Evdev, mouse and keyboard came automatically. But not video:
apk search xf86-video   # to find what drivers there are. For me it was
apk add xf86-video-nouveau
NB! It seems that it's impossible to install Nvidia binary, so, nouveau it has to be.
I did not 'Xorg -configure' - it started without that.

apk add udev  # Manual says that you should do the following below. I forgot, and then I discovered that it was already automagically done ... but whatever:
/etc/init.d/udev start && /etc/init.d/udev-postmount start
rc-update add udev sysinit
rc-update add udev-postmount default


apk add xfce4-terminal xarchiver
First one brought a pile of good things (cairo, pango, hicolor...)
apk add openbox
touch ~/.xinitrc && echo "exec openbox-session" >> ~/.xinitrc


# startx
Now, I suppose that whomever installs Alpine, already has a bunch of confs hoarded - and now it's time to copy-and-fix them for Alpine. From .config/openbox/* to .bashrc and gtk.
After that I installed fonts (search 'font' in alpinelinux.org 'Packages' for suitable ones), gtk+2.0, gtkmm, gtkmm-dev (and with gtk's there will be enormous pile of nice addons), gtk-engines, coreutils, py-gtk, firefox, pcmanfm, geany, feh, conky, alsa.
Alsa wants also something like that:
alsactl init
rc-update add alsa
rc-service alsa start


# What is not there, of my favourite basics:
obconf, lxappearance, spacefm, medit, nitrogen, tint2, compton, smplayer, volumeicon, wmctrl, xdotool...
Wmctrl I made from from source, it needs libxmu-dev.
It's not possible to make spacefm and udevil (in reasonable way) - and that is quite a showstopper for me.
Volumeicon - it compiled, through some wrestling, but didn't work anyway.
That is the point I reached currently.
To mention more not-there-apps-and-shit: LXDE, Mate, lxpanel, leafpad, gedit, libreoffice, meld, gcolor2, qeeqie, chromium ... etc.

# Conclusion
Desktop on AlpineLinux is definitely possible. IF available stuff is of your taste. I am missing some 80% of what I prefere... Compiling in Alpine is ...errr ... hit and miss.
So, despite that I kinda like Alpine - and it's fast alright - it looks, I am on the road again.
Also see - the second round of Alpines' install - Lenovo laptop.

2014-03-15

PC-BSD, take 2

I have been feeling restless and somehow unsatisfied lately, kinda missing some thrill in my Linux adventures. Also, some part of it is my disappointment that Debian chose the future of systemd. Means that there will not be next stable Debian install for me. All in all - I decided to start with some slightly radical projects, one of which is new visit to BSD-land.
See the previous one here.

I dowloaded PC-BSD DVD-USB-version of iso, dd-d it to usb-stick:
dd if=PCBSD10.0-RELEASE-x64-DVD-USB-latest.iso of=/dev/sdd bs=1M
and booted it without problems. With my new and better box it didn't take very long for language-menu to appear. Whole installation looks roughly identical to ver 9.2.
Only filesystem available is zfs.
The new installing option is 'grub-slice' for planting grub2 to bsd root. What a joy - at last an option to escape fucked-up MBR, and get grub-generated correct boot-code!
... Well, it wasn't. Joy, I mean.
What I got was grub 'exiterror', indicating something like 'I can't understand so many partitions or labels or whatever'. And installation ended with 'Failed'.
I found quite a lot of the same when googling about it. What I didn't find was the solution.

I mused a bit over it - mind, quite relaxedly this time - as my expectations of successful installation wasn't especially high anyway.
Conclusion:
1. I really do not need zfs for my desktop. It's an overkill.
2. There seems to be quite a lot of difficulties to get zfs pool mounted in Linux - as BSD version of system tends to be newer than Linux-provided zfs-fuse. Means, one has to do various tricks for that, or - to get some common r/w partition for those op-systems (and no, freebsd does not recognize ext4).
3. And - I am not going to repair my MBR because some silly shit wants to overwrite it. One thing I expect from op-system is that it installs as I want it to be installed. PC-BSD still doesn't do it for me.
Formatted this special primary partition I had kept for BSD to ext4, and I might try Gentoo there ...

Because my previous BSD-post had a little part about Ghostbsd, then - I took a look. As is seen there, ver 4 alpha is out (and is based on Freebsd 10). Consequently - no install-attempts just now. But I will try when 4 gets released.

2013-11-02

Filezilla install, Slackware 14

I am not sure if the following experience is not caused by my not-100%-slack-install, BUT I tend to think that no.
I started with slakfinder.org, and Kikinovaks' 64bit Filezilla package (no dependecies notified). It refused to install.
I decided to go stright for sbo and compile my own (sbo also had latest 3.7.3 version). One dependency - wxPython - was listed.
It dind't  compile.
To cut it short, needed are (all installed with slackpkg+, and from 'slacky' repo): wxPython, wxWidgets, wxGTK, libmspack.
Then it compiled OK, and works also OK.
Hopefully it saves you this hour I spent.

And to blab a bit more:
- Openbox 3.5.2 doesn't want to compile in Slackware 14. Probably pango libraries are oldish. Seems that waiting for Slack 14.1 is a wise move.
Edit | And it did compile in 14.1 ... I still haven't tried to install, though... (3 days later) - Now I have, and it works totally alright. |
- Week ago Spacefm had a new version - 0.9 which has a lot of improvements. If your previous install was with spacefms' installer, then upgrade is easy-peasy - download 0.9 installer and run it. That's it.

2013-10-27

Vsido 2, review-like

| Informational note, 2014, Vsido = Fluxbox only, pulseaudio, systemd |

Generally, I quite hate writing reviews. In this case, there are two reasons for installing Vsido and reviewing it: First - the nostalgic one - Vsido was my first real Linux (means, not Ubuntu-based). So it can be taken as homage to VastOne. Secondly - I have problems with Fluxbox in Slackware and wanted to compare confs with other Fluxbox.
Fortunately my gratitude to VastOne doesn't forbid me to whine and bitch over Vsido 2. So, let's...

The story of installing Vsido ver.1 is here.
I wrote iso (64bit, 16.oct version) to USB with Unetbootin, and booted to Live without any problems.
Desktop layout has remained quite the same as in ver.1.: Conky up-left, and (hidden) dock-thingy (lxpanel) at bottom-center. Newcomer is Wicd icon in up-right corner. Wallpaper is the same as Vsidos' website header... well, it's better than previous one.
If one doesn't use wireless, then wicd should be promptly uninstalled. I also would uninstall lxpanel and replace it with tint2 (which is already installed, and used in Openbox). I like my launched apps nicely visible, as also three icons (terminal, spacefm and firefox) and system tray. And I do not like launch-once-docky-type things at all.

So, let's install (installer is in System menu).
There is quite a lot of explanatory text here and there - which is good. Gparted is for partitioning. Then comes nice compact menu for creating user, passwords and computer name. After that comes choosing timezone and lastly, grub install (which has all needed choices).
Whole install took less than ten minutes.
Vsido boot was normal (fast) debian. Display manager is - as previously - LightDM, but in it's new and moronic form. I logged in and was greeted by first-time script. I let it dist-upgrade - which is, in my opinion, a bit dangerous thing. What happens if there is, say, big xorg update? Anyway, update was successful - and biggish as always with Sid. Script installed apt-xapian-index, which is great (creates seach-box into Synaptic). The script offers also to install cups, java, Libreoffice and some more things.
One can do the same - and more - through pre-installed smxi script. But I suppose welcome-script is good thing to have.
There are - additionally to default Fluxbox - Openbox, i3 and Xfce installed. Which is quite a lot of options.

Fluxbox menu.
First, why is Spacefm represented with general icons? Spacefm has very nice original icon - why not to use it?
And here comes my loudest whine: the menu structure and app distribution in submenus are bloody strange!
- Settings: Why is Gparted there? Why is Disk Manager installed at all?
- Accessories: Why are Lxappearance (and, by the way, 15pt font size for text is way too big) and Nitrogen here? And Htop??
- Development has Xcalc in it!?
- Fluxbox menu should sit in Settings, as submenu, and not as separate menu.
- Internet: Why to have Wicd and Ceni both installed?
- Multimedia: So, Vsido got pulseaudio installed this time... well, fortunately there is 'purge'.
- System: Not sure if Gdebi and Aptitude are good for anything.

Now, app choices doesn't really matter - everyone has to make their own picks anyway. But - sticking apps into absurd places certainly is irritating. And having a bit more consistent menus through different sessions would be definitely bonus too.

Everything what was installed seemed to work - except Iceweasel, of course (bookmark toolbar not functioning. Also - whole menu was grey and fuzzy-looking.).
Net was picked up without any problem. Initial memory usage was pleasantly low 125 megas.

Openbox.
The same look - but dock-thingy is created with Tint2 and it's not hidden here. Terminal comes transparent by default - and that's not a good thing. When terminal happens to be on top of white app, it's unusable.
Menus - A lot better here, but:
- Compton sits under Graphics... really, now...
- Audacity is missing in Multimedia. Not that I would use it, but why inconsistency?
- I would put Tools and System menus together.
Font size in menus (in Fluxbox menu too) are too big and look like childrens' book.

i3.
Well - i simply couldn't open anything there, who knows how it's supposed to work. Fortunately console and killall helped.

Xfce.
Dock is created with lxpanel and is hidden. Menu looks textvise better than boxen ones. But it has huge problems with icon sizes - there are at least 3 different sizes all mixed up. And there are double entries.
- Settings has Openbox Configuration Manager sitting there.
- Accessories has Nitrogen - which should be in Settings; Spacefm is doubled, and with different icons; Root Terminal shouldn't be in this menu at all.
- Internet has two Iceweasels.
- Multimedia has two gmusicbrowsers (and icons are of different size.
- Other has 'Fluxbox menu' and 'Openbox'. No, I didn't try...
- System has two Spacefms and two Xfce terminals.
So, Xfce session looks quite untuned. Maybe it's time to drop it? Vsidos' forum leaves impression that there isn't very much Xfce users... if any.

Now, if all previous left the impression that I hate Vsido - then no, I do not. As far as Linux distros go, Vsido is one of the best.
It has pleasant clear-cut installer and installs without any problems. It works. It's fast and lean. Fluxbox and and Openbox are good bases to personalize onto. And all those whined-over menu things can be fixed in an hour. But experimental Iceweasel is a pile of crap and should be purged as a first thing.
I think I liked first version of Vsido a bit more. Not sure why... maybe it's this first love thing. Second version seems to be more advanced-user oriented. Which is a wise move - I guess that there aren't very much noobish Vsido-users in existence.
... And I did not manage to fix my Slackware Fluxbox. Looks like, maybe, a compile-time.

2013-09-22

Slackware 14.0 64bit install - 3: More apps, some problems

Planned it to be a third-party package-managers post... Well, it isn't. I got slackpkg+ working - so I am not currently interested in other helpers. Also, as my playing with Slackware is educational undertaking, then I am kinda reluctant to turn Slack into another Salix.
So the following is more app-installs and description of various accompanying annoyances. Let's start with:

- slackpkg+ (and all installs are now with slackpkg+, if not said differently),  homepage and sourceforge files.
In my second try I downloaded it from slackbuilds, built and installed. There was 8 bit difference compared to dowloadable package. But never mind that, what's important - the thing worked. Next day I let it be upgraded with the same slackpkg+, and it still works... It's funny how Slackware teaches to be happy when absolutely trivial things actually work :)
I played around with adding and removing mirrors, changing their positions in repo list, and so on. Drove me almost nuts... I ended up with no salix on list (their repo is missing md5 check - and slackpkg doesn't like that at all), and 'upgraded' most of my salix pacakages to others like alien bob or slacky. Which caused me quite a lot of greaf.
And which also means I have to blacklist some salix-packages - to avoid them to be upgraded or continuously whined-over by upgrade-all. First ones in blacklist are:
- Openbox and obconf. After 'upgrade' to slacky versions I lost all icons in openbox menu. I discovered that after some other installs and so wasted 1,5 hours with searching wrong leads... Installing salix versions back fixed the problem. Seems it had something to do with slacky (and alien bob) packages not referencing to imlib2
- conky 'upgraded' to slacky. After that it refused to start - missing liblua and libtolua. Both were installable, though. Then, at some point, I removed audacious and bloody conky had a new problem - it missed libaudcore.
So I had to reinstall audacious. I have to say that this made me a bit angry.
Edit | Recently, the bloody moron (slackpkg+) suggested lua 'upgrade' to alienbob... conky got broken again. As slackpkg also refused to install slackys' lua package, I had to download it and installpkg. Then conky worked again.
Some philosophy here:
a) I am not sure anymore that slackpkg+ is worth the hassle. It seems bloody easier to get your stuff yourself - and you know what you have downloaded and you upgrade when you want.
b) Occasionally it seems easier to compile than to use binaries. It goes for contributed packages, and also for some 'officials'. |
- dotnew sf:salix64. Definitely better tool to fix new configs than slackpkg one.
- gksu sf:chess, depends on libgksu s:slacky and on libgtop sf:salix64. It still refused to run and as appeared, it has somewhat oldish (two years at least) configuration bug. To fix it, do:
mkdir /usr/lib/libgksu
ln -s /usr/lib64/libgksu/gksu-run-helper /usr/lib/libgksu/gksu-run-helper

For me it fixed it. But I saw one case in web where this didn't help...
- google-droid-fonts, kikinovak.
- murrine engine from sbo.
- gparted, slacky - needs gtkmm (which I already had because of nitrogen install).
- fsarchiver from sbo, no deps.
- mplayer codecs, kikinovak.
- mplayer. There I had a bit confusion - slackpkg didn't show it in Slackware repo, but slakfinder claimed it to be 'official'. So I installed it from sf:official. And uninstalled vanilla phonon-mplayer. I hate GUIs that look like shittily designed car dashboards.
- smplayer from kikinovak.
- abiword 2.8.6, slacky - needs wv - slacky, AND despite sbo saying 'optional' - libgoffice is needed - slacky.

-- gdm: Tweaking flower-pr0n off. Two important places:
/etc/gdm/custom.conf and /usr/share/gdm/themes
Since I installed Salix gdm-package then there was quite a few themes to tweak. I took one, copied it, swapped all pngs, tweaked .desktop and .xml to match filenames, tweaked .xml a bit more for login-menu position... Done.
Then ran: 'gdmsetup' and picked this and that.
Logout and ... what the hell is this? The look was complitely different of what I expected. It wasn't even my theme... Back to openbox, gdmsetup - and it appeared that the moron leaves all checked themes checked, and shows the first one on list. You have to uncheck others and specifically choose 'show selected only' option.
Otherways, everything worked fine and my login-screen now looks great.

Also, most of tweaking and installing is done now. Just some more experimenting (bashrc, rc.d ...) and then I start to play with other Slackwares' window managers.

Some more useless philosophical musings - a) Slackware is probably quite great if you don't poke it. b) It's quite annoying when you do. And takes a shitload of time.
It's definitely a distro not fit for casual user.
Despite that I find it ...errr... intellectually stimulating with its complicated ways, I guess that slapt-get way is better. It really saves a lot of time and annoyances.
See also: part 1, part 2.

2013-09-17

Slackware 14.0 64bit install - 2: Apps

Xfce in Slackware looks completely stock. And it is that. Good - so we can customize it, and other WM-victims, to our fine tastes and don't have to tear down wimpy vanilla customizing! Alas, that has to wait.
This here is about installing apps and things, and without automatic dependency checks at that! And, if you are Slack-n00b - as you should be if you are reading this - let me stress, there REALLY isn't checks.
slackbuilds.org has dependency info as a comment... mostly. And no, Slakfinders' packages doesn't have dependecies included, but description pages have 'required' field (probably filled).
Those mentioned two ARE essential web-pages for app-hunting: slakfinder.org = sf (binaries from different repos) and slackbuilds.org = sbo (build scripts and links to sources).
Most of following apps were installed either with stright 'installpkg' or through SlackBuild/installpkg (yes-yes - I am going to try out slapt-get, sbopkg and src2pkg. There will be 'Edit' or something about that. Maybe).
So, take the following (partial) list as an example how-to. Oh, and there are some pretty good apps in this list, too. Naturally, it will be Openbox installation - no Kdes' native apps will figure here.

Two commands for checking what we already have out-of-box: slackpkg search xxx, slackpkg file-search yyy. They are very useful. The first one searches packages, the second, naturally, files. You don't have to write whole names, all that fits will be shown.
To business:

- udevil for mounting things, spacefm as the file manager. Those two have their own installers. Worked like charm, no dependencies missing.
After installing, add following line for kernel polling into /etc/rc.d/rc.local:
echo 3000 > /sys/module/block/parameters/events_dfl_poll_msecs
One more thingy - both will be installed in /usr/local/bin. So, if you specify udevil as your 'mount command' in spacefm, don't leave it '/usr/bin' like it is in example there.
- medit sf:slacky.
- webcore-fonts sf:salix64.
Then delete link: /etc/fonts/conf.d/60-liberation.conf
then run: fc-cache -f
- gdm sf:salix64. Needs libgnomecanvas sf:salix64
- libconfig (for compton) sf:salix64.
- compton, get source from https://github.com/chjj/compton and there is Readme too.
make && make docs && make install
- openbox, obconf sf:salix64.
- tint2 - source, v.0.11. How to make svn tint2.
Needs imlib2 sf:slacky.
In essence: in your /tint2 build folder, as user, run and do:
svn checkout http://tint2.googlecode.com/svn/trunk/ tint2-read-only
download:https://www.dropbox.com/s/gmko5d6sy8qjpao/tint2patchfiles.tar.gz
and extract the three files to /tint2-read-only
cd tint2-read-only
patch -p0 < src-task-align.patch
patch -p0 < freespace.patch
patch -p0 < launcher_apps_dir-v2.patch
cmake -DCMAKE_INSTALL_PREFIX=/usr ./
make
make install

- volumeicon sf:salix64.
- wmctrl sf:salix64.
- xdotool sbo: this SlackBuild wants source tar in its folder (not an extracted folder); result goes to /tmp. Copy/move it to your packages folder, do installpkg.
- qbittorrent sf:salix64. Needs libtorrent-rasterbar sf:salix64.
- qpdfview sbo: here is unpacked source-folder OK, resulting package goes to /tmp. Take it, installpkg it.
- nitrogen sf:salix64. Needs gtkmm ... - I probably left some set uninstalled OR the dependency-info in sbo is incorrect, it needs additionally: ... atkmm, pangomm, glibmm, cairomm, sigc++ sf:alien bob.
First 'ldd' said that there was also libgiomm missing - but it came obviously from somewhere... anyway, it wasn't available neither in sf nor in sbo.
- gcolor2 sf:salix.
- xarchiver sf:ponce.
- galculator sf:salix.
- FBReader sf:salix. Needs liblinebreak sf:salix.
- icedtea-web sf:slacky.
- gucharmap out-of-box, but not starting, saying that it's missing schemas. Run:
glib-compile-schemas /usr/share/glib-2.0/schemas
Lotsa deprecation-drivel there, but gucharmap started then OK. But whining that it's 'using the memory gsettings backend' - and this means, it needs dconf sf:salix.
By the way, Gthumb for example, also needs dconf for remembering its settings. Stupid gnomish trash...

- When writing Openbox menu, mind that xfce4-terminal is called Terminal.
- there is no ~/.bashrc - and terminal prompt looks...errr... boring. Either you have to write your color-code or copy relevant parts from some debian distro, for example. bash_completion works alright, but some added aliases should be fun too.
And so on.
It seems to me OK method to check dependencies through sf and sbo - they list only those that are missing in vanilla Slackware install (sbo at least does, not so sure about sf). If app is not in sf or sbo - or still doesn't start, try 'ldd' command and/or homes of app for info.

Everything I installed to this point works OK. I have still blue-flowery pukey gdm for login and already mid-customized dark science fictionish OB 'desktop'.
... I might even add third part, 'Installing non-native package managers and what crap happened then'.
See also 'Slackware install  part 1'.

2013-09-16

Slackware 14.0 64bit install - 1

Let's start with whining. Getting Slackware installed took me approximately 15 hours - 90% of that went for preparatory reading. At least 70% of reading was useless waste of time.
That's because Slackware docs and wikis are mostly outdated. There isn't one place with properly updated tutorials. I can't be bothered with analysing why it's like that, but it is bloody frustrating to dig through old (and irrelevant) crap.
So, I will be kind and caring in my attempts to make it easier for you, means, even more verbose in my report than usual.

-- I wrote iso to USB, using plain simple Unetbootin (in windows xp, too). And it worked. Means, with ver 14 it's not really neccessary to play around with mini-images or hybridize your iso before dd.
Though - the start menu was a bit funny: memtest, default, huge.s and speakup.s ... last three did the same thing - booted huge kernel. Why the hell is there something called 'speakup' ...?

-- There isn't anything essentially difficult in Slackwares' install process. It's different, alright, but at the same time logical and it has quite a lot of explanatory text.
If your favourite is not fdisk, it's easier to prepare your partition(s) beforehand.
Combination of usb and full iso means that your source is on HDD. Open the list and and pick your usb (mine was /dev/sdd1). Then pick the folder - it's /slackware64.
Setup need to be started with 'setup'.
Select sets you want installed. I left out only Kde and Kdei (and you still get qt-4 installed, a good thing); pick full install in next menu (less dependency problems afterwards).
Configuring: Lilo - as I have Grub2 as my master-bootloader, then I installed Lilo to root (just for creating editable entry for Grub to find). Then I picked usb mouse; for network hostname=takeyourpick, domain=local, ip=dhcp. Then came startup services (You can later change them with pkgtool > setup > services). Then clock; what WM or DE will be default - I chose Xfce (later changeable with xwmconfig); finish with root passwd and boot with ctrl+alt+del.
I booted, did update-grub.
Now, despite generic kernel being also installed, there isn't any initrd created for it - means, booting generic kernel ends in panic. No worry - boot with huge kernel and continue with install.

-- When landing into login prompt, login as a root and then run 'adduser'. It will create your normal user. Creating new user is quite simple, read and respond. Only thing I changed, was to add 'wheel' group to my user (not sure if this gives something additional, but it made me feel good).
Edit | Good that I did. Wheel can be used for sudoing. See here. |

-- Update system: Open /etc/slackpkg/mirrors file with editor (nano is alright for me), and pick only one mirror and uncomment it. Save.
slackpkg update gpg
slackpkg update
slackpkg upgrade-all

# the last one gives you a list of choices, including minor kernel upgrade (dangerous). I bit the bullet and did them all. And it worked.

-- Then I installed slackpkg+. It's an addon script for slackpkg and gives you multi-mirror capability (ordinary slackpkg knows only slackware repos, nothing else).
Unfortunately, it didn't work for me. Whatever I did, I got a reply that I should update before doing it. And update said that there is no packages list available. I removed slackpkg+ through pkgtool and package management worked again. I have no clue...

-- Creating initrd for generic kernel. Run:
/usr/share/mkinitrd/mkinitrd_command_generator.sh -l /boot/vmlinuz-generic-3.2.45
This gives you a) a mkinitrd command to run, b) lines to put into /etc/lilo.conf
a) My command was like this (I changed initrd file name to be more specific):
mkinitrd -c -k 3.2.45 -f ext4 -r /dev/sdb4 -m mbcache:jbd2:ext4 -u -o /boot/initrd-generic-3.2.45.gz
b) And my lines for lilo.conf:
image = /boot/vmlinuz-generic-3.2.45
initrd = /boot/initrd-generic-3.2.45.gz
root = /dev/sdb4
label = Slackware 14.0 Generic 3.2.45
read-only

# And do not forget to update-grub too. By the way, no need to write 'on /dev/sdbx' into label - Grub2 does that automatically.

-- Multilib thing - to add 32bit app running capability. I didn't do it. With slackpkg+ it would have been easy-peasy. Without - a bit hassle. I do it when I need it.

-- NVIDIA, one might take a look here - if binary solution doesn't work.
Again, there are quite a few different ways of doing it. Confusing. So I decided to start with the simplest - Nvidia binary.
Downloaded it from Nvidias' page, made it executable, ran it (from console, no X running!).
chmod +x NVIDIAxxx.run
sh NVIDIAxxx.run

After a while installer finds nouveau driver, blacklists it and wants to reboot. Do it.
Also - if you didn't already, update your Grub2, and boot to generic kernel.
Run Nvidia installer again. It does its thing and asks to write xconfig. Yes, let it.
Video driver should be installed now, and time to visit desktop.
Got a picture? Good, then you can change default runlevel (3) in /etc/initab to id:4:initdefault, and your next boot should go to default desktop.
Well, I did that after I installed gdm as display manager. It's probably also wise to run 'xwmconfig' as a user - for creating your own .xinitrc file (there was said somewhere that gdm kinda needs it... not sure).
... to be continued in part 2, 'Installing apps'.
I like Slackware a lot.

2013-08-25

Mystery of PC-BSD

A funny story of unsuccess and bafflement...
So I wanted to try out a BSD. I picked, warily, the simplest of them - PC-BSD. Downloaded 9.1 UsbLive version, wrote the img with WinImageWriter and booted.
Boot was abysmally slow, riddled with cryptic error-messages. Then, after an eternity, it asked if it can expand files... 'and the answer is yes', emphatically.
Then it rebooted! And loaded again what seemed a new eternity... then display wizard appeared and inquired if the resolution is right. It wasn't. Several attempts to suggest the right one ended with approximately 1 minute console view and after that: 'not possible'. So I let it have a wrong one and proceeded to desktop. Which was kinda slow and laggy.
Then I discovered that 5,6 Giga image was obviously too limited in size to have a browser...
And the stupid thing didn't have install option at all! What-the-hell?!
I felt enraged enough to promptly reboot - and intrigued enough to download install-usb.

I downloaded just-appeared 9.2 Usbfull, wrote it to USB in Linux using dd, and booted.
After lengthy delay menu appeared, and after 5 seconds - before I managed to read menu-items, it booted to default. Fuck. Reboot. Hit space to halt countdown. Read menus. Fuck. Nothing of interest there. Go default.
After more lengthy delay isotope-wallpaper appeared. After some more delay language-selector appeared.
I clicked 'next' and could pick a desktop (default is kde) and some more general packages (like various developments, compiz, etc). No problems there, desktop and window-manager choices are quite extensive. I chose Xfce and Openbox.
'Next' - Disk choices.
Default was zfs to first hdd, all.
I clicked 'customize', then 'advanced'... Menu looked nothing like screenshot from 'Handbook'. Well...
I picked 'ada1s4' as install-partition, and - I couldn't pick ufs. There simply wasn't that option.
What? Where? Fuck? Cancel.
I then tried 'expert' install, typed 'sysinstall' to terminal, navigated back and forth, picked this and that, created root (ufs2) and swap. Commit. Error - can't write from usb blah-blah...
Deep breath. Count to hundred. Think.
OK, install zfs then, you bastard (and no bootloader - as 'Handbook' says if you are going to multiboot from already existing bootloader).
No problems with usb at all, now - the thing installed OK (it took awhile).
Reboot.
Trying to convince Grub2 that there IS bsd. Googling and searching. Trying this and that - and no success whatsoever, no boot.
Bloody fuck!
Downloaded older 9.1 usbfull. Install looked and was exactly the same - no ufs option. Cancel. &^%$ %$##^!
So, it boils down to if I want to experiment with installing zfs+bootloader (for getting valid boot code) - and very probably having to restore overwritten MBR.
I am not sure I want...
And I still can't understand WHY THERE IS NO UFS option available for me.
Edit: It came out that PC-BSD folks simply decided not to support ufs anymore. Ups! Taking to account that manuals there seem to be updated not especially slowly - then one might expect updated Handbook in a year, surely... Edit ends
Well, I think I leave BSD alone for a while. No use to risk with stroke.

Edit: Just for fun and giggles - I also dowloaded GhostBSD 3.1 Lxde amd64 (just after pc-bsd fiasco), wrote the img two times and results are:
a) In Linux, format with GParted, then dd, according to 'handbook'.
Boot messages: No bootloader, no kernel. End.
b) In Windows XP, format with HP usb writer, then winImgwriter, as adviced.
A lot of text (progress!), riddled with multitude of errors. X couldn't start because there were no 'screens' nor any 'devices' available. End.
That was that. Edit ends.