Το Υπουργείο Υποδομών, Μεταφορών και Δικτύων έχει διαθέσιμο για τους υποψήφιους οδηγούς το Πρόγραμμα TestDriveV2 στον Iστότοπο του.
Τα προβλήματα για την χρήση αυτού του προγράμματος είναι πολλά.
Είναι φτιαγμένο για windows XP, και υποστηρίζει μονό συγκεκριμένη ανάλυση οθόνης και ευκρίνειας γραμματοσειράς.
Έτσι έφτιαξα ένα live cd που το τρέχει αυτόματα, ανεξάρτητα από το λειτουργικό σε οποιοδήποτε PC χρησιμοποιώντας wine.
Οι οδηγίες φαίνονται πολύπλοκες αλλά είναι γενικές, για την δημιουργία ubuntu – debian remix.
Το cd δεν εγκαθιστά τίποτα, απλά το βάζεις και κάνεις boot με αυτό (δες τις οδηγίες του PC σου για το πως μπορείς να κάνεις εκκίνηση από το cdrom) μπορείς αν θες να φτιάξεις με αυτό και ένα boot usb χρησιμοποιώντας ένα από τα πολλά εργαλεία για αυτόν τον σκοπό.
Δουλεύουμε σε Ubuntu
Πρώτα εγκαθιστούμε τα απαραίτητα tools
sudo apt-get install squashfs-tools genisoimage
sudo apt-get install schroot
sudo apt-get install qemu-kvm
Δημιουργούμαι τις ρυθμίσεις για το περιβάλλον chroot
vim /etc/schroot/chroot.d/TestDriveV2.conf
[TestDriveV2]
description=TestDrive Test
aliases=testdrive
root-groups=root
type=directory
directory=/WineTestDriveV2/edit
users=etsoft
root-users=etsoft
personality=linux32
preserve-environment=true
φτιάχνουμε τον φάκελο εργασίας
sudo mkdir /WineTestDriveV2
sudo chown -R $USER:$USER /WineTestDriveV2
cd /WineTestDriveV2
κατεβάζουμε ένα mini remix για να “χτίσουμε” πάνω σε αυτό
wget http://ubuntu-mini-remix.mirror.garr.it/mirrors/ubuntu-mini-remix/15.10/ubuntu-mini-remix-15.10-i386.iso
δημιουργούμε ένα mount point
mkdir mnt
sudo mount -o loop ubuntu-mini-remix-15.10-i386.iso mnt
και μετά εξάγουμε τα περιεχόμενα σε ένα φάκελο
mkdir extract-cd
sudo rsync --exclude=/casper/filesystem.squashfs -a mnt/ extract-cd
αποσυμπιέζουμε το filesystem
sudo unsquashfs mnt/casper/filesystem.squashfs
sudo mv squashfs-root edit
τρέχουμε σε ένα άλλο τερματικό
xhost +
για να δουλέψουν τα Χ δανειζόμαστε το τρέχον Xauthority
sudo cp ~/.Xauthority edit/root/.Xauthority
φτιάχνουμε έναν φάκελο
sudo mkdir edit/WineTestDriveV2
κάνουμε mount τα devices
sudo mount --bind /dev/ edit/dev
και αλλάζουμε σε περιβάλλων chroot
sudo schroot -c testdrive
δημιουργούμε password για τον root
passwd
βάζουμε DNS
echo "nameserver 8.8.8.8" >/etc/resolv.conf
κάνουμε mount τις υπηρεσίες
mount -t proc none /proc
mount -t sysfs none /sys
mount -t devpts none /dev/pts
εγκαθιστούμε Ελληνικά
apt-get install language-pack-el
locale-gen el_GR.UTF-8
update-locale LANG=el_GR.UTF-8
DISPLAY=:0.0 dpkg-reconfigure locales
export HOME=/root
export LC_ALL=el_GR.UTF-8
export LANG=el_GR.UTF-8
export LANGUAGE=el_GR
echo "HOME=/root">>/etc/environment
echo "LC_ALL=el_GR.UTF-8">>/etc/environment
echo "LANG=el_GR.UTF-8">>/etc/environment
echo "LANGUAGE=el_GR">>/etc/environment
λεμέ στο casper να φορτώνει σαν root
apt-get install vim
vim /etc/casper.conf
# This file should go in /etc/casper.conf
# Supported variables are:
# USERNAME, USERFULLNAME, HOST, BUILD_SYSTEM, FLAVOUR
export USERNAME=”root”
export USERFULLNAME=”Live session user”
export HOST=”root”
export BUILD_SYSTEM=”Root”
# USERNAME and HOSTNAME as specified above won’t be honoured and will be set to
# flavour string acquired at boot time, unless you set FLAVOUR to any
# non-empty string.
export FLAVOUR=”Root”
εγκαθιστούμε κάποια απαραίτητα προγράμματα καθώς και το wine
apt-get install software-properties-common
add-apt-repository universe
apt-get update
apt-get install wine
add-apt-repository multiverse
apt-get update
apt-get install ttf-mscorefonts-installer
apt-get install xinit
apt-get install desktop-file-utils
apt-get install firefox #ναι.. θα χρειαστεί από τα winetricks
Φτιάχνουμε τις ρυθμίσεις για virtual desktop με ανάλυση 1024×768 και 120dpi fonts
DISPLAY=:0.0 winecfg
εγκαθιστούμε την συνδεσιμότητα για την βάση
DISPLAY=:0.0 winetricks jet40
και τέλος κατεβάζουμε εγκαθιστούμε και ενημερώνουμε το TestDriveV2
cd /WineTestDriveV2
wget http://www.yme.gr/uploads/mstheyo/TestDriveV2.zip
unzip TestDriveV2.zip
cd TestDriveV2
DISPLAY=:0.0 wine setup.exe
cd /root/.wine/drive_c/TestDriveV2/
wget http://www.yme.gr/uploads/mstheyo/ExerBase.zip
rm ExerBase.mdb
unzip ExerBase.zip
rm ExerBase.zip
DISPLAY=:0.0 wine TestDriveV2.exe
cd ..
μεταφέρουμε για ευκολία τον φάκελο στο root
sudo mv ./TestDriveV2 /TestDriveV2
φτιάχνουμε ένα script για την εκκίνηση
vim /TestDriveV2/start.sh
#!/bin/bash
cd /TestDriveV2
/usr/bin/wine TestDriveV2.exe
και ρυθμίζουμε την αυτόματη εκκίνηση στο boot
vim /etc/rc.local
startx /usr/bin/xterm -e "/bin/bash -c /TestDriveV2/start.sh"
exit 0
vim /etc/X11/Xwrapper.config
allowed_users=anybody
μετά βγαίνουμε από το περιβάλλον chroot
umount /proc || umount -lf /proc
umount /sys
umount /dev/pts
exit
sudo umount edit/dev
πειράζουμε το isolinux για να εκκινεί αυτόματα
sudo vim extract-cd/isolinux/isolinux.cfg
# D-I config version 2.0
include menu.cfg
default vesamenu.c32
prompt 0
timeout 1
totaltimeout 1
noescape 1
ui gfxboot bootlogo
βρίσκουμε τα πακέτα που εγκαταστάθηκαν
sudo su #!όχι απλά sudo command
chmod +w extract-cd/casper/filesystem.manifest
chroot edit dpkg-query -W --showformat='${Package} ${Version}\n' > extract-cd/casper/filesystem.manifest
exit
sudo cp extract-cd/casper/filesystem.manifest extract-cd/casper/filesystem.manifest-desktop
sudo sed -i '/ubiquity/d' extract-cd/casper/filesystem.manifest-desktop
sudo sed -i '/casper/d' extract-cd/casper/filesystem.manifest-desktop
αφαιρούμε το παλιό filesystem και δημιουργούμαι νέο
sudo rm extract-cd/casper/filesystem.squashfs
sudo mksquashfs edit extract-cd/casper/filesystem.squashfs
υπολογίζουμε το μέγεθος
sudo su
printf $(du -sx --block-size=1 edit | cut -f1) > extract-cd/casper/filesystem.size
exit
ονομάζουμε το cd μας
sudo vim extract-cd/README.diskdefines
#define DISKNAME TestDriveV2 **ubuntu 15.10-Remix**
#define TYPE binary
#define TYPEbinary 1
#define ARCH x86
#define ARCHx86 1
#define ARCHi386 0
#define DISKNUM 1
#define DISKNUM1 1
#define TOTALNUM 0
#define TOTALNUM0 1
Υπολογίζουμε τα checksum
cd extract-cd
sudo rm md5sum.txt
find -type f -print0 | sudo xargs -0 md5sum | grep -v isolinux/boot.cat | sudo tee md5sum.txt
δημιουργούμαι το cd
sudo mkisofs -D -r -V "$IMAGE_NAME" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../TestDriveV2.iso .
cd ..
και τέλος το δοκιμάζουμε
qemu-system-i386 -enable-kvm -boot d -cdrom TestDriveV2.iso -m 512 #set mem or else “vfs unable to mount root fs”
To TestDriveV2 θα πρέπει να εμφανιστεί αυτόματα 🙂