* more more fix
diff --git a/bootstub.c b/bootstub.c
index 1b3adf7..f028c6d 100644
--- a/bootstub.c
+++ b/bootstub.c
@@ -70,12 +70,12 @@
 	bp->screen_info.orig_video_mode = 1;
 	bp->screen_info.orig_video_lines = 25;
 	bp->screen_info.orig_video_cols = 80;
-	bp->alt_mem_k = 256*1024;
+	bp->alt_mem_k = *(u32 *)MEMORY_SIZE_OFFSET;
 	memcpy(&bp->hdr, sh, sizeof (struct setup_header));
 	bp->hdr.cmd_line_ptr = CMDLINE_OFFSET;
-	bp->hdr.cmdline_size = strnlen((const char*)CMDLINE_OFFSET,256);
-	bp->hdr.ramdisk_size = *(u32*)INITRD_SIZE;
-	bp->hdr.ramdisk_image = *(u32*)INITRD_OFFSET + CMDLINE_OFFSET;
+	bp->hdr.cmdline_size = strnlen((const char *)CMDLINE_OFFSET,256);
+	bp->hdr.ramdisk_size = *(u32 *)INITRD_SIZE_OFFSET;
+	bp->hdr.ramdisk_image = BZIMAGE_OFFSET + *(u32 *)BZIMAGE_SIZE_OFFSET + *(u32 *)INITRD_SIZE_OFFSET;
 }
 
 static int get_32bit_entry(unsigned char *ptr)
@@ -94,7 +94,7 @@
 	setup_idt();
 	setup_gdt();
 	setup_boot_params((struct boot_params *)BOOT_PARAMS_OFFSET, 
-		(struct setup_header*)SETUP_HEADER_OFFSET);
+		(struct setup_header *)SETUP_HEADER_OFFSET);
 	return get_32bit_entry((unsigned char *)BZIMAGE_OFFSET);
 }