ISO Testbed
From Wiki.cyring.fr
(Difference between revisions)
(→Setup) |
|||
(4 intermediate revisions not shown) | |||
Line 1: | Line 1: | ||
- | == | + | == Syslinux == |
=== Setup === | === Setup === | ||
- | * Download & compile the package of [http://www.syslinux.org/wiki/index.php/ | + | * Download & compile the package of [http://www.syslinux.org/wiki/index.php/The_Syslinux_Project Syslinux] |
+ | ==== from ArchLinux ==== | ||
---- | ---- | ||
<syntaxhighlight lang="bash" line start="1"> | <syntaxhighlight lang="bash" line start="1"> | ||
+ | # refresh the Arch Build System | ||
sudo abs | sudo abs | ||
- | mkdir | + | # create a packages repository |
- | cp -r /var/abs/core/syslinux | + | mkdir PKGBUILD |
- | cd | + | # copy the SysLinux bash script |
+ | cp -r /var/abs/core/syslinux PKGBUILD/ | ||
+ | cd PKGBUILD/syslinux/ | ||
+ | # build SysLinux | ||
makepkg | makepkg | ||
cd | cd | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | ---- | ||
<br /> | <br /> | ||
+ | ==== from GIT ==== | ||
+ | ---- | ||
+ | <syntaxhighlight lang="bash" line start="1"> | ||
+ | # create a GIT repository | ||
+ | mkdir GIT | ||
+ | cd GIT | ||
+ | # clone the all SysLinux tree | ||
+ | git clone git://git.kernel.org/pub/scm/boot/syslinux/syslinux.git | ||
+ | cd syslinux | ||
+ | # build SysLinux | ||
+ | make | ||
+ | cd | ||
+ | </syntaxhighlight> | ||
+ | ---- | ||
+ | <br /> | ||
+ | ==== ISO Testbed structure ==== | ||
* Prepare the directories tree | * Prepare the directories tree | ||
---- | ---- | ||
<syntaxhighlight lang="bash" line start="1"> | <syntaxhighlight lang="bash" line start="1"> | ||
- | mkdir CD_root | + | mkdir -p CD_root/isolinux |
- | + | mkdir CD_root/images CD_root/kernel | |
- | + | </syntaxhighlight> | |
- | cp | + | ===== if ArchLinux ===== |
- | + | <syntaxhighlight lang="bash" line start="3"> | |
- | cp | + | cp PKGBUILD/syslinux/src/syslinux-4.05/core/isolinux.bin CD_root/isolinux/ |
- | cp | + | cp PKGBUILD/syslinux/src/syslinux-4.05/memdisk/memdisk CD_root/kernel/ |
- | cp / | + | cp PKGBUILD/syslinux/src/syslinux-4.05/com32/modules/*.c32 CD_root/isolinux/ |
+ | </syntaxhighlight> | ||
+ | ===== if GIT ===== | ||
+ | <syntaxhighlight lang="bash" line start="3"> | ||
+ | cp GIT/syslinux/core/isolinux.bin CD_root/isolinux/ | ||
+ | cp GIT/syslinux/memdisk/memdisk CD_root/kernel/ | ||
+ | cp GIT/syslinux/com32/modules/*.c32 CD_root/isolinux/ | ||
</syntaxhighlight> | </syntaxhighlight> | ||
---- | ---- | ||
Line 31: | Line 59: | ||
---- | ---- | ||
<syntaxhighlight lang="bash" line start="1"> | <syntaxhighlight lang="bash" line start="1"> | ||
- | nano isolinux/isolinux.cfg | + | nano CD_root/isolinux/isolinux.cfg |
</syntaxhighlight> | </syntaxhighlight> | ||
<pre> | <pre> | ||
- | + | DEFAULT dir | |
- | DEFAULT | + | |
- | + | ||
- | + | ||
- | + | ||
KBDMAP fr.ktl | KBDMAP fr.ktl | ||
+ | TIMEOUT 0 | ||
+ | PROMPT 1 | ||
+ | # | ||
+ | LABEL dir | ||
+ | COM32 ls.c32 | ||
+ | |||
+ | LABEL off | ||
+ | COMBOOT poweroff.com | ||
+ | |||
+ | LABEL core | ||
+ | COM32 coredts.c32 | ||
+ | |||
+ | LABEL fr | ||
+ | COM32 kbdmap.c32 | ||
+ | APPEND fr.ktl | ||
+ | |||
+ | LABEL us | ||
+ | COM32 kbdmap.c32 | ||
+ | APPEND us.ktl | ||
</pre> | </pre> | ||
+ | |||
=== Keyboard === | === Keyboard === | ||
- | * If required, make a | + | * If required, make a French keyboard translation map |
---- | ---- | ||
<syntaxhighlight lang="bash" line start="1"> | <syntaxhighlight lang="bash" line start="1"> | ||
- | keytab-lilo /usr/share/kbd/keymaps/i386/qwerty/us.map.gz /usr/share/kbd/keymaps/i386/azerty/fr-latin1.map.gz > isolinux/fr.ktl | + | # translate a French keyboard |
+ | keytab-lilo /usr/share/kbd/keymaps/i386/qwerty/us.map.gz /usr/share/kbd/keymaps/i386/azerty/fr-latin1.map.gz > CD_root/isolinux/fr.ktl | ||
+ | # translate an English keyboard | ||
+ | keytab-lilo /usr/share/kbd/keymaps/i386/qwerty/us.map.gz /usr/share/kbd/keymaps/i386/qwerty/us.map.gz > CD_root/isolinux/us.ktl | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<br /> | <br /> | ||
- | === | + | === Automation === |
* Code a script to build the ISO image | * Code a script to build the ISO image | ||
---- | ---- | ||
<syntaxhighlight lang="bash" line start="1"> | <syntaxhighlight lang="bash" line start="1"> | ||
- | |||
nano buildiso.sh | nano buildiso.sh | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 61: | Line 107: | ||
CD_root | CD_root | ||
</pre> | </pre> | ||
- | <syntaxhighlight lang="bash" line start=" | + | <syntaxhighlight lang="bash" line start="2"> |
chmod +x buildiso.sh | chmod +x buildiso.sh | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 67: | Line 113: | ||
* Run the script to build the ISO image | * Run the script to build the ISO image | ||
---- | ---- | ||
- | <syntaxhighlight lang="bash" line start=" | + | <syntaxhighlight lang="bash" line start="3"> |
./buildiso.sh | ./buildiso.sh | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 81: | Line 127: | ||
:''376 extents written (0 MB)'' | :''376 extents written (0 MB)'' | ||
</small><big><big>'''”'''</big></big> | </small><big><big>'''”'''</big></big> | ||
- | + | == Virtualization == | |
- | == VirtualBox == | + | === VirtualBox === |
- | - | + | * Create a new virtual machine |
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | General || | ||
+ | |- | ||
+ | | Name: || ISO | ||
+ | |- | ||
+ | | OS Type: || DOS | ||
+ | |- | ||
+ | | System || | ||
+ | |- | ||
+ | | Base Memory: || 64 MB | ||
+ | |- | ||
+ | | Processor(s): || 2 | ||
+ | |- | ||
+ | | Execution Cap: || 100% | ||
+ | |- | ||
+ | | Boot Order: || CD/DVD-ROM | ||
+ | |- | ||
+ | | VT-x/AMD-V: || Enabled | ||
+ | |- | ||
+ | | Nested Paging: || Enabled | ||
+ | |- | ||
+ | | Display || | ||
+ | |- | ||
+ | | Video Memory: || 16 MB | ||
+ | |- | ||
+ | | 3D Acceleration: || Disabled | ||
+ | |- | ||
+ | | 2D Video Acceleration: || Disabled | ||
+ | |- | ||
+ | | Remote Desktop Server: || Disabled | ||
+ | |- | ||
+ | | Storage || | ||
+ | |- | ||
+ | | IDE Controller || - | ||
+ | |- | ||
+ | | IDE Primary Master (CD/DVD): || isotestbed.iso | ||
+ | |- | ||
+ | | SATA Controller || - | ||
+ | |- | ||
+ | | Audio || Disabled | ||
+ | |- | ||
+ | | Network || Disabled | ||
+ | |- | ||
+ | | Serial Ports || Disabled | ||
+ | |- | ||
+ | | USB || | ||
+ | |- | ||
+ | | Device Filters: || 0 (0 active) | ||
+ | |- | ||
+ | | Shared Folders || None | ||
+ | |} |
Latest revision as of 11:19, 23 September 2012
Contents |
Syslinux
Setup
- Download & compile the package of Syslinux
from ArchLinux
# refresh the Arch Build System
sudo abs
# create a packages repository
mkdir PKGBUILD
# copy the SysLinux bash script
cp -r /var/abs/core/syslinux PKGBUILD/
cd PKGBUILD/syslinux/
# build SysLinux
makepkg
cd
from GIT
# create a GIT repository
mkdir GIT
cd GIT
# clone the all SysLinux tree
git clone git://git.kernel.org/pub/scm/boot/syslinux/syslinux.git
cd syslinux
# build SysLinux
make
cd
ISO Testbed structure
- Prepare the directories tree
mkdir -p CD_root/isolinux
mkdir CD_root/images CD_root/kernel
if ArchLinux
cp PKGBUILD/syslinux/src/syslinux-4.05/core/isolinux.bin CD_root/isolinux/
cp PKGBUILD/syslinux/src/syslinux-4.05/memdisk/memdisk CD_root/kernel/
cp PKGBUILD/syslinux/src/syslinux-4.05/com32/modules/*.c32 CD_root/isolinux/
if GIT
cp GIT/syslinux/core/isolinux.bin CD_root/isolinux/
cp GIT/syslinux/memdisk/memdisk CD_root/kernel/
cp GIT/syslinux/com32/modules/*.c32 CD_root/isolinux/
Configuration
- Write the configuration file
nano CD_root/isolinux/isolinux.cfg
DEFAULT dir KBDMAP fr.ktl TIMEOUT 0 PROMPT 1 # LABEL dir COM32 ls.c32 LABEL off COMBOOT poweroff.com LABEL core COM32 coredts.c32 LABEL fr COM32 kbdmap.c32 APPEND fr.ktl LABEL us COM32 kbdmap.c32 APPEND us.ktl
Keyboard
- If required, make a French keyboard translation map
# translate a French keyboard
keytab-lilo /usr/share/kbd/keymaps/i386/qwerty/us.map.gz /usr/share/kbd/keymaps/i386/azerty/fr-latin1.map.gz > CD_root/isolinux/fr.ktl
# translate an English keyboard
keytab-lilo /usr/share/kbd/keymaps/i386/qwerty/us.map.gz /usr/share/kbd/keymaps/i386/qwerty/us.map.gz > CD_root/isolinux/us.ktl
Automation
- Code a script to build the ISO image
nano buildiso.sh
mkisofs -o isotestbed.iso \ -b isolinux/isolinux.bin -c isolinux/boot.cat \ -no-emul-boot -boot-load-size 4 -boot-info-table \ CD_root
chmod +x buildiso.sh
- Run the script to build the ISO image
./buildiso.sh
“
- I: -input-charset not specified, using utf-8 (detected in locale settings)
- Size of boot image is 4 sectors -> No emulation
- Total translation table size: 2048
- Total rockridge attributes bytes: 0
- Total directory bytes: 6334
- Path table size(bytes): 54
- Max brk space used 1f000
- 376 extents written (0 MB)
”
Virtualization
VirtualBox
- Create a new virtual machine
General | |
Name: | ISO |
OS Type: | DOS |
System | |
Base Memory: | 64 MB |
Processor(s): | 2 |
Execution Cap: | 100% |
Boot Order: | CD/DVD-ROM |
VT-x/AMD-V: | Enabled |
Nested Paging: | Enabled |
Display | |
Video Memory: | 16 MB |
3D Acceleration: | Disabled |
2D Video Acceleration: | Disabled |
Remote Desktop Server: | Disabled |
Storage | |
IDE Controller | - |
IDE Primary Master (CD/DVD): | isotestbed.iso |
SATA Controller | - |
Audio | Disabled |
Network | Disabled |
Serial Ports | Disabled |
USB | |
Device Filters: | 0 (0 active) |
Shared Folders | None |