#include "linux/iso_fs.h"
#include "debug.h"
#include "errors.h"
+#include "bootinfo.h"
#include "byteorder.h"
/* We currently don't check the partition type, some users
for (i=0; i < possible; i++) used[i] = 0;
- for (part = amiga_block[AMIGA_PARTITIONS], partition = 0;
+ for (part = amiga_block[AMIGA_PARTITIONS], partition = 1;
part != AMIGA_END;
part = amiga_block[AMIGA_PART_NEXT], partition++)
{
struct partition_t* list = NULL;
unsigned int prom_blksize, iso_root_block;
- strncpy(block_buffer, device, 2040);
- strcat(block_buffer, ":0");
+ strncpy((char *)block_buffer, device, 2040);
+ if (_machine != _MACH_bplan)
+ strcat((char *)block_buffer, ":0");
/* Open device */
- disk = prom_open(block_buffer);
+ disk = prom_open((char *)block_buffer);
if (disk == NULL) {
prom_printf("Can't open device <%s>\n", block_buffer);
goto bail;
struct partition_t* found;
char *type = NULL;
- if (prom_get_devtype(device) != FILE_DEVICE_BLOCK)
+ int device_kind = prom_get_devtype(device);
+ if (device_kind != FILE_DEVICE_BLOCK && device_kind != FILE_DEVICE_ISCSI)
return NULL;
parts = partitions_lookup(device);