Using catalogs: /etc/sgml/catalog Using stylesheet: /usr/share/sgml/docbook/utils-0.6.11/docbook-utils.dsl#html Working on: /var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:10:55:W: cannot generate system identifier for public text "-//OASIS//DTD DocBook V4.1//EN" jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:16:0:E: reference to entity "BOOK" for which no system identifier could be generated jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:10:0: entity was defined here jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:16:0:E: DTD did not contain element declaration for document type name jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:18:5:E: element "BOOK" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:19:9:E: element "BOOKINFO" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:20:9:E: element "TITLE" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:21:15:E: element "AUTHORGROUP" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:22:10:E: element "AUTHOR" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:22:21:E: element "FIRSTNAME" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:22:47:E: element "SURNAME" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:23:10:E: element "AUTHOR" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:23:21:E: element "FIRSTNAME" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:23:47:E: element "SURNAME" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:24:10:E: element "AUTHOR" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:24:21:E: element "FIRSTNAME" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:24:50:E: element "SURNAME" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:25:10:E: element "AUTHOR" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:25:21:E: element "FIRSTNAME" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:25:48:E: element "SURNAME" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:26:10:E: element "AUTHOR" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:26:21:E: element "FIRSTNAME" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:26:52:E: element "SURNAME" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:27:10:E: element "EDITOR" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:27:21:E: element "FIRSTNAME" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:27:49:E: element "SURNAME" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:32:12:E: there is no attribute "ID" jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:32:26:E: element "CHAPTER" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:32:33:E: element "TITLE" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:33:12:E: there is no attribute "ID" jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:33:25:E: element "SECTION" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:33:32:E: element "TITLE" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:34:5:E: element "PARA" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:47:5:E: element "PARA" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:49:41:E: element "FOOTNOTE" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:50:5:E: element "PARA" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:68:23:E: element "FOOTNOTE" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:69:5:E: element "PARA" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:78:24:E: there is no attribute "URL" jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:78:68:E: element "ULINK" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:82:5:E: element "PARA" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:100:5:E: element "PARA" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:105:10:E: there is no attribute "FORMAT" jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:105:10:E: there is no attribute "FILEREF" jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:105:10:E: element "INLINEGRAPHIC" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:105:20:E: element "FOOTNOTE" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:106:5:E: element "PARA" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:133:28:E: element "SECTION" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:133:35:E: element "TITLE" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:134:5:E: element "PARA" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:136:8:E: there is no attribute "LINKEND" jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:136:26:E: element "LINK" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:142:5:E: element "PARA" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:158:5:E: element "PARA" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:167:5:E: element "PARA" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:176:35:E: element "SECTION" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:176:42:E: element "TITLE" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:177:5:E: element "PARA" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:182:5:E: element "PARA" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:190:5:E: element "PARA" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:200:5:E: element "PARA" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:209:5:E: element "PARA" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:224:33:E: element "SECTION" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:224:40:E: element "TITLE" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:226:5:E: element "PARA" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:235:5:E: element "PARA" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:242:5:E: element "PARA" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:249:5:E: element "PARA" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:251:33:E: element "ULINK" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:259:21:E: element "SECTION" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:259:28:E: element "TITLE" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:260:5:E: element "PARA" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:261:50:E: element "FOOTNOTE" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:262:5:E: element "PARA" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:264:36:E: element "ULINK" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:265:42:E: element "ULINK" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:269:42:E: element "FOOTNOTE" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:270:5:E: element "PARA" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:272:78:E: element "ULINK" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:276:15:E: element "PROGRAMLISTING" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:296:24:E: element "SECTION" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:296:31:E: element "TITLE" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:298:5:E: element "PARA" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:307:5:E: element "PARA" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:318:22:E: element "SECTION" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:318:29:E: element "TITLE" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:319:5:E: element "PARA" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:323:6:E: element "TABLE" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:323:13:E: element "TITLE" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:324:13:E: there is no attribute "COLS" jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:324:23:E: there is no attribute "ALIGN" jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:324:37:E: there is no attribute "COLSEP" jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:324:48:E: there is no attribute "ROWSEP" jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:324:51:E: element "TGROUP" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:325:6:E: element "THEAD" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:326:6:E: element "ROW" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:327:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:328:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:329:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:332:6:E: element "TBODY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:333:6:E: element "ROW" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:334:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:335:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:336:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:340:6:E: element "ROW" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:341:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:342:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:343:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:345:6:E: element "ROW" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:346:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:347:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:348:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:351:6:E: element "ROW" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:352:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:353:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:354:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:358:6:E: element "ROW" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:359:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:360:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:361:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:364:6:E: element "ROW" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:365:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:366:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:367:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:370:6:E: element "ROW" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:371:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:372:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:373:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:376:6:E: element "ROW" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:377:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:378:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:379:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:383:6:E: element "ROW" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:384:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:385:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:386:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:390:6:E: element "ROW" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:391:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:392:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:393:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:399:6:E: element "ROW" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:400:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:401:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:402:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:407:6:E: element "ROW" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:408:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:409:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:410:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:417:6:E: element "ROW" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:418:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:419:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:420:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:425:6:E: element "ROW" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:426:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:427:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:428:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:431:6:E: element "ROW" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:432:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:433:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:434:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:439:6:E: element "ROW" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:440:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:441:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:442:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:453:6:E: element "ROW" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:454:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:455:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:456:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:461:6:E: element "ROW" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:462:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:463:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:464:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:470:6:E: element "ROW" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:471:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:472:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:473:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:477:6:E: element "ROW" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:478:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:479:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:480:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:484:6:E: element "ROW" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:485:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:486:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:487:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:491:6:E: element "ROW" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:492:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:493:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:494:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:496:6:E: element "ROW" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:497:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:498:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:499:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:501:6:E: element "ROW" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:502:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:503:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:504:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:506:6:E: element "ROW" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:507:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:508:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:509:10:E: element "ENTRY" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:512:6:E: element "ROW" undefined jade:/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook/./user/user.dbk:513:10:E: element "ENTRY" undefined jade:I: maximum number of errors (200) reached; change with -E option jade:/usr/share/sgml/docbook/utils-0.6.11/docbook-utils.dsl:9:96:W: cannot generate system identifier for public text "-//Norman Walsh//DOCUMENT DocBook HTML Stylesheet//EN" jade:/usr/share/sgml/docbook/utils-0.6.11/docbook-utils.dsl:19:39:E: no style-specification or external-specification with ID "DOCBOOK" Bochs User Manual KevinLawton BryceDenney N. DavidGuarneri VolkerRuppert ChristopheBothamy MichaelCalabrese Introduction to Bochs What is Bochs? Bochs is a program that simulates a complete Intel x86 computer. It can be configured to act like a 386, 486, Pentium, or Pentium Pro. Bochs interprets every instruction from power-up to reboot, and has device models for all of the standard PC peripherals: keyboard, mouse, VGA card/monitor, disks, timer chips, network card, etc. Because Bochs simulates the whole PC environment, the software running in the simulation "believes" it is running on a real machine. This approach allows Bochs to run a wide variety of software with no modification, include most popular x86 operating systems: Windows 95/98/NT, all Linux flavors, all BSD flavors, and more. Bochs is written in the C++ programming language, and is designed to run on many different host platformsSince Bochs can run on one kind of machine and simulate another machine, we have to be clear in our terminology to avoid confusion. The host platform is the machine that runs the Bochs software. The guest platform is the operating system and applications that Bochs is simulating., including x86, PPC, Alpha, Sun, and MIPS. No matter what the host platform is, Bochs still simulates x86 software. In other words, it does not depend on the native instructions of the host machine at all. This is both a strength and a weakness, and it's the major difference between Bochs and many other x86 emulation software such as plex86, VMware, etc. Because Bochs uses software simulation for every single x86 instruction, it can simulate a Windows application on an Alpha or Sun workstation. However, the downside of Bochs's approach is simulation performance. To model the processor accurately, Bochs must run many instructions for every simulated x86 instruction, and this makes the simulated machine many times slower than the physical machine. Commercial PC emulators (VMware, Connectix, etc.) can achieve much high emulation speed using a technique called virtualizationVirtualization takes advantage of simulating x86 instructions on an x86 machine, allowing large portions of the simulation to take place at native hardware speed. Whenever the simulated machine talks to the hardware or enters certain privileged modes (such as in kernel code), the simulator typically takes control and simulates that code in software at much slower speed, just like Bochs does., but they are neither portable to non-x86 platforms nor open source. The Plex86 project is working toward an open-source x86 simulator with virtualization. To do anything interesting in the simulated machine, Bochs needs to interact with the operating system on the host platform (the host OS). When you press a key in the Bochs display window, a key event goes into the device model for the keyboard. When the simulated machine needs to read from the simulated hard disk, Bochs reads from a disk image file on the host machine. When the simulated machine sends a network packet to the local network, Bochs uses the host platform's network card to send the packet out into the real world. These interactions between Bochs and the host operating system can be complicated, and in some cases they are host platform specific. Sending a network packet in FreeBSD requires different code than sending the packet in Windows 95, for example. For this reason, certain features are supported on some host platforms and not others. On GNU/Linux, Bochs can simulate a network card that communicates with the world, but on BeOS the simulated network card may not work because the communication code between the device model and the BeOS operating system has not been written. Bochs was written by Kevin Lawton starting in 1994. It began as a commercial product, which you could buy with source code for ... We need a Bochs historian to help out here. For background, it would be interesting to know how much Bochs used to cost and what it was used for. I thought I saw an interview out there somewhere where Kevin says why he started it and some more background information. Finally, in March 2000, Mandrakesoft bought Bochs and made it open source under the GNU LGPL. In March 2001, Kevin helped a few developers to move all Bochs activities from bochs.com to a new site at bochs.sourceforge.net. Since then the Bochs Project has settled into its new home, and around release times has even hit #1 most active project of the week at Source Forge. Who uses Bochs? It is hard to estimate how many people have tried Bochs or use it on a regular basis, but a few statistics give an indication. The bochs-developers mailing list, which is the primary source of news on bugs and releases, has over 400 subscribers. The latest version has been downloaded over 50,000 times from SourceForge, not counting any mirror website or CVS users. Bochs has many possible uses, and different people use it for different things. Many people use it to run applications in a second operating system without needing two different computers or dual-booting. Running Windows software on a non-x86 workstation or on an x86 UNIX box are common uses. Also, because every hardware instruction and every line of simulator code is accessible, Bochs is used extensively for debugging new operating systems. If you were writing boot code for your home-brewed x86 operating system and it didn't work right, booting it in Bochs could give you great visibility into what is really going on. The Bochs debugger lets you simulate quickly or slowly, pausing whenever you want to look at the contents of memory or the CPU registers. Or, if you wanted to study which parts of a program take the most time, you could use Bochs to measure how often certain pieces of the code were executed. Bochs has been used as a teaching tool in Operating Systems classes, in which students used and modified it to learn how the PC hardware works. As a final project the students had to add a new peripheral device, so they had to learn all about I/O ports, interrupts, and device drivers. In industry, it is used to support legacy applications on modern hardware, and as a reference model when testing new x86-compatible hardware. There may be as many uses of Bochs as there are users. Do you want to run your old DOS games? Or learn how to program under GNU/Linux, without leaving your Windows desktop? Or reverse engineer your printer driver? You decide. Is Bochs right for me? Bochs is very useful for some applications, and not well suited to others. This section tries to answer the question, "Is Bochs right for me?" Bochs may or may not be right for you, depending on what it is you want to do. Perhaps all you want to do is run one or two applications native to Microsoft Windows on GNU/Linux, or vice-versa. Perhaps your biggest concern is speed and performance. Maybe you don't mind tweaking a few files here and there when you want another application to work in that setting. In cases where the objective is to simulate x86 hardware on an x86, Plex86, Wine, and VMware might be your best options. On the other hand, perhaps you have a vital application running on an older operating system that only runs well on old hardware. You are concerned that the life cycle of this hardware is coming to an end, and your backup and restoration hardware and tools no longer suffice for the amount of data that you have. You need to transfer backup disk images over a network, and want to use modern procedures for hardware maintenance. Perhaps the application is important enough to run on a larger computer, such as a 64-bit machine, or even a mainframe. Bochs would be an excellent option in such a scenario. Perhaps your objective is to debug software or hardware drivers. Bochs offers a controlled environment that can better assist you in determining cause and effect relationships. You can take snapshots that show you what is going on behind the scenes. You can isolate the line that caused that crash. You can have multiple images and compare them underg++ -c -I.. -I./.. -I../instrument/stubs -I./../instrument/stubs -march=athlon-mp -O2 -pipe -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES `sdl-config --cflags` ctrl_xfer_pro.cc -o ctrl_xfer_pro.o g++ -shared -nostdlib /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/../../../crti.o /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/crtbeginS.o .libs/sdl.o -Wl,--rpath -Wl,/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4 -Wl,--rpath -Wl,/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4 -L/usr/X11R6/lib -L/usr/lib/gcc-lib/i686-pc-linux-gnu/../../../i686-pc-linux-gnu/lib -L/usr/i686-pc-linux-gnu/lib -L/usr/i686-pc-linux-gnu/bin -L/usr/lib/gcc/i686-pc-linux-gnu/3.4.2 -L/usr/lib /usr/lib/libSDL.so -lpthread -L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4 -L/usr/lib/gcc/i686-pc-linux-gnu/3.3.4 -L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/../../../../i686-pc-linux-gnu/lib -L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/../../.. /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/libstdc++.so -lm -lc -lgcc_s /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/crtendS.o /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/../../../crtn.o -Wl,-rpath -Wl,/usr/lib -Wl,-soname -Wl,libbx_sdl.so.0 -o .libs/libbx_sdl.so.0.0.0 a microscope. In these situation, Bochs could save you time and resources. Information Technology changes faster than any other field. It is very easy to forget transitional software that came and went. But history is important to all fields, and to build on the future, it is important to understand the past. Computer programmers, however, do not have the same advantage as an architect, who can, for example, take a trip to Greece and touch a pillar. Much of the history of Computer Science is left on corroding floppies and malfunctioning hardware. Bochs gives you the benefit of having one or more complete environments where you can understand firsthand the behavior of operating systems and programs. This cannot be achieved with an "emulator" such as Wine. Will it work for me? Whether Bochs works for you depends on your host hardware, host operating system, guest operating system, guest software, and your ability to work in a command-line environment using documentation. There is no gui or wizard to help you through the setup process. You do not get a recovery or installation disk to assist you in the process of installing a guest operating system. Bochs only provides you with the "virtual hardware", and it is up to you to do the rest. Bochs will run on Windows, GNU/Linux, FreeBSD, OpenBSD, or BeOS. If you are running on x86 hardware, you have a range of choices. Check the installation section for your host platform to see what options Bochs supports on your platform. If the most important factor is speed, you may want to try a virtualization product instead of Bochs (VMware, plex86). If you are using a non-x86 machine, then Bochs is one of the few choices for running x86 software. Bochs has been known to work on Solaris (Sparc), GNU/Linux (PowerPC/Alpha), MacOS (PowerPC), IRIX (MIPS), BeOS (PowerPC), Digital UNIX (Alpha), and AIX (PowerPC). You can also find more detailed testing information on the testing status page on the Bochs web site. Bochs License Bochs is copyrighted by MandrakeSoft S.A.MandrakeSoft has web sites at http://mandrakesoft.com and http://www.linux-mandrake.com. and distributed under the GNU Lesser General Public LicenseComplete text of the GNU LGPL is included with the source code in a file called COPYING, and is also here.. The following text appears at the top of every source code file in the Bochs distribution: This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Third Party Software Licensing and Temporary Files Before you install or use any Operating System, BIOS, or other software package within the Bochs PC emulation environment, make sure you are and will be in compliance with all the software licenses pertaining to the software you wish to install. It is completely your responsibility to provide licenses and records on all software that you install and/or use. It is also completely your responsibility to maintain total compliance with all Software Licenses involved. In the process of installing Software within the Bochs PC emulation environment, it may be helpful or necessary to copy or convert files from the original distribution format to a second format to facilitate the installation. You should delete the intermediate files after installation, making certain that only the original distribution files remain. Features The following table shows the features of Bochs and which platforms they currently work with. Bochs Features Feature Supported? Description configure script Yes Bochs uses GNU autoconf to configure Makefiles and headers. Autoconf helps Bochs to compile on a wide variety of platforms. 386,486,Pentium Emulation Yes Bochs can be configured to emulate on of several families of Intel hardware. Some Pentium features are supported, such as the Time Stamp Counter. Pentium Pro Emulation Incomplete A few Pentium Pro features are supported, such as an on-chip APIC for SMP simulation. Command Line Debugger Yes Powerful command line debugger (optional) that lets you stop execution and examine registers and memory, set breakpoints, etc. Floating Point Yes Uses software floating point routines written by Bill Metzenthen Enhanced BIOS Yes Implements ElTorito, EDD v3.0, PCI32 directory service specifications VGA Yes VGA color graphics emulation in a window VESA (Display) Support Yes Currently resolutions up to 1024x768x32bpp are supported. You must compile Bochs with vbe enabled and use the LGPL'ed VGABIOS. Floppy disk Yes Supports floppy disk images on all platforms: 2.88M 3.5", 1.44M 3.5", 1.2M 5.25", and 720K 3.5". On Unix and Windows XP/NT/2000, Bochs can access the physical floppy drive. Multiple ATA channels Yes Emulates up to 4 ATA channels. Up to 8 ATA/ATAPI emulated devices can be attached, two per ATA channel. So you can have eight hard disks or seven hard disks and a cdrom or four hard disks and four cdroms, or one hard disk and seven cdroms, etc... Hard disk Yes Emulates ATA-2/IDE hard drives via image files. Physical hard disk access is supported on some architecture, but NOT recommended, primarily for safety reasons. Hard disk up to 32GB are supported, on any platform that support large files access. CDROM Yes Emulates ATAPI-4/IDE CDROM. The CDROMs can read from an ISO disk image on any platform. On Windows (9x/ME/NT/2000/XP), Linux, SunOS, FreeBSD, NetBSD, OpenBSD, Amiga/MorphOS, MacOSX and BeOS, Bochs can read from the physical cdrom. Starting with version 1.4, Bochs is even able to boot from a bootable cd or bootable iso image. Keyboard Yes Emulates a PS/2 keyboard with North American key mappings. Optional keyboard layout remapping files are provided to support localized keyboard in X11 (german, french, italian, spanish, danish, swedish) Mouse Yes Emulates a PS/2 mouse with 2 buttons. Sound Blaster Yes Emulates a Sound Blaster 16 card. On Windows, Linux, and FreeBSD you can send the output to your host computer's sound system. On MacOSX, this is not supported yet. Network card Yes Emulates an NE2000 compatible network card. On Windows NT/2000, Linux, FreeBSD, and NetBSD, Bochs will forward packets to and from the operating system so that the guest OS can talk on the physical network. Unfortunately, on some platforms the guest OS can talk to any machine on the network BUT NOT the host machine. On Windows and on systems that allow the TAP or TUN/TAP interface, there is no such limitation. Often the host machine may be configured so the guest OS has access to the internet. On MacOSX, it is not possible yet to forward packets between the guest and the host. Parallel Port Yes Parallel port emulation was added by Volker Ruppert for Bochs 1.3. Data that is sent to the parallel port by the guest OS can be saved into a file or sent directly into the parallel port device (Unix only). Serial Port Yes The serial port (single 16550A UART emulation) is usable, on GNU/Linux, NetBSD, OpenBSD, FreeBSD and MacOSX as host and guest. On other OSes the emulation is present, but the connection to hard- or software of the host is not implemented yet. Gameport Yes Emulates a standard PC gameport. The connection to a real joystick is currently supported on Linux and win32 only. PCI incomplete The Host-to-PCI bridge, and Primary Memory Controller are available. However, PCI-to-IDE or other PCI cards are not implemented yet. USB incomplete The USB root hub is available, USB devices with access to real hardware are not implemented yet. Plugins Yes Plugins are supported on Linux, MacOS X, Solaris, and Cygwin. 16/32 bit addressing Yes 16 or 32 bit operand sizes, stack size, and addressing v8086/paging Yes Virtual-8086 mode and paging PIC Yes Master and slave programmable interrupt controller. make[1]: *** [user/book1.html] Error 8 make[1]: Leaving directory `/var/tmp/portage/bochs-2.1.1/work/bochs-2.1.1/doc/docbook' make: *** [build_docbook] Error 2