diff --git a/src/Makefile.inc b/src/Makefile.inc index 935fc6c..8a14d34 100644 --- a/src/Makefile.inc +++ b/src/Makefile.inc @@ -2,8 +2,8 @@ # Global 'Source' Options # allow you to change your default compiler without affecting your other work -CC = gcc -CXX = g++ +CC = gcc295 +CXX = g++295 LD = ld AR = ar REMOVE = rm -rf diff --git a/src/sys/boot/boot2/boot1.s b/src/sys/boot/boot2/boot1.s index 6a05874..107fb4c 100644 --- a/src/sys/boot/boot2/boot1.s +++ b/src/sys/boot/boot2/boot1.s @@ -28,7 +28,7 @@ # Partition Constants .set PRT_OFF,0x1be # Partition offset .set PRT_NUM,0x4 # Partitions - .set PRT_BSD,0xa5 # Partition type + .set PRT_BSD,0x2a # Partition type # Flag Bits .set FL_PACKET,0x80 # Packet mode @@ -353,7 +353,7 @@ .fill 0x30,0x1,0x0 part4: .byte 0x80, 0x00, 0x01, 0x00 - .byte 0xa5, 0xff, 0xff, 0xff + .byte 0x2a, 0xff, 0xff, 0xff .byte 0x00, 0x00, 0x00, 0x00 .byte 0x50, 0xc3, 0x00, 0x00 # 50000 sectors long, bleh diff --git a/src/sys/boot/boot2/boot2.c b/src/sys/boot/boot2/boot2.c index e3a97d9..35f4b4f 100644 --- a/src/sys/boot/boot2/boot2.c +++ b/src/sys/boot/boot2/boot2.c @@ -36,6 +36,8 @@ #include "lib.h" #include "ubixfs.h" +#define UBX_RESERVED 64 + #define RBX_ASKNAME 0x0 /* -a */ #define RBX_SINGLE 0x1 /* -s */ #define RBX_DFLTROOT 0x5 /* -r */ @@ -239,8 +241,8 @@ static void initUbixFS() { BAT = (struct blockAllocationTableEntry *)malloc(4096); rootDir = (struct directoryEntry *)malloc(4096); - dskread(BAT,0,8); - dskread(rootDir,8,8); + dskread(BAT,0 + UBX_RESERVED,8); + dskread(rootDir,8 + UBX_RESERVED,8); } int diff --git a/src/sys/boot/mbr/mbr.s b/src/sys/boot/mbr/mbr.s index 8535391..f9c1448 100644 --- a/src/sys/boot/mbr/mbr.s +++ b/src/sys/boot/mbr/mbr.s @@ -368,7 +368,7 @@ # # These values indicate bootable types we know the names of # - .byte 0x1, 0x4, 0x6, 0xb, 0xc, 0xe, 0x83 + .byte 0x1, 0x4, 0x6, 0xb, 0xc, 0xe, 0xad .byte 0x9f, 0xa5, 0xa6, 0xa9 # # These are offsets that match the known names above and point to the strings @@ -381,7 +381,7 @@ .byte os_dos-. # Windows .byte os_dos-. # Windows .byte os_dos-. # Windows - .byte os_linux-. # Linux + .byte os_ubixos-. # Linux .byte os_bsd-. # BSD/OS .byte os_freebsd-. # FreeBSD .byte os_bsd-. # OpenBSD @@ -392,7 +392,7 @@ # os_misc: .ascii "?"; .byte '?'|0x80 os_dos: .ascii "DO"; .byte 'S'|0x80 -os_linux: .ascii "Linu"; .byte 'x'|0x80 +os_ubixos: .ascii "UbixO"; .byte 'S'|0x80 os_freebsd: .ascii "Free" os_bsd: .ascii "BS"; .byte 'D'|0x80 diff --git a/src/sys/ubixfs/ubixfs.c b/src/sys/ubixfs/ubixfs.c index 648ba56..66b2bc4 100644 --- a/src/sys/ubixfs/ubixfs.c +++ b/src/sys/ubixfs/ubixfs.c @@ -24,6 +24,10 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. $Log$ + Revision 1.2 2004/04/28 02:22:55 reddawg + This is a fiarly large commit but we are starting to use new driver model + all around + Revision 1.1.1.1 2004/04/15 12:07:08 reddawg UbixOS v1.0 @@ -74,7 +78,7 @@ /* fsInfo->blockAllocationTable[0].nextBlock = 100; */ fsInfo->batEntries = ((mp->diskLabel->partitions[mp->partition].pBatSize*512)/sizeof(struct blockAllocationTableEntry)); kprintf("C"); - mp->device->read(mp->device->info,fsInfo->blockAllocationTable,mp->diskLabel->partitions[mp->partition].pOffset,mp->diskLabel->partitions[mp->partition].pBatSize); + mp->device->read(mp->device->info,fsInfo->blockAllocationTable,mp->diskLabel->partitions[mp->partition].pOffset+64,mp->diskLabel->partitions[mp->partition].pBatSize); kprintf("Offset: [%i], Partition: [%i]\n",mp->diskLabel->partitions[mp->partition].pOffset,mp->partition); kprintf("UbixFS Initialized\n"); }