ISO Testbed
From Wiki.cyring.fr
(Difference between revisions)
(→Configuration) |
|||
Line 2: | Line 2: | ||
=== Setup === | === Setup === | ||
* Download & compile the package of [http://www.syslinux.org/wiki/index.php/The_Syslinux_Project Syslinux] | * 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 | ||
Line 13: | Line 18: | ||
---- | ---- | ||
<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 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 | + | DEFAULT dir |
KBDMAP fr.ktl | KBDMAP fr.ktl | ||
- | + | TIMEOUT 0 | |
+ | PROMPT 1 | ||
# | # | ||
- | LABEL | + | 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 62: | 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 68: | 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> |
Revision as of 10:56, 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)
”
VirtualBox
- EOF -