Can't run init... MPC8240
윤동석
manulsan at daintelecom.com
Fri Sep 7 06:16:32 EST 2001
Dear
I am working MPC8240 custom board with Sandpoint8240 BSP
from MVista CDK 2.0 . I think that I made something wrong.
I tried to make run "init" ( init is located /bin/init, sbin is symbolic link to bin),
but didn't run it so I printed error code with printk function. Error code is 2
Error code 2 says that file does not exist. I can't find debugging point.
Small advice gonna be big hands to me.
Following is What I did and partial souece and console output using printk
[ Work Sequence ]
1. Made ramdisk.image.gz and copy it to "/opt/hardhat/devkit/lsp/motorola-sandpoint/linux-
2.4.2_hhl20/arch/ppc/boot/images"
2. compiled with command " make zImage.initrd"
3. Change to directory "/opt/hardhat/devkit/lsp/motorola-sandpoint/linux- 2.4.2_hhl20/arch/ppc/boot/images"
4. Make it to srec format
zsrec -s 900000 zImage.initrd.sandpoint > image.hex
5. At vision prob I converted it to bdx file
I got image.bdx
6. I downloaded "image.bdx" using vision prob
7. go 900000
===================== source code =====================
static int init(void * unused)
{
lock_kernel();
do_basic_setup();
/*
* Ok, we have completed the initial bootup, and
* we're essentially up and running. Get rid of the
* initmem segments and start the user-mode stuff..
*/
free_initmem();
unlock_kernel();
#if 0
if (open("/dev/console", O_RDWR, 0) < 0)
printk("Warning: unable to open an initial console.\n");
(void) dup(0);
(void) dup(0);
#endif
/*
* We try each of these until one succeeds.
*
* The Bourne shell can be used instead of init if we are
* trying to recover a really broken machine.
*/
if (execute_command)
execve(execute_command,argv_init,envp_init);
if (execute_command)
printk("Suchen nach %s ", execute_command); execve(execute_command,argv_init,envp_init);
printk("%d\n", errno);
printk(" /sbin/init ==> "); execve("/sbin/init",argv_init,envp_init);
printk(" %d\n", (errno));
printk(" /init ==> "); execve("/init",argv_init,envp_init);
printk("%d\n", (errno));
printk(" /etc/init ==> "); execve("/etc/init",argv_init,envp_init);
printk("%d\n", (errno));
printk(" /bin/init ==> "); execve("/bin/init",argv_init,envp_init);
printk("%d\n", (errno));
printk(" /bin/sh ==> "); execve("/bin/sh",argv_init,envp_init);
printk("%d\n", (errno));
panic("No init found. Try passing init= option to kernel.");
}
=======[ Printk output ]===================================
.
. ( omitted )
.
.
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Starting kswapd v1.8
block: queued sectors max/low 40885kB/13628kB, 128 slots per queue
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
RAMDISK: Compressed image found at block 0
Freeing initrd memory: 4194301k freed
loop: loaded (max 8 devices)
Serial driver version 5.02 (2000-08-09) with MANY_PORTS SHARE_IRQ SERIAL_PCI ena
bled
ttyS00 at 0x1e08080 (irq = 4) is a ST16650
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 4096 bind 4096)
IP-Config: No network devices available.
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
VFS: Mounted root (ext2 filesystem).
Freeing unused kernel memory: 72k init 4k openfirmware...
Suchen nach /init 2
/sbin/init ==> 2
/init ==> 2
/etc/init ==> 2
/bin/init ==> 2
/bin/sh ==> 2
Kernel panic: No init found. Try passing init= option to kernel.
Rebooting in 180 seconds..
=========================================================
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
More information about the Linuxppc-embedded
mailing list