Hi all, I've purchased recently a micro2440 module and SDK board. After perform some testing with the board several weeks, no I'm trying to boot linux with NFS rootfs and busybox 1.19.4 but I'm having problems with the init process. My bootargs are next: bootargs=console=ttySAC0,115200 noinitrd init=/sbin/init mini2440=0tb root=/dev/nfs rw nfsroot=A.B.C.2:rootfs_path ip=A.B.C.3:A.B.C.2::255.255.255.0:mini2440=0tb:eth0:off (NOTE: I wrote A.B.C. and rootfs_path so I don't want to specify my private LAN addreses, nor my filesystem structure ;) Now the last output on the console is next: VFS: Mounted root (nfs filesystem) on device 0:11. Freeing init memory: 164K Warning: unable to open an initial console. nfs: server A.B.C.2 not responding, still trying My rootfs includes all the devices needed, created with mknod command, in order to boot linux and get the console, but I ever get the "unable to open initial console" message. The rootfs /dev directory listing is next: crw-rw-rw-. 1 root root 5, 1 jun 7 16:52 console crw-rw-rw-. 1 root root 1, 3 jun 4 13:08 null crw-rw-rw-. 1 root root 4, 0 jun 4 13:07 tty crw-rw-rw-. 1 root root 4, 0 jun 4 13:07 tty0 crw-rw-rw-. 1 root root 4, 1 jun 4 13:07 tty1 crw-rw-rw-. 1 root root 4, 2 jun 4 13:08 tty2 crw-rw-rw-. 1 root root 4, 3 jun 4 13:08 tty3 crw-rw-rw-. 1 root root 4, 4 jun 4 13:08 tty4 crw-rw-rw-. 1 root root 204, 64 jun 4 13:08 ttySAC0 crw-rw-rw-. 1 root root 204, 65 jun 4 13:09 ttySAC1 crw-rw-rw-. 1 root root 204, 66 jun 4 13:09 ttySAC2 And the /etc/inittab file includes the next line: ttySAC0::respawn:/sbin/getty -L ttySAC0 115200 vt100 # GENERIC_SERIAL Anyone could help me to find what the problem is? Thank you in advance Juan
Problem with init process
Try adding to /etc/inittab ::respawn:sbin/getty -L 9600 tty1 vt100 There might be some stuff you have to enable in the kernel; Device Drivers ---> Character devices ---> [*] Virtual terminal [*] Enable character translations in console [*] Support for console on virtual terminal NFS problem. Have you got the /etc/exports file set up correctly on the host? Have a look in /var/log/syslog
Hi Dave, Thank You very much for your quick answer. The kernel I'm using for is downloaded from FriendlyARM resources, the version is: 2.6.32.2. I've tried with the binaries from the DVD, also with my own compiled binaries with same result. So, I've compiled again the kernel adding the next options: # # Character devices # CONFIG_VT=y CONFIG_CONSOLE_TRANSLATIONS=y CONFIG_VT_CONSOLE=y CONFIG_HW_CONSOLE=y CONFIG_VT_HW_CONSOLE_BINDING=y <-- this is the only one change applied # CONFIG_DEVKMEM is not set CONFIG_MINI2440_HELLO_MODULE=y <-- this is because I don't compile modules CONFIG_LEDS_MINI2440=y CONFIG_MINI2440_BUTTONS=y CONFIG_MINI2440_BUZZER=y CONFIG_MINI2440_ADC=y # CONFIG_SERIAL_NONSTANDARD is not set And with the change proposed to inittab as follows: ttySAC0::respawn:/sbin/getty -L ttySAC0 115200 vt100 # GENERIC_SERIAL tty1::respawn:sbin/getty -L 9600 tty1 vt100 But I've got no positive result... and I'm absolutely blocked by this issue. Thanks again and Best Regards Juan
>Warning: unable to open an initial console. I assume you searched for this error on this site. It has come up quite often. Do you still get your NFS error OR did you track that one down?
Hi again, Yes, I've readed a lot, here and in other websites, before I made the post. About the log of my NFS server, here it is the last output: Jun 8 15:39:11 host xinetd[1363]: START: tftp pid=15271 from=192.168.100.3 Jun 8 15:39:22 AMD64x2 rpc.mountd[1553]: authenticated mount request from 192.168.100.3:887 for "rootfs_path" ("rootfs_path") Jun 8 15:44:41 host rpc.mountd[1553]: authenticated mount request from 192.168.100.3:691 for "rootfs_path" ("rootfs_path") NOTE: again I've modified sensible data (to me) as hostname and path.
It looks like the NFS side is working OK. Do you still get the two messages: > Warning: unable to open an initial console. > nfs: server A.B.C.2 not responding, still trying This was the thread that was near the top of my memory bank: http://www.friendlyarm.net/forum/topic/3822 Sorry, I don't recall having to face this particular problem. micro2440 with 0tb. This means you are running the 3.5" NEC touchscreen? I assume you had a working platform which could operate off NAND. Have you ever tried using an SD card for kernel and root filesystem? How about posting your entire bootup messages
Hi, I've read before the message you posted yesterday. About your comment there, I can say to you that I've compiled kernel and busybox with the same toolchain. About the touchscreen, I haven't purchased it. I attach a text file with the boot log. Regards Juan
Juan, Attached find my NFS boot log. A few things I would focus on: 0tb, means the 3.5"NEC touchscreen. Try just leave it blank, mini2440= mtd: partition "root" extends beyond the end of device "NAND 128MiB 3,3V 8-bit" -- size truncated to 0x7aa0000 0x000000000000-0x000040000000 : "nand" mtd: partition "nand" extends beyond the end of device "NAND 128MiB 3,3V 8-bit" -- size truncated to 0x8000000 dm9000 Ethernet Driver, V1.31 I have seen this message in previous threads on here, see if they were resolved and/or are important. > Warning: unable to open an initial console. > nfs: server A.B.C.D not responding, still trying I wonder if the first warning is because NFS in not working or maybe it is expecting a local console and you are not providing one. The virtual terminal stuff, I think is only needed when you want to run the touchscreen. Maybe, try removing that from your kernel configuration. You are attaching a heap of USB devices!! How big is your kernel? We need an expert here!
Hi Dave, Thank you for your help and quick responses. I tried to boot without the mini2440=0tb option and got the same error. About the mtd message and the VT kernel option, I'll continue this afternoon, maybe tomorrow, and will post the results here as soon as possible. And yes, I think that the USB drivers could be checked off to get a smaller vmlinux... in fact, I didn't pay attention on them before. Regards Juan
Hi again, I've made some changes to the .config file of the kernel, that was practically a copy of the one provided with the board, and added sysfs support so wasn't provided. The result continue to be the same. On the other hand, I've take a look at the mtd message in the forum, and others, and my conclussion is that has no importance. In fact, I've deleted the root partition and added it again with mtdparts command, and the message still appears on the boot log. The meaning of the mtd message is that the partition is considered to be greater, I don't know why, but it is detected the real capacity and is truncated to accommodate the size to the real one. I'll continue struggling... Thank you & Regards Juan
> I assume you had a working platform which could operate off NAND. Have > you ever tried using an SD card for kernel and root filesystem? Let's check a few things . . . how big is the flash and does Supervivi support NFS? > Have you got the /etc/exports file set up correctly on the host? Maybe, post what you have in this file on the host. > I've deleted the root partition and added it again with mtdparts command Is that selection [s] in Supervivi? Never used it. Still struggling too!
I'm sorry, as you say I forgot to post some info asked for. The /etc/exports contains the next options: rootfs *(rw,fsid=0,no_subtree_check,sync,no_root_squash) The flash has 128 MB capacity, supervivi has no NFS support and I'm working with u-boot: U-Boot 1.3.2-mini2440 (May 30 2012 - 17:33:06) I2C: ready DRAM: 64 MB NOR Flash not found. Use hardware switch and 'flinit Flash: 0 kB NAND: 128 MiB Found Environment offset in OOB USB: S3C2410 USB Deviced In: serial Out: serial Err: serial
u-boot and trying to load a YAFFS2 filesystem according to your bootlog.txt My understanding is that that doesn't work. Supervivi = YAFFS2 u-boot = JFFS2 My NFS doesn't have the fsid=0 in it, if it makes any difference.
Well, You say that the problem is the mtd partition so it is YAFFS2, but I've deleted and recreated it with u-boot, so it must be empty or to be JFFS2... and the inittab does not mount mtd partitions. As far as you say, a possible solution will be to avoid that the kernel try to mount the mtd partitions in any way... The other one is to make a JFFS2 image with the rootfs, copy it to the NAND and work in this way... but I need more a flexible development environtment, like NFS partition. Well, in that case then I'll try again to compile a 3.0 kernel with JFFS2 support, but I had another problem with it that was the reason to use the 2.6.32 from FriendlyARM. This is another history, but the problem I had with the 3.0 kernel is that I was unable to compile with NFS support, so the make command does not show the kernel configuration options with menuconfig option, although they are included in the fs/nfs/Kconfig, and I can't compile with manually generated/edited .config file so ever is overwritten by the one generated by make menuconfig... and I'm not an expert editing Kconfig files to fix this. Regards Juan
About the problem with CONFIG_NFS_FS and kernel 3.0. I forgot to mention that, of course, the options required by NFS: CONFIG_NETWORK_FS=y, CONFIG_INET=y and CONFIG_FILE_LOCKING=n are selected.
With reference to the thread of 2012-06-14 10:32:06 did you just change to u-boot at that time? If so, then my comment: > u-boot and trying to load a YAFFS2 filesystem according to your bootlog.txt is not valid. Because I did not see a bootlog from you using u-boot. I don't know if it is the way the bootloader mounts the partitions that dictates what type of filesystem image that you have to use, but: u-boot requires a uImage which is JFFS2 and Supervivi requires a zImage which is YAFFS2 You can convert a default zImage to a uImage by: # sudo ./uboot/mini2440/tools/mkimage –A arm –O linux -T kernel -C none –a 0x30008000 –e 0x30008000 -d kernel-bin/arch/arm/boot/zImage output/uImage for a 64M machine, maybe the others as well. > As far as you say, a possible solution will be to avoid that the kernel > try to mount the mtd partitions in any way... I don't think I am trying to say that! > but I need more a flexible development > environtment, like NFS partition. NFS partition? As far as I am aware all you need is a NFS capable bootloader in NAND and the rest of NAND can hold another kernel and root filesystem, if you want. Or be empty. First step, have a look at this: http://billforums.station51.net/viewtopic.php?f=1&t=17 Next, your comment about your kernel 3.0 not supporting NFS needs to be addressed. Do you realise that you are in for a lot of work to get the mainline kernels to work on the mini2440? Are you aware of the offerings from Pengutronix? Maybe, reading the Quickstart guide and the section on NFS might help.
> With reference to the thread of 2012-06-14 10:32:06 did you just change to u-boot at that time? I'm using u-boot since the begining of my tests with compiled kernel instead of the one precharged on the board. > You can convert a default zImage to a uImage by: # sudo ./uboot/mini2440/tools/mkimage –A arm –O linux -T kernel -C none –a 0x30008000 –e 0x30008000 -d kernel-bin/arch/arm/boot/zImage output/uImage Yes, I do. > Do you realise that you are in for a lot of work to get the mainline kernels to work on the mini2440? Yes, but the mini2440 platform is included as an option while configuring the kernel. As you can see in the attached document, at this moment I'm capable of booting an uImage, but without NFS support I can't start the system. > Are you aware of the offerings from Pengutronix? No, I will take a look. Thanks again Juan
I guess I must have come to the wrong conclusion when I saw the word <yaffs> in your posted boot message. I haven't seen that word in my boot messages for the last 12 months or more. > Yes, but the mini2440 platform is included as an option while configuring > the kernel. Perhaps, without all the patches to get it to work properly. Haven't checked mainline kernels for a year or so. Away for the next two days, so good luck!
Good morning, I'm proud to say that, finally, I've compiled and made work, over my micro2440 SDK board, a mainline kernel 3.0 compiled with Crosstool NG 1.12 and glibc 2.9. My problem with NFS was solved after some cheking at the Kconfig file in the folder fs/nfs/ of the kernel tree and selecting CONFIG_FIE_LOCKING=y, instead of CONFIG_FIE_LOCKING=n, as I read before in the documentation. The kernel compiled OK, with several patches applied by myself before to solve some compile errors, and started with NFS root file system. I attach the boot log. When I have a little of free time, I will make and post a little howto. Thanks a lot to Dave for his support Juan
Glad you got there in the end. Checked my kernel config and CONFIG_FIE_LOCKING=y as well. Thanks to Pengutronix!