Install DLNA server under Debian / Ubuntu Linux (MiniDLNA)

# configure domU
[ -z $DOMAIN_NAME ] && DOMAIN_NAME=dlna
[ -z $DOMAIN_MAC ] && DOMAIN_MAC=00:d1:1a:00:00:00
[ -z $DOMAIN_RAM ] && DOMAIN_RAM=256Mb
[ -z $DOMAIN_HDD ] && DOMAIN_HDD=2Gb

# create domU
http://www.panticz.de/DomU-Debian-Sid

# add repository (squezze only)
if [ $(lsb_release -cs) == "squeeze" ]; then
echo "deb http://ftp.de.debian.org/debian sid main" > /etc/apt/sources.list.d/sid.list
apt-get update
fi

# install minidlna
apt-get install -y minidlna

# remove repository (squezze only)
if [ $(lsb_release -cs) == "squeeze" ]; then

AX88772A Fast Ethernet USB Adapter

Set fixed ethernet device
cat <> /etc/udev/rules.d/70-persistent-net.rules
SUBSYSTEM=="net", ATTR{address}=="00:11:22:33:44:55",KERNEL=="eth*", NAME="eth1"
EOF

Configure IP
cat <> /etc/network/interfaces
auto eth1
iface eth1 inet dhcp
EOF

lsusb
...
Bus 002 Device 003: ID 0b95:772a ASIX Electronics Corp. AX88772A Fast Ethernet
...

lsmod | grep asix
asix 27650 0
usbnet 31879 1 asix

Perfomance

Create DOS boot disc bigger then 2 MB (BIOS flash update)

use: /usr/share/nero/DosBootImage.ima (Caldera DR-DOS)

wget http://www.finnix.org/files/balder10.img -O /tmp/balder10.img

dd if=/dev/zero of=/tmp/disc.dd bs=1M count=16

qemu -boot a -fda /tmp/balder10.img -hda /tmp/disc.dd #-vnc :0
fdisk
reboot (press ALT + STRG + DEL)
format c: /S

# mount
#fdisk -ul disc.dd
mount /tmp/disc.dd /mnt/ -o loop,offset=32256

#apt-get install dosfstools

# PXE boot (/var/lib/tftpboot/pxelinux.cfg/bios.conf)
default linux
label linux
LINUX memdisk
INITRD bios.img
APPEND raw harddisk

# LINKS
http://www.finnix.org/Balder
http://www.met

Scientific Linux 5.8 CD/PXE kickstart installation

# create directory
mkdir -p /var/lib/tftpboot/scientificlinux/58

# get boot iso (workarroud for broken initrc)
wget ftp://ftp.halifax.rwth-aachen.de/scientificlinux/58/x86_64/images/boot.iso -O /var/lib/tftpboot/scientificlinux/58/boot.iso

# replace isolinux.cfg in boot.iso
default linux
prompt 0
timeout 1
label linux
kernel vmlinuz
append initrd=initrd.img text ksdevice=link ks=http://www.panticz.de/pxe/kickstart/sl58-ks.cfg

# kickstart file: https://raw.githubusercontent.com/panticz/preseed/master/kickstart/scientificlinux58-minimal.cfg
install
url --url ftp://ftp.halifax.rwth-aa

Compile SWFTools

wget http://www.swftools.org/swftools-0.9.2.tar.gz -O /tmp/swftools.tar.gz
tar xzf /tmp/swftools.tar.gz -C /tmp/
cd /tmp/swftools-0.9.2/

sudo apt-get install checkinstall
#sudo apt-get install build-essential linux-headers-$(uname -r)
sudo apt-get install zlib1g-dev
sudo apt-get install libjpeg62-dev
sudo apt-get install libgif-dev
sudo apt-get install libfreetype6-dev

./configure
sudo make
sudo checkinstall
sudo dpkg -i swftools_0.9.2+ds1-2_amd64.deb

# Links
http://ubuntuguide.org/wiki/Ubuntu%3aOneiric#Create_a_.deb_package_from_source_files
http://computerhelperzz.blogs

XEN: Install Hypervisor (Dom0) under Debian

<?php
$URL="https://raw.githubusercontent.com/panticz/installit/master/install.xen.sh";
echo "wget -q --no-check-certificate $URL -O - | bash -";
echo "

";
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $URL);
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
echo htmlspecialchars(curl_exec($c));
curl_close($c);
echo "

";
?>
Enable XL toolstacks
sed -i 's|TOOLSTACK=|TOOLSTACK=xl|g' /etc/default/xen

configure perfomance
http://wiki.xen.org/wiki/Credit_Scheduler
xm sched-credit
xm sched-credit -d www -w 512

# OPTIONAL: sync time
apt-get install -y ntpdate
ntpdate ntp.ubuntu.com
hwclock --systohc
rm /etc/cron.daily/ntpdate

# updae bootstrap
http://www.panticz.de/update_debootstrap

# manually update xen-create-image
wget http://ftp.de.debian.org/debian/pool/main/x/xen-tools/xen-tools_4.3.1-1_all.deb -O /tmp/xen-tools_4.3.1-1_all.deb
dpkg -x /tmp/xen-tools_4.3.1-1_all.deb /tmp/
mv /usr/bin/xen-create-image /usr/bin/xen-create-image.org
cp /tmp/usr/bin/xen-create-image /usr/bin/xen-create-image

# OPTIONAL: enable ip forward in dom0
cp /etc/sysctl.conf /etc/sysctl.conf.org
sed -i 's|#net.ipv4.ip_forward=1|net.ipv4.ip_forward=1|g' /etc/sysctl.conf

# OPTIONAL: PCI delegation
http://www.panticz.de/xen_pci_delegation

# reboot
reboot

# Ubuntu Xen Dom0
apt-get install -y xen-hypervisor-4.2-amd64 xen-tools

# LINKS
http://wiki.debian.org/Xen
http://wiki.xensource.com/xenwiki/XenBestPractices
http://www.panticz.de/configure_network_bridge
http://www.panticz.de/update_debootstrap
http://www.chrisk.de/blog/2008/12/how-to-run-xen-in-ubuntu-intrepid-without-compiling-a-kernel-by-yourself/
http://wiki.debian.org/Xen
https://help.ubuntu.com/community/Xen

Autostart script from USB device with Udev

Stage 1: Create Udev rule
<?php
$URL="http://dl.panticz.de/udev/autorun/70-persistent-usb_autorun.rules";
echo "sudo wget $URL -O /etc/udev/rules.d/70-persistent-usb_autorun.rules";
echo "

";
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $URL);
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
echo htmlspecialchars(curl_exec($c));
curl_close($c);
echo "

";
?>

Stage 2: Create autorun wrapper
<?php
$URL="http://dl.panticz.de/udev/autorun/usb_autorun.sh";
echo "sudo wget $URL -O /usr/sbin/usb_autorun.sh";
echo "\n";
echo "sudo chmod a+x /usr/sbin/usb_autorun.sh";
echo "

";
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $URL);
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
echo htmlspecialchars(curl_exec($c));
curl_close($c);
echo "

";
?>

Stage 3: Create autorun.sh script on your USB device (example)
<?php
$URL="http://dl.panticz.de/udev/autorun/autorun.sh";
echo "cd /media/YOUR_USB_DEVICE";
echo "\n";
echo "wget $URL -O ./autorun.sh";
echo "\n";
echo "chmod a+x ./autorun.sh";
echo "

";
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $URL);
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
echo htmlspecialchars(curl_exec($c));
curl_close($c);
echo "

";
?>

Linux Kernel Benchmark

# install apps
apt-get update -qq
apt-get install -y gcc make libc6-dev bzip2 bc --no-install-recommends

# download kernel
cd /dev/shm
#wget -q ftp://ftp.hosteurope.de/mirror/ftp.kernel.org/pub/linux/kernel/v3.0/linux-3.4.tar.bz2
wget ftp://ftp.hosteurope.de/mirror/ftp.kernel.org/pub/linux/kernel/v3.0/linux-3.9.tar.bz2

# view cpu name
echo CPU: $(cat /proc/cpuinfo | grep "model name" | head -1 | cut -d":" -f2)
echo Cores: $(cat /proc/cpuinfo | grep processor | wc -l)

# extract
time tar -xjf linux-3.*.tar.bz2

# optional
mount -o remount,size=2G /run/shm/
mount -o remount,