On 05/10/2012 03:26 PM, aubin.rebil...@free.fr wrote: > Hello, > > I am trying to port Xenomai on the TS-7553 SBC from Technologic systems, based on the ECONA CNS2132 (STAR8132) from Cavium networks (250 MHz arm922t). > A Linux kernel is available for this board, version 2.6.24.4, which > is running fine. > I patched this kernel with adeos-ipipe-2.6.24-arm-1.9-01.patch and I implemented all the IPIPE code for the CNS2132 and everything is compiling and booting fine. > > Therefore, I applied the procedure to add the Xenomai nucleus > (version 2.5.6) to my IPIPE patched kernel: > >> prepare_kernel.sh --arch=arm --linux=../linux-2.6.24.4 make >> O=../build_root ts7500_defconfig make O=../build_root bzImage >> modules > > And everything is compiling fine (Just an error due to the non-existence of the phy_addr_t type in 2.6.24 kernel which is easy to fix). > > Also, This board does not support standard bootloaders (GRUB, > U-BOOT, …), it uses a specific one (TS-BOOTROM) developed by the board manufacturer. > The bootloader is quite simple, it initialises some hardware and > loads the kernel and initrd into ram before jumping on the kernel code. > Then after the kernel boot, an initialisation script in the initrd mounts a debian partition, executes pivot_root on it and launches the debian init program. > Due to this boot process to have a debian environment, I preferred > to have a fine running kernel with Xenomai before adding any user space support. > > My problem is that during the initialisation script in the initrd > the kernel hangs and only if Xenomai is enabled in the kernel configuration. Without Xenomai, the kernel is booting to debian correctly. > > Could it be because of the lack of user space support ? It does not > seem likely because if Xenomai crashes a log should be printed. Am I wrong ? > > Could it be because of the initrd ? Do I need a xenomai specific > initrd ? I did not see anything about initrd and xenomai anywhere so > I assume that the answers are ''no''. Am I wrong ? > > In my tests, I disabled the pivot_root call in the init script but > it does not change anything. > > Nevertheless, here is the boot log : > > [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total > pages: 16256 > [ 0.000000] Kernel command line: root=/dev/ram0 init=/linuxrc console=null > lpj=958464 > (...) > [ 0.560000] Warning: unable to open an initial console. > > As you can see no problem is reported at all. > > Does anyone have an idea about what may go wrong ?
root=/dev/ram0 means that you are using an initrd, which has been deprecated for many years. "unable to open an initial console" means that you will not get further output from the kernel. The kernel looks for the "/dev/null" file, but does not seem to find it. But even if it found it, it would probably stop outputting anything. So, I suggest you use whatever serial port is outputting these messages to see further output messages. Using console=ttyS0,115200 as a kernel parameter for instance. If the kernel mysteriously fails when running init, you have to pay attention at the kernel OABI/EABI settings. To know if the issue is really related to xenomai, try disabling CONFIG_IPIPE and CONFIG_XENOMAI starting from the failing kernel configuration, and see if booting still fails. If it still fails, then your issue is likely not related to Xenomai or the I-pipe patch. Another trick is to use an NFS mounted root filesystem, this way, by capturing the network traffic with wireshark, you can see in details what accesses the board does to the filesystem, and what fails. -- Gilles. _______________________________________________ Xenomai-help mailing list Xenomai-help@gna.org https://mail.gna.org/listinfo/xenomai-help