Add Use Cases and design UML diagram for El-Torito.
This commit is contained in:
parent
eee9579e1f
commit
98c7c50da1
@ -137,7 +137,20 @@ Phases:
|
||||
3.2.3 Bootable information
|
||||
--------------------------
|
||||
|
||||
[TODO]
|
||||
- Addition of a boot image to a volume.
|
||||
- In most cases, the catalog and the boot image itself is added to the
|
||||
iso tree.
|
||||
- Alternatively, user can select to add a hidden images, i.e., images
|
||||
that don't appear in the iso tree.
|
||||
- Modification of boot image attributes:
|
||||
- bootable flag
|
||||
- load segment
|
||||
- load size
|
||||
- Automatic patching of isolinux images. User needs to set whether to apply
|
||||
this.
|
||||
- Reading of El-Torito info from multisession images. Modification of its
|
||||
attributes.
|
||||
- Removing of El-Torito images
|
||||
|
||||
|
||||
3.2.4 Other operations
|
||||
|
399
doc/devel/UML/eltorito.violet
Normal file
399
doc/devel/UML/eltorito.violet
Normal file
@ -0,0 +1,399 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<java version="1.6.0" class="java.beans.XMLDecoder">
|
||||
<object class="com.horstmann.violet.ClassDiagramGraph">
|
||||
<void method="addNode">
|
||||
<object id="ClassNode0" class="com.horstmann.violet.ClassNode">
|
||||
<void property="name">
|
||||
<void property="text">
|
||||
<string>Volume</string>
|
||||
</void>
|
||||
</void>
|
||||
</object>
|
||||
<object class="java.awt.geom.Point2D$Double">
|
||||
<void method="setLocation">
|
||||
<double>731.0</double>
|
||||
<double>193.0</double>
|
||||
</void>
|
||||
</object>
|
||||
</void>
|
||||
<void method="addNode">
|
||||
<object id="ClassNode1" class="com.horstmann.violet.ClassNode">
|
||||
<void property="name">
|
||||
<void property="text">
|
||||
<string>ElToritoCatalog</string>
|
||||
</void>
|
||||
</void>
|
||||
</object>
|
||||
<object class="java.awt.geom.Point2D$Double">
|
||||
<void method="setLocation">
|
||||
<double>474.0</double>
|
||||
<double>192.0</double>
|
||||
</void>
|
||||
</object>
|
||||
</void>
|
||||
<void method="addNode">
|
||||
<object id="ClassNode2" class="com.horstmann.violet.ClassNode">
|
||||
<void property="attributes">
|
||||
<void property="text">
|
||||
<string>bootable : bool
|
||||
type : enum
|
||||
partition_type : enum
|
||||
load_seg : uint16
|
||||
load_size : uint16
|
||||
patch_isolinux : bool</string>
|
||||
</void>
|
||||
</void>
|
||||
<void property="name">
|
||||
<void property="text">
|
||||
<string>BootImage</string>
|
||||
</void>
|
||||
</void>
|
||||
</object>
|
||||
<object class="java.awt.geom.Point2D$Double">
|
||||
<void method="setLocation">
|
||||
<double>469.0</double>
|
||||
<double>329.0</double>
|
||||
</void>
|
||||
</object>
|
||||
</void>
|
||||
<void method="addNode">
|
||||
<object id="NoteNode0" class="com.horstmann.violet.NoteNode">
|
||||
<void property="text">
|
||||
<void property="text">
|
||||
<string>In a future we can support several boot
|
||||
images</string>
|
||||
</void>
|
||||
</void>
|
||||
</object>
|
||||
<object class="java.awt.geom.Point2D$Double">
|
||||
<void method="setLocation">
|
||||
<double>666.0</double>
|
||||
<double>301.0</double>
|
||||
</void>
|
||||
</object>
|
||||
</void>
|
||||
<void method="addNode">
|
||||
<object id="ClassNode3" class="com.horstmann.violet.ClassNode">
|
||||
<void property="attributes">
|
||||
<void property="text">
|
||||
<string>img : boolean</string>
|
||||
</void>
|
||||
</void>
|
||||
<void property="name">
|
||||
<void property="text">
|
||||
<string>BootNode</string>
|
||||
</void>
|
||||
</void>
|
||||
</object>
|
||||
<object class="java.awt.geom.Point2D$Double">
|
||||
<void method="setLocation">
|
||||
<double>186.0</double>
|
||||
<double>186.0</double>
|
||||
</void>
|
||||
</object>
|
||||
</void>
|
||||
<void method="addNode">
|
||||
<object class="com.horstmann.violet.PackageNode">
|
||||
<void method="addChild">
|
||||
<object id="ClassNode4" class="com.horstmann.violet.ClassNode">
|
||||
<void property="name">
|
||||
<void property="text">
|
||||
<string>TreeNode</string>
|
||||
</void>
|
||||
</void>
|
||||
</object>
|
||||
</void>
|
||||
<void property="name">
|
||||
<string>iso_tree</string>
|
||||
</void>
|
||||
</object>
|
||||
<object class="java.awt.geom.Point2D$Double">
|
||||
<void method="setLocation">
|
||||
<double>180.0</double>
|
||||
<double>40.0</double>
|
||||
</void>
|
||||
</object>
|
||||
</void>
|
||||
<void method="addNode">
|
||||
<object idref="ClassNode4"/>
|
||||
<object class="java.awt.geom.Point2D$Double">
|
||||
<void method="setLocation">
|
||||
<double>193.0</double>
|
||||
<double>69.0</double>
|
||||
</void>
|
||||
</object>
|
||||
</void>
|
||||
<void method="addNode">
|
||||
<object id="NoteNode1" class="com.horstmann.violet.NoteNode">
|
||||
<void property="text">
|
||||
<void property="text">
|
||||
<string>The img field is an implementation detail, used
|
||||
to distinguish between the catalog node and the image
|
||||
node. This is needed when the image is written.</string>
|
||||
</void>
|
||||
</void>
|
||||
</object>
|
||||
<object class="java.awt.geom.Point2D$Double">
|
||||
<void method="setLocation">
|
||||
<double>347.0</double>
|
||||
<double>82.0</double>
|
||||
</void>
|
||||
</object>
|
||||
</void>
|
||||
<void method="addNode">
|
||||
<object id="ClassNode5" class="com.horstmann.violet.ClassNode">
|
||||
<void property="attributes">
|
||||
<void property="text">
|
||||
<string>block : uint32_t</string>
|
||||
</void>
|
||||
</void>
|
||||
<void property="name">
|
||||
<void property="text">
|
||||
<string>PreviousSessionImage</string>
|
||||
</void>
|
||||
</void>
|
||||
</object>
|
||||
<object class="java.awt.geom.Point2D$Double">
|
||||
<void method="setLocation">
|
||||
<double>539.0</double>
|
||||
<double>509.0</double>
|
||||
</void>
|
||||
</object>
|
||||
</void>
|
||||
<void method="addNode">
|
||||
<object id="InterfaceNode0" class="com.horstmann.violet.InterfaceNode">
|
||||
<void property="name">
|
||||
<void property="text">
|
||||
<string>«interface»
|
||||
DataSource</string>
|
||||
</void>
|
||||
</void>
|
||||
</object>
|
||||
<object class="java.awt.geom.Point2D$Double">
|
||||
<void method="setLocation">
|
||||
<double>746.5857864376269</double>
|
||||
<double>511.3380951166248</double>
|
||||
</void>
|
||||
</object>
|
||||
</void>
|
||||
<void method="addNode">
|
||||
<object id="ClassNode6" class="com.horstmann.violet.ClassNode">
|
||||
<void property="attributes">
|
||||
<void property="text">
|
||||
<string>block : uint32_t</string>
|
||||
</void>
|
||||
</void>
|
||||
<void property="name">
|
||||
<void property="text">
|
||||
<string>PreviousSessionCatalog</string>
|
||||
</void>
|
||||
</void>
|
||||
</object>
|
||||
<object class="java.awt.geom.Point2D$Double">
|
||||
<void method="setLocation">
|
||||
<double>287.0</double>
|
||||
<double>292.0</double>
|
||||
</void>
|
||||
</object>
|
||||
</void>
|
||||
<void method="addNode">
|
||||
<object id="NoteNode2" class="com.horstmann.violet.NoteNode">
|
||||
<void property="text">
|
||||
<void property="text">
|
||||
<string>The support for growing or modify El-Torito images
|
||||
is really hard to implement. The reason: when the
|
||||
image is hidden, we don't know its size, so the best we
|
||||
can do is just refer to the old image. When modify, all
|
||||
we can do may be wrong.</string>
|
||||
</void>
|
||||
</void>
|
||||
</object>
|
||||
<object class="java.awt.geom.Point2D$Double">
|
||||
<void method="setLocation">
|
||||
<double>644.3271028254218</double>
|
||||
<double>382.5643050695048</double>
|
||||
</void>
|
||||
</object>
|
||||
</void>
|
||||
<void method="addNode">
|
||||
<object id="ClassNode7" class="com.horstmann.violet.ClassNode">
|
||||
<void property="attributes">
|
||||
<void property="text">
|
||||
<string>path : char *</string>
|
||||
</void>
|
||||
</void>
|
||||
<void property="name">
|
||||
<void property="text">
|
||||
<string>LocalImage</string>
|
||||
</void>
|
||||
</void>
|
||||
</object>
|
||||
<object class="java.awt.geom.Point2D$Double">
|
||||
<void method="setLocation">
|
||||
<double>424.0</double>
|
||||
<double>511.0</double>
|
||||
</void>
|
||||
</object>
|
||||
</void>
|
||||
<void method="addNode">
|
||||
<object id="NoteNode3" class="com.horstmann.violet.NoteNode">
|
||||
<void property="text">
|
||||
<void property="text">
|
||||
<string>Once we have support for all El-Torito features, namelly
|
||||
multiple boot images, this type is not needed, the info
|
||||
can be read and cached in a new catalog.</string>
|
||||
</void>
|
||||
</void>
|
||||
</object>
|
||||
<object class="java.awt.geom.Point2D$Double">
|
||||
<void method="setLocation">
|
||||
<double>52.325113060119634</double>
|
||||
<double>434.0605969759931</double>
|
||||
</void>
|
||||
</object>
|
||||
</void>
|
||||
<void method="connect">
|
||||
<object class="com.horstmann.violet.ClassRelationshipEdge">
|
||||
<void property="bentStyle">
|
||||
<object class="com.horstmann.violet.BentStyle" field="HVH"/>
|
||||
</void>
|
||||
<void property="endArrowHead">
|
||||
<object class="com.horstmann.violet.ArrowHead" field="V"/>
|
||||
</void>
|
||||
<void property="endLabel">
|
||||
<string>1 image</string>
|
||||
</void>
|
||||
<void property="startArrowHead">
|
||||
<object class="com.horstmann.violet.ArrowHead" field="BLACK_DIAMOND"/>
|
||||
</void>
|
||||
</object>
|
||||
<object idref="ClassNode1"/>
|
||||
<object idref="ClassNode2"/>
|
||||
</void>
|
||||
<void method="connect">
|
||||
<object class="com.horstmann.violet.NoteEdge"/>
|
||||
<object idref="ClassNode1"/>
|
||||
<object idref="NoteNode0"/>
|
||||
</void>
|
||||
<void method="connect">
|
||||
<object class="com.horstmann.violet.ClassRelationshipEdge">
|
||||
<void property="bentStyle">
|
||||
<object class="com.horstmann.violet.BentStyle" field="VHV"/>
|
||||
</void>
|
||||
<void property="endArrowHead">
|
||||
<object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/>
|
||||
</void>
|
||||
</object>
|
||||
<object idref="ClassNode3"/>
|
||||
<object idref="ClassNode4"/>
|
||||
</void>
|
||||
<void method="connect">
|
||||
<object class="com.horstmann.violet.ClassRelationshipEdge">
|
||||
<void property="bentStyle">
|
||||
<object class="com.horstmann.violet.BentStyle" field="HVH"/>
|
||||
</void>
|
||||
<void property="endArrowHead">
|
||||
<object class="com.horstmann.violet.ArrowHead" field="V"/>
|
||||
</void>
|
||||
<void property="endLabel">
|
||||
<string>0..1 boot_cat</string>
|
||||
</void>
|
||||
</object>
|
||||
<object idref="ClassNode0"/>
|
||||
<object idref="ClassNode1"/>
|
||||
</void>
|
||||
<void method="connect">
|
||||
<object class="com.horstmann.violet.ClassRelationshipEdge">
|
||||
<void property="bentStyle">
|
||||
<object class="com.horstmann.violet.BentStyle" field="HVH"/>
|
||||
</void>
|
||||
<void property="endArrowHead">
|
||||
<object class="com.horstmann.violet.ArrowHead" field="V"/>
|
||||
</void>
|
||||
<void property="endLabel">
|
||||
<string>0..1 node</string>
|
||||
</void>
|
||||
</object>
|
||||
<object idref="ClassNode1"/>
|
||||
<object idref="ClassNode3"/>
|
||||
</void>
|
||||
<void method="connect">
|
||||
<object class="com.horstmann.violet.NoteEdge"/>
|
||||
<object idref="ClassNode3"/>
|
||||
<object idref="NoteNode1"/>
|
||||
</void>
|
||||
<void method="connect">
|
||||
<object class="com.horstmann.violet.ClassRelationshipEdge">
|
||||
<void property="bentStyle">
|
||||
<object class="com.horstmann.violet.BentStyle" field="HV"/>
|
||||
</void>
|
||||
<void property="endArrowHead">
|
||||
<object class="com.horstmann.violet.ArrowHead" field="V"/>
|
||||
</void>
|
||||
<void property="endLabel">
|
||||
<string>0..1 node</string>
|
||||
</void>
|
||||
</object>
|
||||
<object idref="ClassNode2"/>
|
||||
<object idref="ClassNode3"/>
|
||||
</void>
|
||||
<void method="connect">
|
||||
<object class="com.horstmann.violet.ClassRelationshipEdge">
|
||||
<void property="bentStyle">
|
||||
<object class="com.horstmann.violet.BentStyle" field="VHV"/>
|
||||
</void>
|
||||
<void property="endArrowHead">
|
||||
<object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/>
|
||||
</void>
|
||||
</object>
|
||||
<object idref="ClassNode5"/>
|
||||
<object idref="ClassNode2"/>
|
||||
</void>
|
||||
<void method="connect">
|
||||
<object class="com.horstmann.violet.ClassRelationshipEdge">
|
||||
<void property="endArrowHead">
|
||||
<object class="com.horstmann.violet.ArrowHead" field="V"/>
|
||||
</void>
|
||||
<void property="lineStyle">
|
||||
<object class="com.horstmann.violet.LineStyle" field="DOTTED"/>
|
||||
</void>
|
||||
</object>
|
||||
<object idref="ClassNode5"/>
|
||||
<object idref="InterfaceNode0"/>
|
||||
</void>
|
||||
<void method="connect">
|
||||
<object class="com.horstmann.violet.ClassRelationshipEdge">
|
||||
<void property="bentStyle">
|
||||
<object class="com.horstmann.violet.BentStyle" field="VHV"/>
|
||||
</void>
|
||||
<void property="endArrowHead">
|
||||
<object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/>
|
||||
</void>
|
||||
</object>
|
||||
<object idref="ClassNode6"/>
|
||||
<object idref="ClassNode1"/>
|
||||
</void>
|
||||
<void method="connect">
|
||||
<object class="com.horstmann.violet.NoteEdge"/>
|
||||
<object idref="ClassNode5"/>
|
||||
<object idref="NoteNode2"/>
|
||||
</void>
|
||||
<void method="connect">
|
||||
<object class="com.horstmann.violet.ClassRelationshipEdge">
|
||||
<void property="bentStyle">
|
||||
<object class="com.horstmann.violet.BentStyle" field="VHV"/>
|
||||
</void>
|
||||
<void property="endArrowHead">
|
||||
<object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/>
|
||||
</void>
|
||||
</object>
|
||||
<object idref="ClassNode7"/>
|
||||
<object idref="ClassNode2"/>
|
||||
</void>
|
||||
<void method="connect">
|
||||
<object class="com.horstmann.violet.NoteEdge"/>
|
||||
<object idref="ClassNode6"/>
|
||||
<object idref="NoteNode3"/>
|
||||
</void>
|
||||
</object>
|
||||
</java>
|
BIN
doc/devel/UML/eltorito.violet.png
Normal file
BIN
doc/devel/UML/eltorito.violet.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 21 KiB |
Loading…
Reference in New Issue
Block a user