static void mb_extract_image(multiboot_info_t mbi)
{
+ phys_bytes start_paddr = 0x5000000;
multiboot_module_t *mb_module_info;
multiboot_module_t *module;
u32_t mods_count = mbi.mods_count;
;
}
- stack_bytes = round_page(image[NR_TASKS+i].stack_kbytes * 1024);
+ stack_bytes = image[NR_TASKS+i].stack_kbytes * 1024;
+
+ text_paddr = start_paddr + (text_vaddr & PAGE_MASK);
/* Load text segment */
phys_copy(module->mod_start+text_offset, text_paddr,
text_filebytes);
mb_clear_memrange(text_paddr+text_filebytes,
- trunc_page(text_paddr) + text_membytes);
+ round_page(text_paddr) + text_membytes);
+
+ data_paddr = round_page((text_paddr + text_membytes));
+ data_paddr += data_vaddr & PAGE_MASK;
+ /* start of next module */
+ start_paddr = round_page(data_paddr + data_membytes + stack_bytes);
/* Load data and stack segments */
- phys_copy(module->mod_start+data_offset, data_paddr,
- data_filebytes);
- mb_clear_memrange(data_paddr+data_filebytes,
- trunc_page(data_paddr) + data_membytes
- + stack_bytes);
+ phys_copy(module->mod_start+data_offset, data_paddr, data_filebytes);
+ mb_clear_memrange(data_paddr+data_filebytes, start_paddr);
/* Save memmap for non-kernel tasks, so subscript past kernel
tasks. */
@echo " make includes # Install include files" >&2
@echo " make depend # Generate dependency files" >&2
@echo " make services # Compile and install all services" >&2
- @echo " make image # Make needed services and create boot image" >&2
@echo " make install # Make image, and install to hard disk" >&2
@echo " make hdboot # Make image, and install to hard disk" >&2
@echo " make fdboot # Make image, and install to floppy disk" >&2
@echo " make fresh install # new everything" >&2
@echo " " >&2
-all: services image
-
-image: includes services
- mkimage $(PROGRAMS)
+all: services
# rebuild the program or system libraries
includes:
bootable:
exec su root mkboot bootable
-hdboot: image
+hdboot:
rm -rf /boot/minix/.temp/
mkdir -p /boot/minix/.temp
# mod_0 is used to make alphabetical order equal to the boot order
sh mkboot $@
sh ../commands/update_bootcfg/update_bootcfg.sh
-fdboot: image
+fdboot:
exec su root mkboot $@
@sync
install: includes services hdboot
+cross_install:
+ if [ ! -d ${DESTDIR}/multiboot ] ; \
+ then\
+ mkdir ${DESTDIR}/multiboot;\
+ fi
+#ext2 might be needed
+ for i in ${PROGRAMS} ../servers/ext2/ext2;\
+ do\
+ newname="${DESTDIR}/multiboot/`basename $$i`"; \
+ cp $$i $$newname;\
+ strip -s $$newname;\
+ done
+
# download and update NetBSD reference sources.
nbsd_fetch:
export CVS_RSH=ssh; \