[Debburn-changes] r659 - in cdrkit/trunk: . debian genisoimage
Eduard Bloch
blade at alioth.debian.org
Sat Dec 30 16:46:50 CET 2006
Author: blade
Date: 2006-12-30 16:46:49 +0100 (Sat, 30 Dec 2006)
New Revision: 659
Modified:
cdrkit/trunk/Changelog
cdrkit/trunk/debian/changelog
cdrkit/trunk/genisoimage/boot-alpha.c
cdrkit/trunk/genisoimage/boot-hppa.c
cdrkit/trunk/genisoimage/genisoimage.1
cdrkit/trunk/genisoimage/genisoimage.c
cdrkit/trunk/genisoimage/genisoimage.h
Log:
Applied vorlon's patch and changelog finalization
Modified: cdrkit/trunk/Changelog
===================================================================
--- cdrkit/trunk/Changelog 2006-12-29 15:14:46 UTC (rev 658)
+++ cdrkit/trunk/Changelog 2006-12-30 15:46:49 UTC (rev 659)
@@ -1,4 +1,4 @@
-cdrkit (1.1.1) UNRELEASED; urgency=low
+cdrkit (1.1.1) RELEASED; urgency=low
* added geteltorito script from Rainer Krienke
@@ -10,19 +10,22 @@
Linux and Cygwin
* Open-By-Device-Letter mode on Cygwin
* -msifile=... option to store -msinfo output reliably in a dedicated file
- * clear profile names printing (using code from libburnia)
+ * clear profile names printing (using code from libburnia, thanks to Thomas
+ Schmidt)
* cleanup with unused embedded CVS revision strings from Schilling and
more gcc -Wall correctness
* reenabled -format functionality (bug in program function control flow)
* get maximum DMA buffer size from sysfs on Linux, where possible
* enable BURN-Free by default where possible
- * genisoimage documentation updates, mkisofs name changes
* setting argv[0] to wodim if someone is cheating and calls it as cdrecord.
Avoids confusion and printing of the wrong app name in the help output.
- * more table formating fixes in icedax.1
+ * more documentation updates WRT cdda2wav->icedax renaming, more table
+ formating fixes in icedax.1
+ * genisoimage documentation updates, mkisofs name changes
[ Thomas Schmidt ]
* workaround for older libmagic API
+ * code for clear profile name mapping
[ Peter Samuelson ]
* expand where genisoimage looks for the config file - same places
@@ -30,11 +33,14 @@
* major cleanups to genisoimage.1 manpage; split out the part about
.genisoimagerc to a new page genisoimagerc.5.
+ [ Steve Langasek ]
+ * allow hppa and alpha boot code to coexist in one ISO image
+
[ Arkadiusz Miskiewicz ]
* Fake prefix line in the version output of readom to keep compatibility
with frontends
- -- Eduard Bloch <blade at debian.org> Sat, 2 Dec 2006 23:05:33 +0100
+ -- Eduard Bloch <blade at debian.org> Sat, 30 Dec 2006 16:45:40 +0100
cdrkit (1.1.0) RELEASED; urgency=medium
Modified: cdrkit/trunk/debian/changelog
===================================================================
--- cdrkit/trunk/debian/changelog 2006-12-29 15:14:46 UTC (rev 658)
+++ cdrkit/trunk/debian/changelog 2006-12-30 15:46:49 UTC (rev 659)
@@ -1,4 +1,4 @@
-cdrkit (9:1.1.1-1) unstable; urgency=low
+cdrkit (9:1.1.1-1) unstable; urgency=medium
* New upstream version
+ more verbose abort message if track is specified with some maintainance
@@ -10,12 +10,13 @@
+ icedax.1 updates, cdda2wav specific expalanations removed
(closes: #401821)
+ getting maximum DMA transfer size from sysfs (closes: #377069)
+ + coexisting hppa/alpha boot code possible now (closes: #404986)
* Add mkzftree binary again (sorry... closes: #402750)
* Add /usr/bin/readcd -> readom compatibility symlink
(closes: #403536, #403193) and set conflict with older xcdroast package
revisions (closes: #401791)
- -- Eduard Bloch <blade at debian.org> Sat, 2 Dec 2006 23:05:18 +0100
+ -- Eduard Bloch <blade at debian.org> Sat, 30 Dec 2006 16:45:31 +0100
cdrkit (9:1.1.0-1) unstable; urgency=low
Modified: cdrkit/trunk/genisoimage/boot-alpha.c
===================================================================
--- cdrkit/trunk/genisoimage/boot-alpha.c 2006-12-29 15:14:46 UTC (rev 658)
+++ cdrkit/trunk/genisoimage/boot-alpha.c 2006-12-30 15:46:49 UTC (rev 659)
@@ -47,8 +47,12 @@
int add_boot_alpha_filename(char *filename);
static int boot_alpha_write(FILE *outfile);
+static int boot_alpha_hppa_write(FILE *outfile);
static char *boot_file_name = NULL;
+unsigned long long alpha_hppa_boot_sector[256]; /* One (ISO) sector */
+int boot_sector_initialized = 0;
+
#define BOOT_STRING "Linux/Alpha aboot for ISO filesystem."
/* Simple function: store the filename to be used later when we need
@@ -61,17 +65,17 @@
static int boot_alpha_write(FILE *outfile)
{
- unsigned long long boot_sector[256]; /* One (ISO) sector */
- unsigned long long sum = 0;
- struct directory_entry *boot_file; /* Boot file we need to search for */
+ struct directory_entry *boot_file; /* Boot file we need to search for */
unsigned long length = 0;
unsigned long extent = 0;
- int i = 0;
- memset(boot_sector, 0, sizeof(boot_sector));
+ if (!boot_sector_initialized) {
+ memset(alpha_hppa_boot_sector, 0, sizeof(alpha_hppa_boot_sector));
+ boot_sector_initialized = 1;
+ }
/* Write the text header into the boot sector */
- strcpy((char *)boot_sector, BOOT_STRING);
+ strcpy((char *)alpha_hppa_boot_sector, BOOT_STRING);
/* Find the dir entry for the boot file by walking our file list */
boot_file = search_tree_file(root, boot_file_name);
@@ -103,22 +107,31 @@
/* Now write those values into the appropriate area of the boot
sector in LITTLE ENDIAN format. */
- write_le64(length, (unsigned char *)(unsigned long long *)&boot_sector[60]);
- write_le64(extent, (unsigned char *)&boot_sector[61]);
+ write_le64(length, (unsigned char *)&alpha_hppa_boot_sector[60]);
+ write_le64(extent, (unsigned char *)&alpha_hppa_boot_sector[61]);
+ return 0;
+}
+
+static int boot_alpha_hppa_write(FILE *outfile)
+{
+ unsigned long long sum = 0;
+ int i = 0;
+
/* Now generate a checksum of the first 504 bytes of the boot
- sector and place it in boot_sector[63]. Isomarkboot currently
+ sector and place it in alpha_hppa_boot_sector[63]. Isomarkboot currently
gets this wrong and will not work on big-endian systems! */
for (i = 0; i < 63; i++)
- sum += read_le64((unsigned char *)&boot_sector[i]);
+ sum += read_le64((unsigned char *)&alpha_hppa_boot_sector[i]);
- write_le64(sum, (unsigned char *)&boot_sector[63]);
+ write_le64(sum, (unsigned char *)&alpha_hppa_boot_sector[63]);
- jtwrite(boot_sector, sizeof(boot_sector), 1, 0, FALSE);
- xfwrite(boot_sector, sizeof(boot_sector), 1, outfile, 0, FALSE);
+ jtwrite(alpha_hppa_boot_sector, sizeof(alpha_hppa_boot_sector), 1, 0, FALSE);
+ xfwrite(alpha_hppa_boot_sector, sizeof(alpha_hppa_boot_sector), 1, outfile, 0, FALSE);
last_extent_written++;
return 0;
}
-struct output_fragment alphaboot_desc = {NULL, oneblock_size, NULL, boot_alpha_write, "alpha boot block"};
+struct output_fragment alphaboot_desc = {NULL, NULL, NULL, boot_alpha_write, "alpha boot block"};
+struct output_fragment alpha_hppa_boot_desc = {NULL, oneblock_size, NULL, boot_alpha_hppa_write, "alpha/hppa boot block"};
Modified: cdrkit/trunk/genisoimage/boot-hppa.c
===================================================================
--- cdrkit/trunk/genisoimage/boot-hppa.c 2006-12-29 15:14:46 UTC (rev 658)
+++ cdrkit/trunk/genisoimage/boot-hppa.c 2006-12-30 15:46:49 UTC (rev 659)
@@ -53,6 +53,9 @@
#include <schily.h>
#include "endianconv.h"
+extern long long alpha_hppa_boot_sector[256];
+extern int boot_sector_initialized;
+
int add_boot_hppa_cmdline(char *cmdline);
int add_boot_hppa_kernel_32(char *filename);
int add_boot_hppa_kernel_64(char *filename);
@@ -129,14 +132,19 @@
static int boot_hppa_write(FILE *outfile)
{
- unsigned char boot_sector[2048]; /* One (ISO) sector */
- struct directory_entry *boot_file; /* Boot file we need to search for */
+ struct directory_entry *boot_file; /* Boot file we need to search for */
unsigned long length = 0;
unsigned long extent = 0;
+ unsigned char *boot_sector = (unsigned char *) alpha_hppa_boot_sector;
int i = 0;
- memset(boot_sector, 0, sizeof(boot_sector));
+ if (!boot_sector_initialized) {
+ memset(alpha_hppa_boot_sector, 0, sizeof(alpha_hppa_boot_sector));
+ boot_sector_initialized = 1;
+ }
+ printf("Address is: %p\n",alpha_hppa_boot_sector);
+
boot_sector[0] = 0x80; /* magic */
boot_sector[1] = 0x00; /* magic */
boot_sector[2] = 'P';
@@ -193,11 +201,7 @@
write_be32(extent, &boot_sector[240]);
write_be32(length, &boot_sector[244]);
- jtwrite(boot_sector, sizeof(boot_sector), 1, 0, FALSE);
- xfwrite(boot_sector, sizeof(boot_sector), 1, outfile, 0, FALSE);
- last_extent_written++;
-
return 0;
}
-struct output_fragment hppaboot_desc = {NULL, oneblock_size, NULL, boot_hppa_write, "hppa boot block"};
+struct output_fragment hppaboot_desc = {NULL, NULL, NULL, boot_hppa_write, "hppa boot block"};
Modified: cdrkit/trunk/genisoimage/genisoimage.1
===================================================================
--- cdrkit/trunk/genisoimage/genisoimage.1 2006-12-29 15:14:46 UTC (rev 658)
+++ cdrkit/trunk/genisoimage/genisoimage.1 2006-12-30 15:46:49 UTC (rev 659)
@@ -2576,6 +2576,11 @@
This results in a directory called
.B RR_MOVED
in the root directory of the CD. You cannot avoid this directory.
+.PP
+Many boot code options for different platforms are mutualy exclusive because
+the boot blocks cannot coexist, ie. different platforms share the same data
+locations in the image. See
+http://lists.debian.org/debian-cd/2006/12/msg00109.html for details.
.\" ----------------------------------------
.SH BUGS
.PP
Modified: cdrkit/trunk/genisoimage/genisoimage.c
===================================================================
--- cdrkit/trunk/genisoimage/genisoimage.c 2006-12-29 15:14:46 UTC (rev 658)
+++ cdrkit/trunk/genisoimage/genisoimage.c 2006-12-30 15:46:49 UTC (rev 659)
@@ -3438,6 +3438,8 @@
outputlist_insert(&alphaboot_desc);
if (use_hppaboot)
outputlist_insert(&hppaboot_desc);
+ if (use_alphaboot || use_hppaboot)
+ outputlist_insert(&alpha_hppa_boot_desc);
if (use_mipsboot)
outputlist_insert(&mipsboot_desc);
if (use_mipselboot)
Modified: cdrkit/trunk/genisoimage/genisoimage.h
===================================================================
--- cdrkit/trunk/genisoimage/genisoimage.h 2006-12-29 15:14:46 UTC (rev 658)
+++ cdrkit/trunk/genisoimage/genisoimage.h 2006-12-30 15:46:49 UTC (rev 659)
@@ -203,6 +203,7 @@
extern struct output_fragment strpath_desc;
extern struct output_fragment alphaboot_desc;
extern struct output_fragment hppaboot_desc;
+extern struct output_fragment alpha_hppa_boot_desc;
extern struct output_fragment mipsboot_desc;
extern struct output_fragment mipselboot_desc;
More information about the Debburn-changes
mailing list