Hello all...
I installed linux-2.2.12.tar.gz and patch-2.2.12-rmk1.gz.
I'm trying to boot kernel from flash(512k).
I made a flash image with bios and zImage.(bios base : 41000080, zImage base :
41008000)
My systems successfully jump to zImage, and then jump decompress_kernel from
'bl SYMBOL_NAME(decompress_kernel)' of head.S to misc.c
Then, hangs.....
The right position is 'free_mem_ptr = free_mem_ptr_p' under the code, misc.c
Could anyone have similar experience ?
---head.S------------------------------------------------------------
/*
* Uncompress the kernel
*/
mov r1, #0x8000
add r3, r2, r1, lsl #1 @ Add 64k for malloc
sub r1, r1, #1
add r3, r3, r1
bic r5, r3, r1 @ decompress kernel to after end of
the compressed
mov r0, r5
mov r1, r2
mov r2, r0
bl SYMBOL_NAME(decompress_kernel) -----------------!!!
add r0, r0, #7
bic r2, r0, #7
/*
* Now move the kernel to the correct location (r5 -> r4, len r0)
*/
mov r0, r4 @ r0 = start of real kernel
mov r1, r5 @ r1 = start of kernel image
add r3, r5, r2 @ r3 = end of kernel
adr r4, movecode
----------------------------------------------------------------
--misc.c--------------------------------------------------------------
ulg decompress_kernel(ulg output_start, ulg free_mem_ptr_p, ulg free_mem_ptr_end_p)
{
free_mem_ptr = free_mem_ptr_p; ---------------------hangs here !!!
free_mem_ptr_end = free_mem_ptr_end_p;
proc_decomp_setup ();
arch_decomp_setup ();
--------------------------------------------------------------------------------------
---linux/arch/arm/boot/compressed/Makefile-------------------------------------------
#
# create a compressed vmlinuz image from the original vmlinux
#
# With this config, max compressed image size = 640k
# Uncompressed image size = 1.3M (text+data)
SYSTEM =$(TOPDIR)/vmlinux
HEAD =$(COMPRESSED_HEAD)
OBJS =$(HEAD) misc.o $(COMPRESSED_EXTRA)
CFLAGS =-O2 -DSTDC_HEADERS $(CFLAGS_PROC)
ARFLAGS =rc
FONTC =$(TOPDIR)/drivers/video/font_acorn_8x8.c
ZTEXTADDR = 0x41008000
ZRELADDR = 0x00008000
ZBSSADDR = 0x00200000
ifeq ($(CONFIG_ARCH_ACORN),y)
OBJS += ll_char_wr.o font.o
endif
ifeq ($(NEW_LINKER),y)
BINFMT := elf32-littlearm
else
BINFMT := elf32-arm
endif
all: vmlinux
vmlinux: $(OBJS) piggy.o
$(LD) -Ttext 0x41008000 -o vmlinux $(OBJS) piggy.o
$(HEAD): $(HEAD:.o=.S)
$(CC) -traditional -DLOADADDR=$(ZRELADDR) -c $(HEAD:.o=.S)
---------------------------------------------------------------------------------------
Thank you
ByungGi Baek.
==================================================
[EMAIL PROTECTED]
==================================================
No. 1 �츮 ���ͳ�, ����
��� ���� ���� E-mail �ּ� �Ѹ��ϳ�
������ �ѱ� �˻����� Daum FIREBALL
http://www.daum.net
unsubscribe: body of `unsubscribe linux-arm' to [EMAIL PROTECTED]
++ Please use [EMAIL PROTECTED] for ++
++ kernel-related discussions. ++