Let the kernel load figure out where to put mods
This patch makes the mkimage tool obsolete
This commit is contained in:
parent
d642d5508f
commit
207e4d2a71
2 changed files with 28 additions and 14 deletions
|
@ -356,6 +356,7 @@ static void get_parameters(multiboot_info_t *mbi)
|
|||
|
||||
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;
|
||||
|
@ -415,20 +416,24 @@ static void mb_extract_image(multiboot_info_t mbi)
|
|||
;
|
||||
}
|
||||
|
||||
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. */
|
||||
|
|
|
@ -34,7 +34,6 @@ usage:
|
|||
@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
|
||||
|
@ -48,10 +47,7 @@ usage:
|
|||
@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:
|
||||
|
@ -78,7 +74,7 @@ drivers: includes servers
|
|||
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
|
||||
|
@ -96,12 +92,25 @@ hdboot: image
|
|||
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; \
|
||||
|
|
Loading…
Reference in a new issue