Forum Discussion
nios2 with nommu of the test-nios2 branch booting trapped with the ghost
Oh on fire, who can help me, man?
this is the boot info below,in my custom Cyclone II board for nios2, I thought I have meet a ghost. [NiosII EDS]$ nios2-download -g zImage Using cable "USB-Blaster [USB-0]", device 1, instance 0x00 Pausing target processor: OK Initializing CPU cache (if present) OK Downloaded 570KB in 13.1s (43.5KB/s) Verified OK Starting processor at address 0x02500000 /cygdrive/d/..../image [NiosII EDS]$ nios2-terminal nios2-terminal: connected to hardware target using JTAG UART on cable nios2-terminal: "USB-Blaster [USB-0]", device 1, instance 0 nios2-terminal: Warning: The JTAG cable you are using is not supported for Nios nios2-terminal: II systems. You may experience intermittent JTAG communication nios2-terminal: failures with this cable. Please use a USB Blaster revision B nios2-terminal: cable or another supported cable. Please refer to the file nios2-terminal: errata.txt included in the Nios II development kit documents nios2-terminal: directory for more information. nios2-terminal: (Use the IDE stop button or Ctrl-C to terminate) Uncompressing Linux... Ok, booting the kernel. I did not know whether I got the success to boot the kernel. Because I have cut off the network module. How do I to debug the kernel when it start , any advice? any tools ?any recommended? are OK.Many thanks for the cool man.22 Replies
- Altera_Forum
Honored Contributor
--- Quote Start --- nios2-linux-uclibc-gcc -O2 -g -fno-builtin -DCONFIG_USER_SASH_PS -DCOMMAND_HISTORY -I../ -DL_copyfile -o copyfile.o -c utils.c nios2-linux-uclibc-ar rv libsash.a copyfile.o a - copyfile.o nios2-linux-uclibc-gcc -O2 -g -fno-builtin -DCONFIG_USER_SASH_PS -DCOMMAND_HISTORY -I../ -DL_buildname -o buildname.o -c utils.c nios2-linux-uclibc-ar rv libsash.a buildname.o a - buildname.o nios2-linux-uclibc-gcc -O2 -g -fno-builtin -DCONFIG_USER_SASH_PS -DCOMMAND_HISTORY -I../ -DL_expandwildcards -o expandwildcards.o -c utils.c nios2-linux-uclibc-ar rv libsash.a expandwildcards.o a - expandwildcards.o nios2-linux-uclibc-gcc -O2 -g -fno-builtin -DCONFIG_USER_SASH_PS -DCOMMAND_HISTORY -I../ -DL_namesort -o namesort.o -c utils.c nios2-linux-uclibc-ar rv libsash.a namesort.o a - namesort.o nios2-linux-uclibc-gcc -O2 -g -fno-builtin -DCONFIG_USER_SASH_PS -DCOMMAND_HISTORY -I../ -DL_match -o match.o -c utils.c nios2-linux-uclibc-ar rv libsash.a match.o a - match.o nios2-linux-uclibc-gcc -O2 -g -fno-builtin -DCONFIG_USER_SASH_PS -DCOMMAND_HISTORY -I../ -DL_makeargs -o makeargs.o -c utils.c nios2-linux-uclibc-ar rv libsash.a makeargs.o a - makeargs.o nios2-linux-uclibc-gcc -O2 -g -fno-builtin -DCONFIG_USER_SASH_PS -DCOMMAND_HISTORY -I../ -DL_makestring -o makestring.o -c utils.c nios2-linux-uclibc-ar rv libsash.a makestring.o a - makestring.o nios2-linux-uclibc-gcc -O2 -g -fno-builtin -DCONFIG_USER_SASH_PS -DCOMMAND_HISTORY -I../ -DL_chunks -o chunks.o -c utils.c nios2-linux-uclibc-ar rv libsash.a chunks.o a - chunks.o nios2-linux-uclibc-gcc -O2 -g -fno-builtin -DCONFIG_USER_SASH_PS -DCOMMAND_HISTORY -I../ -DL_expandenvvar -o expandenvvar.o -c utils.c nios2-linux-uclibc-ar rv libsash.a expandenvvar.o a - expandenvvar.o nios2-linux-uclibc-ranlib libsash.a make[4]: Leaving directory `/home/matt/nios2-linux/uClinux-dist/user/sash/libsash' nios2-linux-uclibc-gcc -Wl,-d -Wl,-elf2flt -L/home/matt/nios2-linux/uClinux-dist/staging/usr/lib -o sh sash.o cmds.o cmd_uclinux.o ls.o hexdump.o df.o free.o hostname.o date.o ps.o libsash/libsash.a make[3]: Leaving directory `/home/matt/nios2-linux/uClinux-dist/user/sash' make[2]: Leaving directory `/home/matt/nios2-linux/uClinux-dist/user' make[1]: Leaving directory `/home/matt/nios2-linux/uClinux-dist/user' rm -f /home/matt/nios2-linux/uClinux-dist/images/romfs-inst.log for dir in vendors lib user ; do [ ! -d $dir ] || make ARCH=nios2 -C $dir romfs || exit 1 ; done make[1]: Entering directory `/home/matt/nios2-linux/uClinux-dist/vendors' make -C /home/matt/nios2-linux/uClinux-dist/vendors/Altera/nios2/. dir_v=/home/matt/nios2-linux/uClinux-dist/vendors/Altera/nios2/. -f /home/matt/nios2-linux/uClinux-dist/vendors/vendors-common.mak romfs make[2]: Entering directory `/home/matt/nios2-linux/uClinux-dist/vendors/Altera/nios2' [ -d /home/matt/nios2-linux/uClinux-dist/romfs/$i ] || mkdir -p /home/matt/nios2-linux/uClinux-dist/romfs for i in bin sbin dev etc home lib mnt proc usr var sys tmp etc/config etc/default etc/dhcpc home/ftp home/httpd home/httpd/cgi-bin usr/bin usr/sbin usr/share /usr/share/udhcpc; do [ -d /home/matt/nios2-linux/uClinux-dist/romfs/$i ] || mkdir -p /home/matt/nios2-linux/uClinux-dist/romfs/$i; done chmod 777 /home/matt/nios2-linux/uClinux-dist/romfs/tmp chmod 777 /home/matt/nios2-linux/uClinux-dist/romfs/home/ftp romfs-inst.sh ../../Generic/romfs / 24 blocks romfs-inst.sh -s /bin/init /init romfs-inst.sh /etc/inittab romfs-inst.sh /etc/rc romfs-inst.sh /etc/TZ romfs-inst.sh /etc/passwd romfs-inst.sh /etc/group romfs-inst.sh /etc/hosts romfs-inst.sh /etc/host.conf romfs-inst.sh /etc/ftpwelcome romfs-inst.sh /etc/ftpusers romfs-inst.sh -o -d /etc/boa/boa.conf romfs-inst.sh -o -d /home/httpd/favicon.ico romfs-inst.sh /etc/mime.types romfs-inst.sh /usr/share/udhcpc/default.script chmod 777 /home/matt/nios2-linux/uClinux-dist/romfs/usr/share/udhcpc/default.script echo "Altera/nios2 Version 3.2.0 -- " `date` > /home/matt/nios2-linux/uClinux-dist/romfs/etc/version make[2]: Leaving directory `/home/matt/nios2-linux/uClinux-dist/vendors/Altera/nios2' make[1]: Leaving directory `/home/matt/nios2-linux/uClinux-dist/vendors' make[1]: Entering directory `/home/matt/nios2-linux/uClinux-dist/lib' for i in ; do [ ! -d $i ] || make -C $i romfs || exit $? ; done make[1]: Leaving directory `/home/matt/nios2-linux/uClinux-dist/lib' make[1]: Entering directory `/home/matt/nios2-linux/uClinux-dist/user' for i in games init sash /home/matt/nios2-linux/uClinux-dist/prop ; do [ ! -d $i ] || make -C $i romfs || exit $? ; done make[2]: Entering directory `/home/matt/nios2-linux/uClinux-dist/user/games' for i in dummy ; do [ $i = dummy ] || make -C $i romfs || exit ; done make[2]: Leaving directory `/home/matt/nios2-linux/uClinux-dist/user/games' make[2]: Entering directory `/home/matt/nios2-linux/uClinux-dist/user/init' romfs-inst.sh -e CONFIG_USER_INIT_EXPAND /bin/expand romfs-inst.sh -e CONFIG_USER_INIT_INIT /bin/init romfs-inst.sh -e CONFIG_USER_INIT_INIT -e CONFIG_USER_FACTORY_FACTTEST -a "facttest:unknown:/bin/facttest" /etc/inittab romfs-inst.sh -e CONFIG_USER_INIT_INIT -e CONFIG_USER_BUSYBOX_SYSLOGD -a "slog:unknown:/sbin/syslogd -n" /etc/inittab romfs-inst.sh -e CONFIG_USER_INIT_INIT -e CONFIG_USER_BUSYBOX_KLOGD -a "klog:unknown:/sbin/klogd -n" /etc/inittab make[2]: Leaving directory `/home/matt/nios2-linux/uClinux-dist/user/init' make[2]: Entering directory `/home/matt/nios2-linux/uClinux-dist/user/sash' romfs-inst.sh -e CONFIG_USER_SASH_SH /bin/sh romfs-inst.sh -e CONFIG_USER_SASH_REBOOT /bin/reboot romfs-inst.sh -e CONFIG_USER_SASH_SHUTDOWN /bin/shutdown make[2]: Leaving directory `/home/matt/nios2-linux/uClinux-dist/user/sash' make[1]: Leaving directory `/home/matt/nios2-linux/uClinux-dist/user' . /home/matt/nios2-linux/uClinux-dist/linux-2.6.x/.config; . /home/matt/nios2-linux/uClinux-dist/config/.config; if [ "$CONFIG_MODULES" = "y" ]; then [ -d /home/matt/nios2-linux/uClinux-dist/romfs/lib/modules ] || mkdir -p /home/matt/nios2-linux/uClinux-dist/romfs/lib/modules; rm -f /home/matt/nios2-linux/uClinux-dist/romfs/lib/modules/modules.dep; make ARCH=nios2 CROSS_COMPILE=nios2-linux-uclibc- -C /home/matt/nios2-linux/uClinux-dist/../linux-2.6 O=/home/matt/nios2-linux/uClinux-dist/linux-2.6.x INSTALL_MOD_PATH=/home/matt/nios2-linux/uClinux-dist/romfs DEPMOD=true modules_install; rm -f /home/matt/nios2-linux/uClinux-dist/romfs/lib/modules/*/build; rm -f /home/matt/nios2-linux/uClinux-dist/romfs/lib/modules/*/source; find /home/matt/nios2-linux/uClinux-dist/romfs/lib/modules -type f -name "*o" | xargs nios2-linux-uclibc-strip -R .comment -R .note -g --strip-unneeded; env NM=nios2-linux-uclibc-nm /home/matt/nios2-linux/uClinux-dist/user/busybox/depmod.pl -P _ -b /home/matt/nios2-linux/uClinux-dist/romfs/lib/modules/ -k /home/matt/nios2-linux/uClinux-dist/linux-2.6.x/vmlinux; fi --- Quote End --- to be continued :D - Altera_Forum
Honored Contributor
--- Quote Start --- make ARCH=nios2 -C vendors romfs.post make[1]: Entering directory `/home/matt/nios2-linux/uClinux-dist/vendors' make -C /home/matt/nios2-linux/uClinux-dist/vendors/Altera/nios2/. dir_v=/home/matt/nios2-linux/uClinux-dist/vendors/Altera/nios2/. -f /home/matt/nios2-linux/uClinux-dist/vendors/vendors-common.mak romfs.post make[2]: Entering directory `/home/matt/nios2-linux/uClinux-dist/vendors/Altera/nios2' make[2]: Nothing to be done for `romfs.post'. make[2]: Leaving directory `/home/matt/nios2-linux/uClinux-dist/vendors/Altera/nios2' make[1]: Leaving directory `/home/matt/nios2-linux/uClinux-dist/vendors' find /home/matt/nios2-linux/uClinux-dist/romfs/. -name CVS | xargs -r rm -rf [ -d /home/matt/nios2-linux/uClinux-dist/images ] || mkdir /home/matt/nios2-linux/uClinux-dist/images make ARCH=nios2 -C vendors image make[1]: Entering directory `/home/matt/nios2-linux/uClinux-dist/vendors' make -C /home/matt/nios2-linux/uClinux-dist/vendors/Altera/nios2/. dir_v=/home/matt/nios2-linux/uClinux-dist/vendors/Altera/nios2/. -f /home/matt/nios2-linux/uClinux-dist/vendors/vendors-common.mak image make[2]: Entering directory `/home/matt/nios2-linux/uClinux-dist/vendors/Altera/nios2' [ -d /home/matt/nios2-linux/uClinux-dist/images ] || mkdir -p /home/matt/nios2-linux/uClinux-dist/images chmod -R +x /home/matt/nios2-linux/uClinux-dist/romfs/bin rm /home/matt/nios2-linux/uClinux-dist/linux-2.6.x/usr/initramfs_data.cpio.gz rm: cannot remove `/home/matt/nios2-linux/uClinux-dist/linux-2.6.x/usr/initramfs_data.cpio.gz': No such file or directory make[2]: [image] Error 1 (ignored) LDFLAGS="" make ARCH=nios2 CROSS_COMPILE=nios2-linux-uclibc- -C /home/matt/nios2-linux/uClinux-dist/../linux-2.6 O=/home/matt/nios2-linux/uClinux-dist/linux-2.6.x zImage make[3]: Entering directory `/home/matt/nios2-linux/linux-2.6' no emulation specific options. CHK include/asm-nios2/nios2.h perl -I/home/matt/nios2-linux/linux-2.6/arch/nios2/scripts /home/matt/nios2-linux/linux-2.6/arch/nios2/scripts/gen_nios2.h.pl cpu sdram < /home/matt/Desktop/nios_lcd.ptf > include/asm-nios2/nios2.h.tmp; if [ -r include/asm-nios2/nios2.h ] && cmp -s include/asm-nios2/nios2.h include/asm-nios2/nios2.h.tmp; then rm -f include/asm-nios2/nios2.h.tmp; else echo ' UPD include/asm-nios2/nios2.h'; mv -f include/asm-nios2/nios2.h.tmp include/asm-nios2/nios2.h; fi Using /home/matt/nios2-linux/linux-2.6 as source for kernel GEN /home/matt/nios2-linux/uClinux-dist/linux-2.6.x/Makefile CHK include/linux/version.h CHK include/linux/utsrelease.h SYMLINK include/asm -> include/asm-nios2 CALL /home/matt/nios2-linux/linux-2.6/scripts/checksyscalls.sh CHK include/linux/compile.h LD vmlinux.o MODPOST vmlinux.o WARNING: modpost: Found 2 section mismatch(es). To see full details build your kernel with: 'make CONFIG_DEBUG_SECTION_MISMATCH=y' GEN .version CHK include/linux/compile.h UPD include/linux/compile.h CC init/version.o LD init/built-in.o LD vmlinux SYSMAP System.map OBJCOPY arch/nios2/boot/vmlinux.bin GZIP arch/nios2/boot/vmlinux.gz LD arch/nios2/boot/compressed/piggy.o LD arch/nios2/boot/compressed/vmlinux OBJCOPY arch/nios2/boot/zImage Kernel: arch/nios2/boot/zImage is ready make[3]: Leaving directory `/home/matt/nios2-linux/linux-2.6' cp /home/matt/nios2-linux/uClinux-dist/linux-2.6.x/arch/nios2/boot/zImage /home/matt/nios2-linux/uClinux-dist/images/zImage make[2]: Leaving directory `/home/matt/nios2-linux/uClinux-dist/vendors/Altera/nios2' make[1]: Leaving directory `/home/matt/nios2-linux/uClinux-dist/vendors' matt@matt-desktop:~/nios2-linux/uClinux-dist$ matt@matt-desktop:~/nios2-linux/uClinux-dist$ --- Quote End --- to be finished. this is a terrific giant post I cite on the internet from my terminal - Altera_Forum
Honored Contributor
Above,Those were the prompt messages when I compile the kernel of the nios2. Although some warning or dismatched module appeared during the procedure, the zImage file formed yet in the directory of Image.
I try my best to miniaturize the kernel with the size of 409k showed in XP OS. Would any honest man like to help me analyze the problem? Thanks a lot in advance. - Altera_Forum
Honored Contributor
--- Quote Start --- to be continued :D --- Quote End --- Hopefully not ! -Michael - Altera_Forum
Honored Contributor
Oh, I see.
But characters were so many ,which I want to express my opinion. Is any good idea to save the space of the forum? Or I had better upload the message with attachment and to some special address in this forum? Sincerely, I really do not know how to deal with this long post. - Altera_Forum
Honored Contributor
--- Quote Start --- this is a terrific giant post I cite on the internet from my terminal --- Quote End --- Why not providing the huge text in an attachment ???? -Michael - Altera_Forum
Honored Contributor
OK no problem, mschnell, But at least being a Altera Guru, Can you help me solve the problem rather than telling me why not ....????
I promise that there is no another time to post this leviathan on the forum. - Altera_Forum
Honored Contributor
WARNING: vmlinux.o(.text+0x98): Section mismatch in reference from the variable data_flush to the function .init.text:start_kernel()
The function data_flush() references the function __init start_kernel(). This is often because data_flush lacks a __init annotation or the annotation of start_kernel is wrong. WARNING: vmlinux.o(.text+0x9c): Section mismatch in reference from the variable data_flush to the function .init.text:start_kernel() The function data_flush() references the function __init start_kernel(). This is often because data_flush lacks a __init annotation or the annotation of start_kernel is wrong. Maybe this is the problem that the kernel can not start up. But I don not know how to solve this. Can anyone help me ? Thanks a lot. - Altera_Forum
Honored Contributor
when we start to leran nios2,obviously, having differnt in understanding the system.so a best way is to reinstall nios2-linux.I have encountered other problems,what i do is reinstall or ./update.you can try it
- Altera_Forum
Honored Contributor
kernel crashed/hanged. It did happened to me two times.
1. when trying a example module ( I did some thing wrong which i don't know) 2. when i did not add a network device driver and enabled netwok I would try default settings once. If you are already using default, disable as many devices you can.