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.


Grub2 problem

Grub 2 in Debian Wheezy, MBR, multiboot.
1. Grub started not with my customized look but with default big reso and look.
2. or it skipped conf and went stright to 'grub' prompt.
3. but approximately only in a half of starts.
4. and there was marked delay in Grubs' menu-loading.

What it means is - Grub couldn't find its config file(s), sometimes.
And, in this case, that there is some intermittent issue - appearing and disappearing. I have to say that such kind of behaviour was new to me. In almost three years of various linux installs etc I never met such kind of inconsistent behaviour - things either work or not...

Solution is simple: As we are talking about Debian, then it's 'update-grub' you wan't to run.
And that's it. Loading lag disappeared together with inability to load confs...
So, something got corrupted (and it didn't show in file dates in any way)... Fortunately it also uncorrupted itself in a simple way.


Changing themes in Openbox

Skackware64 14.1, Openbox, tint2, conky, feh.
## After using three month almost only Slackware with my slightly-Steampunk theme, I got bored and recalled idea I had - to make script to start X+OB (without display manager) with visual theme I like at that moment, with choice of others.
So I made it happen. In most primitive bash (me - bash-n00b).

# There are one Chooser and four Swapper scripts (as I have currently four themes):
-- 1. Created conf-number file, like:
if [ ! -f obtheme/theme ]; then echo "1" > 'obtheme/theme' ; fi
Get the number:
theme=$(grep -o '[0-9]*' obtheme/theme)
Every time theme is chosen, new number is also written into theme-file.
Those above are for marking previously chosen theme ('if then echo') - and also to let wallpaper-randomizer script to know which one is current.
Then I set some variables;
did 'while' and 'if' between choices, 'read' those 'if'-s, and 'break'-ed with correct answer;
And final 'if-elif' then does
if ... ; then exec ""
with chosen theme-swapper script.

-- 2. Swappers
I Collected everything possible to ~/obtheme/xx folders. Like tint-stuff and wallpapers and conf files to be swapped.
For various reasons - there are either symlinks or files overwritten (respectively 'ln -sf' and 'cp').
- Two gtk confs (.gtkrc-2.0 and .config/gtk-3.0/settings.ini = gtk-theme swap);
- my wallpaper randomizer script for that theme (symlink). But - randomizer can also be modified to pick folder according to already existing theme-file number, and then there is no need to swap it | Edit - Done, see the end of the post |;
- .fehbg in ~/ (to pick up another wallpaper-folder);
- rc.xml (OB-theme swap) and autostart in ./config/openbox. Those are also symlinks which point to theme-specific files. Different tint2 and conky confs are opened from swapped auostart;
- and lastly, 'startx'. Or for debugging - as Slackware without display-manager doesn't want to log X-errors - startx 2>.xsession_errors

So, I now start my X either with alias 'sx' - no change, stright to X;
with 'sxz' - which opens up dialog of theme-change;
or, I can pass that and use aliases for swappers: sx1, sx2... .

For anyone fluent with bash - to make such scripts is totally no issue. What takes time is preparing themes - from various conf changes to actual pic-making or theme-tweaking.
But I have to say - it's most satisfactory to see my whole "desktop" instantly and totally changed.

Addon: Here is a simple script for swapping wallpapers inside the current theme wp-folder. Also, keyboard W+1 is mapped in rc.xml as 'swap desktop to first one and run'.

## very simple random wallpaper picker, through feh or nitrogen
## --------------------------


# theme number variable from theme file
theme=$(grep -o '[0-9]*' /home/user/obtheme/theme)
echo $theme
# directory containing images
DIR=$(if [ $theme -eq 1 ] ; then echo "$sp1" ; 
 elif [ $theme -eq 2 ] ; then echo "$sf2" ; 
 elif [ $theme -eq 3 ] ; then echo "$fan3" ; 
 elif [ $theme -eq 4 ] ; then echo "$nat4" ; 
echo "$DIR"
# select a random jpg from the directory
PIC=$(ls $DIR/*.jpg | shuf -n1)
echo "$PIC"

# use nitrogen to set wallpaper
# nitrogen --set-scaled $PIC
# use feh
feh --bg-scale $PIC



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, 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 /boot/ 
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/ -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, 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
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:// --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.

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 --kernel-name='3.14.28'
It compiled, but whined over wrong arch in  /usr/lib64/
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.