Re: Could not find the source code for "/sbin/init".

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Steven Liu wrote:
> Hi, Pete:
> 
> Thank you very much for your help.
> 
> After several tries, I realized that you are right. My MMU may have
> problem.
> 
> Because my mips CPU is not the standard one and I do not have a R3000
> application 
> program such as "date", "arch", or "init", I built an application as
> following.
> 
> liu.c is: 
> 
> void main(void)
> {
> 
> }
> 
> Makefile is:
> 
> ARCH = mips
> 
> .EXPORT_ALL_VARIABLES:
> 
> 
> CROSS_COMPILE 	=mips-linux-
> 
> AS	=$(CROSS_COMPILE)as
> LD	=$(CROSS_COMPILE)ld
> CC	=$(CROSS_COMPILE)gcc  -D__mips__ 
> CPP	=$(CC) -E
> AR	=$(CROSS_COMPILE)ar
> NM	=$(CROSS_COMPILE)nm
> STRIP	=$(CROSS_COMPILE)strip
> OBJCOPY	=$(CROSS_COMPILE)objcopy
> OBJDUMP	=$(CROSS_COMPILE)objdump
> MAKE	=make
> GENKSYMS=/sbin/genksyms
> 
> 
> CFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -mips1
> -mcpu=r3000 -mmemcpy
> 
> CFLAGS += $(shell if $(CC) -fno-strict-aliasing -S -o /dev/null -xc
> /dev/null >/dev/null 2>&1; then echo "-fno-strict-aliasing"; fi)
> 
> # egcs-1.0.2 compiler for MIPS has a problem for which this is a
> work-around
> CFLAGS += $(shell if $(CC) -mno-split-addresses -S -o /dev/null -xc
> /dev/null >/dev/null 2>&1; then echo "-mno-split-addresses"; fi)
> 
> 
> 
> .S.s:
> 	$(CC) -D__ASSEMBLY__  -traditional -E -o $*.s $<
> .S.o:
> 	$(CC) -D__ASSEMBLY__  -traditional -c -o $*.o $<
> 
> 
> 
> liu: $(CONFIGURATION) liu.o
> 	$(LD) $(LINKFLAGS) $(HEAD) liu.o  \
> 		-o liu
> 	$(NM) liu | grep -v '\(compiled\)\|\(\.o$$\)\|\( [aU]
> \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | sort > System.map
> 
> 
> liu.o: liu.c 
> 	$(CC) $(CFLAGS) $(PROFILING) -c -o $*.o $<
> 
> 
> When I ran the program, it crushed.
> 
> Could you build this application and run it on your R3000 system? If it
> works, send me your executable so that I can test my system.

How do you run the program?  Do you use it instead of /sbin/init?  If so, what 
should happen is that the program should "run" and then just return. If you put 
printks before and after your program is run, you should see the program being 
executed and then returning. If it's crashing, it sounds like your kernel can't 
run *any* userland app, probably because the mmu is not setup correctly.

Unfortunately I don't have any R3000 based boards so I can't test anything.

Pete




[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux