raspberrypi chroot

Ostatnia aktualizacja rpi, dokładnie pakietu raspi-copies-and-fills całkowicie poskładała mi malinę. Boot kończył się kernel panic, pomieszane biblioteki w systemie a dokładniej:

ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem-${PLATFORM}.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.

Rescue (ku pamięci /boot/cmdline.txt -> init=/bin/bash) oczywiście też nie wstawało więc pozostał tylko chroot, montujemy kartę sd w czytniku i lecim:

mkdir /mnt/rpi                                    
mount -o rw /dev/sdb2 /mnt/rpi/
mount -o rw /dev/sdb1 /mnt/rpi/boot/
mount --bind /dev /mnt/rpi/dev
mount --bind /sys /mnt/rpi/sys
mount --bind /proc /mnt/rpi/proc
mount --bind /dev/pts /mnt/rpi/dev/pts/
sed -i 's/^/#CHROOT /g' /mnt/rpi/etc/ld.so.preload
cp /usr/bin/qemu-arm-static /mnt/rpi/usr/bin/
chroot /mnt/rpi/ /bin/bash

#w moim przypadku usunąłem wszystkie wpisy w /etc/ld.so.preload dzięki czemu system wstał i mogłem dokonać update z nowszą wersją w/w paczki.
#gdy nie majstrujemy w ld.so.preload po wyjściu z chroota dajemy:

sed -i 's/^#CHROOT //g' /mnt/raspbian/etc/ld.so.preload

I to tyle, odmontować i można probować wystartować rpi 🙂

qnap nfs export one ip

Każdemu zdarza się wpadka, tak było z firmware qnapa do kilku modeli. Wszystkie udziały exportowane dla więcej niż jednego ip niestety nie działały. W /etc/exports pojawiał się tylko pierwszy z nich mimo poprawnych ustawień.

Sprawa oczywiście prosta do rozwiązania, ręczna edycja /etc/exports, downgrade lub czekać na nowy firmware. I tutaj niespodzianka, już jest, po aktualizacji wszystko działa cacy 🙂

Realtek RTL8192CU powersaving

Pomimo iż iwconfig pokazuje power management jako off okazuje się, że z defaultu jest jednak włączone co skutkuje wyłączaniem adaptera po nieaktywności.

pi@raspberrypi:~ $ sudo iwconfig wlan0 
wlan0     IEEE 802.11bgn  ESSID:"pakosowo_2G"  Nickname:"<WIFI@REALTEK>"
          Mode:Managed  Frequency:2.462 GHz  Access Point: 18:31:BF:36:E5:68   
          Bit Rate:144.4 Mb/s   Sensitivity:0/0  
          Retry:off   RTS thr:off   Fragment thr:off
          Encryption key:****-****-****-****-****-****-****-****   Security mode:open
          Power Management:off
          Link Quality=100/100  Signal level=69/100  Noise level=0/100
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

pi@raspberrypi:~ $ cat /sys/module/8192cu/parameters/rtw_power_mgnt
1

Power saving należy ręcznie wyłączyć w:

pi@raspberrypi:~ $ cat /etc/modprobe.d/8192cu.conf
# Disable power saving
options 8192cu rtw_power_mgnt=0

QNAP TS-231P

Prawdę mówiąc od dłuższego czasu zbierałem się na zakup nas’a z prawdziwego zdarzenia aniżeli budowanie czegoś od zera. Przez pewien czas szczątkowe funkcjonalności pełniła malina z podpiętym dyskiem na usb i pewnie jeszcze by to długo działało ale w końcu dorosłem do zakupu. Podstawowym założeniem była jak najmniejsza cena bo bądźmy szczerzy, aż takich wymagań do domu nie mam aby wydać kilka tysięcy pln.

Po przestudiowaniu ofert, opinii z dosyć wąskiej oferty w dolnej granicy cenowej wybór padł właśnie na Qnap’a, model TS-231P + dwa dyski w moim przypadku to 2x Seagate w 2TB.

Zestawu używam już prawie miesiąc i jak za taką cenę oceniłbym go bardzo dobrze, niestety trochę nie doceniłem siebie i teraz pewnie wybrałbym coś innego, a chodzi mi głownie o procesor. Tutaj jest „Annapurna Labs Alpine AL-212 (2 rdzenie, 1.7 GHz) ” czyli ARM no i 1 GB ramu. Do podstawowych funkcji jakie są przewidziane pewnie wystarcza, zużycie pewnie jest też w miarę sensowne (jeżeli kogoś interesują dokładne dane to jest tego masa na różnych stronach).

Mnie właśnie zaczęła doskwierać architektura procesora no i niewielka ilość pamięci gdy tylko zabrałem się za zabawę z lxc i dockerem, o tym przed zakupem kompletnie nie pomyślałem a co dopiero o prawdziwej wirtualizacji której tutaj brak 🙂

Druga sprawa to dyski które zakupiłem, o ile sam Qnap jest bardzo cichy w codziennej pracy to dyski strasznie głośno się zachowują, szczególnie przy dużym i ciągłym zapisie/odczycie i to jeszcze muszę dokładniej zbadać 😐

Reasumując jeśli kogoś interesuje głownie storage na backupy/filmy/muzykę i usługi typu samba/cifs/nfs/ftp/dlna itp w niskiej cenie to polecam, jeżeli coś więcej to szukałbym czegoś z procesorem z prawdziwego zdarzenia i większą ilością pamięci. Zapewne też tak zrobię jak  tylko znajdę kupca na ten model 🙂

tmux

Prosto aczkolwiek czytelnie, jak na obrazku (config z internetu niestety nie pamiętam linka do oryginału).

#set-option -g default-command "exec /bin/bash"
set-window-option -g mode-keys vi
#custom
set -g status-bg '#d3d7cf'
set -g status-fg '#2e3436'

# remap prefix from 'C-b' to 'C-a'
#unbind C-b
#set-option -g prefix C-a
#bind-key C-a send-prefix

# split panes using | and -
bind | split-window -h
bind - split-window -v
unbind '"'
unbind %

# reload config file (change file location to your the tmux.conf you want to use)
bind r source-file ~/.tmux.conf

# switch panes using Alt-arrow without prefix
bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D

# Enable mouse mode (tmux 2.1 and above)
#set -g mouse on

######################
### DESIGN CHANGES ###
######################

# panes
set -g pane-border-fg black
set -g pane-active-border-fg brightred

## Status bar design
# status line
set -g status-justify left
set -g status-bg default
set -g status-fg colour12
set -g status-interval 2

# messaging
set -g message-fg black
set -g message-bg yellow
set -g message-command-fg blue
set -g message-command-bg black

#window mode
setw -g mode-bg colour6
setw -g mode-fg colour0

# window status
setw -g window-status-format " #F#I:#W#F "
setw -g window-status-current-format " #F#I:#W#F "
setw -g window-status-format "#[fg=magenta]#[bg=black] #I #[bg=cyan]#[fg=colour8] #W "
setw -g window-status-current-format "#[bg=brightmagenta]#[fg=colour8] #I #[fg=colour8]#[bg=colour14] #W "
setw -g window-status-current-bg colour0
setw -g window-status-current-fg colour11
setw -g window-status-current-attr dim
setw -g window-status-bg green
setw -g window-status-fg black
setw -g window-status-attr reverse

# Info on left (I don't have a session display for now)
set -g status-left ''

# loud or quiet?
set-option -g visual-activity off
set-option -g visual-bell off
set-option -g visual-silence off
set-window-option -g monitor-activity off
set-option -g bell-action none

set -g default-terminal "screen-256color"

# The modes {
setw -g clock-mode-colour colour135
setw -g mode-attr bold
setw -g mode-fg colour196
setw -g mode-bg colour238

# }
# The panes {

set -g pane-border-bg colour235
set -g pane-border-fg colour238
set -g pane-active-border-bg colour236
set -g pane-active-border-fg colour51

# }
# The statusbar {

set -g status-position bottom
set -g status-bg colour234
set -g status-fg colour137
set -g status-attr dim
set -g status-left ''
set -g status-right '#[fg=colour233,bg=colour245,bold] %H:%M:%S '
set -g status-right-length 50
set -g status-left-length 20

setw -g window-status-current-fg colour81
setw -g window-status-current-bg colour238
setw -g window-status-current-attr bold
setw -g window-status-current-format ' #I#[fg=colour250]:#[fg=colour255]#W#[fg=colour50]#F '

setw -g window-status-fg colour138
setw -g window-status-bg colour235
setw -g window-status-attr none
setw -g window-status-format ' #I#[fg=colour237]:#[fg=colour250]#W#[fg=colour244]#F '

setw -g window-status-bell-attr bold
setw -g window-status-bell-fg colour255
setw -g window-status-bell-bg colour1

# }
# The messages {

set -g message-attr bold
set -g message-fg colour232
set -g message-bg colour166

# }

vimrc

Vim vim vim, kto lubi ten używa, upakowanego pewnie w pełno pluginów i wypasiony plik konfiguracyjny. Także i ja wrzucę ale wersję minimalistyczną, mieszczącą się w kilku linijkach, bez żadnych pluginów.

Mi wystarcza (ok przyznaje czasem włączam jakieś dodatki ale tylko czasem), może komuś się przyda też 🙂

colorscheme desert
" save automatically when text is changed
set updatetime=200
au CursorHold * silent! update
set number
source $VIMRUNTIME/mswin.vim
behave mswin
set cursorline
set cursorcolumn
syntax on

Powrót do xfce

Ostatnio wspominałem ile to już lat z gnome przesiedziałem aż naszło mnie na zmianę, stare dobre xfce którego poza screenami nie widziałem od 2008 roku 🙂

Tak oto wczoraj stałem się szczęśliwym posiadaczem owego środowiska na desktopie i muszę przyznać, że szczególnych różnic nie widzę (wizualnych) i to bardzo dobrze.

Czuję się jak za starych dobrych lat za czasów gtk w wersji drugiej. Normalny panel, tray menu, tego mi trochę brakowało (oczywiście idzie gnoma przystosować do czegoś podobnego) no i ta żwawość, gnome zasadniczo więcej zasobów zużywa 🙂

Myślę, że na dłuższy czas już tak zostanie, jest jeszcze wiele rzeczy do których z chęcią bym wrócił ale nie jestem już tak czasowy więc raz na 10 lat wystarczy 😀

guess who’s back? conky :)

Znowu wracają czasy 2012 roku, gnome 2 i zabawy z conky. Trochę konfiguracji przewinęło się na blogu i tak mnie wczoraj naszło aby znowu skorzystać z tego cudownego narzędzia.

Na początek popełniłem dwie wersje, jedna na prawą stronę ekranu a druga jako górny panel. Konfiguracje w linkach poniżej (wersja z panelem jest dostosowana do mojej szerokości monitora więc gdyby ktoś skorzystał musi sobie poprawić ${goto x} na swoje wartości).

conkyrc1

conkyrc2