Sync database with SJA (SQLyog Job Agent)

~# /opt/lampp/bin/mysql -u root -p -e "create database flog"
~# /opt/lampp/bin/mysqldump -d -u root -p blog > blog.sql
[-d means without data, that means only schema export]
~# /opt/lampp/bin/mysql -u root -p flog < /root/blog.sql
~# mkdir sja
~# cd sja
[download sja from https://code.google.com/p/sqlyog/wiki/Downloads]
~/sja# tar -xvzf sja1209.x86_64.tar.gz
~/sja# ./sja blog_to_flog_sync.xml
[if sja says, couldn't connect through /tmp/mysql.sock, ln -s /opt/lampp/var/mysql/mysql.sock /tmp/mysql.sock]
============

~/sja# cat blog_to_flog_sync.xml
<?xml version="1.0" encoding="UTF-8"?>
<job version="11.1">
<syncjob>
<fkcheck check="yes" />
<twowaysync twoway="no" />
<source>
<host>localhost</host>
<user>root</user>
<pwd></pwd>
<port>3306</port>
<compressed>1</compressed>
<cleartext>0</cleartext>
<sessiontimeout>28800</sessiontimeout>
<ssl>0</ssl>
<sslauth>0</sslauth>
<clientkey></clientkey>
<clientcert></clientcert>
<cacert></cacert>
<cipher></cipher>
<charset></charset>
<database>blog</database>
</source>
<target>
<host>localhost</host>
<user>root</user>
<pwd></pwd>
<port>3306</port>
<compressed>1</compressed>
<cleartext>0</cleartext>
<ssl>0</ssl>
<sslauth>0</sslauth>
<clientkey></clientkey>
<clientcert></clientcert>
<cacert></cacert>
<cipher></cipher>
<charset></charset>
<database>flog</database>
</target>
<tables all="yes" />
<sync_action type="directsync" />
<abortonerror abort="no" />
<sendreport send="no" /></syncjob>
</job>
~/sja#

How to run your own OS kernel

# prepare a disk image to boot
harddisk_image_size=$((4*1024*1024)) # 4 megabytes
harddisk_image="harddisk.img"
kernel_args=""
kernel_binary="bin/kernel.bin"
if [ ! -f $harddisk_image ]
then
# create image
dd if=/dev/zero of="$harddisk_image" bs=4k count=$((harddisk_image_size/4096)) 2>/dev/null
# format image
mkfs.vfat "$harddisk_image"
# install syslinux
syslinux "$harddisk_image"
# copy mboot.c32 (required for Multiboot)
mcopy -i "$harddisk_image" /usr/lib/syslinux/mboot.c32 ::mboot.c32
# create syslinux.cfg
echo '
TIMEOUT 1
DEFAULT mboot.c32 kernel.bin '$kernel_args'
' | mcopy -i "$harddisk_image" - ::syslinux.cfg
fi
# now copy your own OS kernel to it
mkdir -p /tmp/harddisk
mount -o loop "$harddisk_image" /tmp/harddisk
cp "$kernel_binary" /tmp/harddisk
umount /tmp/harddisk






# prepare another disk to store some data
if [ ! -f "harddisk2.img" ]
then
dd if=/dev/zero of=harddisk2.img bs=4096 count=2560 # 10 megabytes
mkfs.ext2 -F -N 4096 -b 4096 harddisk2.img 2560
fi
# copy data to it
mkdir -p /tmp/harddisk
mount -o loop harddisk2.img /tmp/harddisk
cp -r ../hdd/* /tmp/harddisk
umount /tmp/harddisk





# prepare yet another disk to use with virtio
cp harddisk2.img harddisk3.img





# now run quemu

# booting from bootable disk
#qemu-system-i386 -m 64 -vga vmware -serial stdio -hda ./harddisk.img

# booting kernel directly from binary
#qemu-system-i386 -m 64 -vga vmware -serial stdio -kernel "$kernel_binary"

# booting from virtio disk (bootable) - works!
#qemu-system-i386 -m 64 -vga vmware -serial stdio -drive file=harddisk.img,if=virtio

# all together: booting kernel.bin, hda with ext2 fs, another non-bootable ext2 disk connected through virtio interface
#qemu-system-i386 -m 64 -vga vmware -serial stdio -kernel "$kernel_binary" -hda ./harddisk2.img -drive file=harddisk3.img,if=virtio