Schlagwort-Archiv: HowTo

HowTo – OSX Mavericks Bootmedium erstellen

Problem:
OSX Mavericks gibt es bekanntlich ja nur als App- bzw iTunes-Store Download oder eben vorinstalliert. Eine Installation zB per DVD ist wohl nicht vorgesehen. Ich hätte aber gerne eine bootbare DVD zur Hand.

Lösung:
Es gibt hierzu 2 Lösungen


# Mount the installer image
hdiutil attach /Applications/Install OS X Mavericks.app/Contents/SharedSupport/InstallESD.dmg -noverify -nobrowse -mountpoint /Volumes/install_app

# Convert the boot image to a sparse bundle
hdiutil convert /Volumes/install_app/BaseSystem.dmg -format UDSP -o /tmp/Mavericks

# Increase the sparse bundle capacity to accommodate the packages
hdiutil resize -size 8g /tmp/Mavericks.sparseimage

# Mount the sparse bundle for package addition
hdiutil attach /tmp/Mavericks.sparseimage -noverify -nobrowse -mountpoint /Volumes/install_build

# Remove Package link and replace with actual files
rm /Volumes/install_build/System/Installation/Packages
cp -rp /Volumes/install_app/Packages /Volumes/install_build/System/Installation/

# Unmount the installer image
hdiutil detach /Volumes/install_app

# Unmount the sparse bundle
hdiutil detach /Volumes/install_build

# Resize the partition in the sparse bundle to remove any free space
hdiutil resize -size `hdiutil resize -limits /tmp/Mavericks.sparseimage | tail -n 1 | awk '{ print $1 }'`b /tmp/Mavericks.sparseimage

# Convert the sparse bundle to ISO/CD master
hdiutil convert /tmp/Mavericks.sparseimage -format UDTO -o /tmp/Mavericks

# Remove the sparse bundle
rm /tmp/Mavericks.sparseimage

# Rename the ISO and move it to the desktop
mv /tmp/Mavericks.cdr ~/Desktop/Mavericks.iso

HowTo – STLinux Toolchain (sh4) selbst erstellen

Problem:
Ich möchte für meinen Receiver etwas kompilieren.
Folgende relevante Systeminfos habe ich vom Receiver:

hostname:~# uname -r
2.6.32.59_stm24_0211

Dazu benötige ich also die sh4 Toolchain von STLinux.

Lösung:
Ich lade die ISO mit der STLinux Toolchain runter, mounte das ISO File, generiere mittels alien aus allen im ISO befindlichen *.rpm Dateien entsprechende *.tgz Dateien. Im Anschluss entpacke ich alle *.tgzs und habe alle notwenigen Dateien um CrossCompiles durchzuführen.

Wichtig: Das mitgelieferte Install-Script bietet zwar einen Schalter für die Installation unter Debian, jedoch funktionierte dieses nicht unter Debian Sid und wirft entsprechend Fehler. Ich möchte behaupten, dass die hier eingesetzte Methode die Bessere ist. Schliesslich wird damit Paketsystem-Inkonsistenzen vorgebeugt und ist sehr einfach zu handeln.

UPDATE: STLinux-2.4-sh4-20140404.iso ist verfügbar! Bitte entsprechend anpassen! 😉


# installation von dependencies (evtl ist das mehr als zwingend nötig)
sudo apt-get install alien fakeroot
# ISO runterladen
wget ftp://ftp.stlinux.com/pub/stlinux/2.4/iso/STLinux-2.4-sh4-20121121.iso -O /tmp
# Mount Ziel erstellen
mkdir /tmp/loop
# mounten der ISO
sudo mount -o loop,ro /tmp/STLinux-2.4-sh4-20121121.iso /tmp/loop
# Arbeitsordner für alien erstellen und dahin wechseln
mkdir -p /tmp/alien/TGZ && cd /tmp/alien/TGZ
# alle in der ISO befindlichen RPMs zu TGZs wandeln - tip: get a beer!
find /tmp/loop/* -name *.rpm -exec fakeroot alien -t {} ;
# Verzeichniswechsel nach /tmp/alien
cd /tmp/alien
# entpacken aller generierten TGZs
find /tmp/alien/TGZ -name '*.tgz' -exec tar xvzf {} ;
# Toolchain ans gewünschte Ziel tranferieren, in meinem Fall /opt/toolchains
sudo mv /tmp/alien/opt/STM/STLinux-2.4 /opt/toolchains
# OPTIONAL: Packen der Toolchain um diesen Vorgang nicht nochmal wiederholen zu müssen 😉
sudo tar -cvzf Toolchain-STLinux-2.4-sh4-20121121.tgz -C /opt/toolchains STLinux-2.4

Usecase: Ich hab mir ein einfaches Bashscript für den Buildprozess erstellt und exportiere dort die entsprechenden Variablen.

# erst die exports
export CC="sh4-linux-gcc"
export CXX="sh4-linux-g++"
export PATH=$PATH:/opt/toolchains/STLinux-2.4/devkit/sh4/bin
export TOOLCHAIN=/opt/toolchains/STLinux-2.4/devkit/sh4
# und hier wird der Build durchgeführt
make V=1 CROSS=$TOOLCHAIN/bin/sh4-linux-

Ich hoffe damit kann jmd etwas anfangen, Erfahrungen und Kommentare sind hierzu ausdrücklich erwünscht! 😉

FIX: Standby bei Debian jessie/sid funktioniert nicht

Problem:
Mein Laptop läuft auf Debian Testing (Jessie) und seit dem Upgrade funktioniert die Energieverwaltung nicht mehr richtig. Ich möchte, dass der Laptop in den Standby Modus geht – sowohl wenn ich den Deckel schließe als auch wenn ich die Hotkeys (z.B. Fn + F5) verwende. Übers Terminal, mittels pm-suspend getriggert, passiert Erwartetes einwandfrei.

Lösung:
Ich habe eben hier gefunden.

apt-get install systemd-shim systemd-ui

Das hat genügt, die vermissten Funktionen (Standby via LID und Hotkey) waren SOFORT verfügbar!

Das Paket systemd-ui ist nicht essentiell – ich fand aber ein zugehöriges Frontend verlockend. Dieses scheint zum jetzigen Zeitpunkt jedenfalls nocht nicht zu funktionieren

user@host:~$ sudo systemadm

** (systemadm:9050): CRITICAL **: file /home/kay/data/src/systemd-ui/src/systemadm.vala: line 335: uncaught error: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such method `Subscribe' (g-dbus-error-quark, 19)

(systemadm:9050): GLib-GObject-CRITICAL **: g_object_ref_sink: assertion `G_IS_OBJECT (object)' failed

(systemadm:9050): Gtk-CRITICAL **: gtk_widget_show_all: assertion `GTK_IS_WIDGET (widget)' failed


Debian Filename: pool/main/s/systemd-ui/systemd-ui_2-2_amd64.deb

Diesen Pfad solltet ihr bei der genannten Version ebenfalls sehen – bei mir gibts den jedenfalls nicht! 😀
/home/kay/data/src/systemd-ui/src/systemadm.vala

GParted – Extended record needed

Um Partitionen auf Festplatten zu Resizen oder zu verschieben, greife ich gerne auf das Opensource Tool GParted bzw die erhältliche Live-CD zurück. Diese funktioniert einwandfrei, wenn man genau weiss was man tut!
Heute hat zum ersten Mal GParted beim Resizen einer logischen NTFS Partition den Dienst mit folgender Meldung verweigert:

Extended record needed (1048>1024),not yet supported.
Please try less free space.

Der Wert x >1024 kann variieren, wie ich durch Versuchsläufe feststellen konnte.

Zuerst dachte ich an ein „schmutziges“ NTFS Logfile, manuelles ntfsfix brachte allerdings keine Besserung. Nun gut, selbiges führt wohl auch GParted zurecht zu Beginn einer Modifikation durch.

Platz war ebenfalls reichlich auf der zu verkleinernden Partition vorhanden – dies konnte also nicht das Problem sein.

Durch Verändern der abzutrennenden Größe konnte zumindest der Zahlenwert variieren – jedoch immer „> 1024“ – somit also auch kein befriedigendes Ergebnis.

Erst eine Defragmentierung des betroffenen Laufwerkes unter Windows brachte den gewünschten Effekt und die Partition konnte nach belieben, wie gewohnt, modifiziert werden.

Die GParted Live-CD sollte zusammen mit der CloneZilla Live-CD zur Standardausrüstung eines jeden Administrators gehören.

bootchart

Bootchart – darüber bin ich kürzlich mal gestolpert.

Es halndelt sich dabei um eine Applikation, welche im Stande ist, die Zeit des Bootens unter Linux festzuhalten. Eine witzige Sache wie ich finde. Durchaus auch praktisch um zu sehen, für was das System während des Starts Ressourcen benötigt. Das Tool ist also durchaus brauchbar um den Systemstart durch gesunde Analyse zu beschleunigen!

Was muss man tun?

Grundsätzlich nur folgendes:

aptitude install bootchart

Es installiert das genannte Programm, aber damit ist es noch nicht im Einsatz.

Editiert die Config-Datei /etc/bootchartd.conf, dort sollte man2 Dinge definieren

PROCESS_ACCOUNTING=“yes“

AUTO_RENDER=“yes“

AUTO_RENDER_DIR=“/root“

Desweiteren muss man den Bootparameter in GRUB unter /boot/grub/menu.lst, d.h. #defoptions= muss „init=/sbin/bootchartd“ angehängt werden um es zu aktivieren.

Leider überschreibt das Programm bei jedem Bootvorgang die zuvor erstellte Grafik, also sichert, wenn nötig, die Datei!

Kleine Tuningmaßnahmen können direkt folgen. Installiert dash (ein Ersatz für die bash), readahead (erinnert an prefetch unter M$ Windows) und kompiliert die Hauptmodule in den Kernel mit ein. Ein schnelles Filesystem kann wohl auch Wunder wirken wie ich lesen konnte.

Nach der Installation von dash sollte man mittels „dpkg-reconfigure dash“ den /bin/bash ersetzen, für readahead genügt ein „touch /etc/readahead/profile-once“ um beim nächsten Start die Indizierung zu erwirken.

Letztlich kann man noch Services abschalten die nicht zwingend benötigt werden. Apache oder MySQL um mal 2 Kandidaten (für den Desktopbetrieb) zu nennen.

Happy Tuning!

NTFS Partitionen unter Debian

Ein jeder der Linux benutzt kennt das Problem mit den leidigen NTFS Partitionen. Um sie korrekt ins System einzuhängen bedarf es immer etwas Knowledge was gerade für Einsteiger sehr hinderlich ist.

Ich notiere hier der Einfachheit halber mal die 2 möglichen Situationen und die Möglichkeiten sie korrekt zu lösen.

Ich gehe mal davon aus,  das der Umgang mit sudo und das Auflösen einfacher Abhängigkeiten keine Probleme bereitet- man sollte also schon ein wenig mit dem System gearbeitet haben und Pakete installieren können. Zudem fokusiere ich Gnome als DE.

1. Ich habe eine Externe Festplatte mit NTFS Partitionen

Hier kann man relativ einfach zu einem Ergebnis kommen. Über die favorisierte Paketverwaltung müssen folgende Pakete installiert werden: ntfs-3g, ntfsprogs  und libntfs-gnomevfs.

Zudem muss man der Gruppe plugdev angehören, sonst darf man die Platte nicht mounten. Folgender Befehl sorgt dafür.

sudo adduser $USER plugdev

Bei externen Platten kann es manchmal zu Fehlern beim einhängen kommen die Windowsbedingt sind. Beispielsweise wird darauf hingewiesen dass die Platte nicht sauber ausgehängt wurde.

Dazu gibt es ein Werkzeug aus dem Paket nftsprogs. Man öffnet ein Terminal und sorgt mit ntfsfix für eine sauber einhängbare Platte.

Beispiel: „ntfsfix /dev/sde2“ ergibt hier (allerdings saubere NTFS Partition)

Mounting volume… OK
Processing of $MFT and $MFTMirr completed successfully.
NTFS volume version is 3.1.
NTFS partition /dev/sde2 was processed successfully.

2. Ich habe eine Interne Festplatte mit NTFS Partitionen

Hier wirds schon etwas komplizierter, ist aber machbar. Es muss die Datei /etc/fstab angepasst werden, zudem sollten die eben genannten Pakete installiert sein.

Das kann man von Hand erledigen oder ein kleines Tool für sich machen lassen (vllt ganz praktisch wenn man mehrere NFTS Partitionen auf internen Platten hat).  Hier erstmal die Zeile wenn man die Datei selbst bearbeiten will.

/dev/hda1    /media/Win2k    ntfs-3g    defaults,locale=de_DE.UTF-8    0    0

Die Alternative besteht in der Installation eines kleinen Helferwerkzeugs. Dazu sollte man auf jedenfall das Paket make und mind. python 2.6.0 installiert haben, Zugehörigkeit zur Gruppe src ist auch wichtig. Als nächstes holt man sich hier den neuste Sourcecode und speichert diesen in /usr/src (Hier darf nur ein Benutzer der Gruppe src schreiben, d.h. „sudo adduser $USER src“ zur Kontrolle) und entpackt ihn anschließend. Dies kann man im Terminal in einer Zeile durchführen.Das Beispiel wird als Benutzer durchgeführt!

cd /usr/src; wget http://flomertens.free.fr/ntfs-config/download/source/ntfs-config-1.0.1.tar.gz; tar xfz ntfs-config-1.0.1.tar.gz

Nun wechselt man in das erstellte Verzeichnis, führt configure und make als Benutzer aus, die finale Installation ist nur als Root möglich.

cd ntfs-config-1.0.1/;./configure; make; sudo make install;

und das Programm ist kompiliert und installiert!

Mit „sudo ntfs-config“ kann es ausgeführt werden und entsprechende Einstellungen wie *schreibbar* können festgelegt werden.

Wenn man es geschafft hat, darf man sich natürlich freuen! 🙂