Oh, sorry, after ran more than 10 days, the qemu crashed :-( After checked the output log, and compare with the original log, we know we have finished more than 90% test, and it is OK (no any new issues). I guess the reason is I started too many other things on this machine.
Next, I shall try to analyze "the cross compiled Linux kernel will run in dead lock" issue. After finish analyzing, I shall restart the test. I guess it needs 12-13 days (more than a week -- I originally expected). Thanks. On 11/9/14 21:15, Chen Gang wrote: > > At present, I use simplified sshd, ssh and scp (dropbear open source > program) to communicate with microblaze qemu successfully, and let gcc > 'make check' have real effect. > > It is just testing, at least after almost 10 hours, the log output is > OK. For each ssh login, it will wast 10 - 20 seconds, so I guess, the > "make check" may run a week!! The recent operations is below: > > - zlib (for dropbear): > > export CHOST=microblaze-gchen-linux > export PATH=/upstream/release/bin:$PATH > ./configure --prefix=/upstream/release && make && make install > > - dropbear (it is a simple sshd, ssh and scp): > > export PATH=/upstream/release/bin:$PATH > ./configure --prefix=/upstream/release \ > --host=microblaze-gchen-linux \ > CC=microblaze-gchen-linux-gcc > > modify /ustream/release/include/stdio.h to avoid redefining sscanf to > iso99_sscanf > > link libz.a (static lib) to 'dropbear' (sshd) and 'dbclient' (ssh). > and "make scp" to generate 'scp' command. > > for supporting 'none' username: > > under ramfs, "echo 'none:x:0:0:none:/:/bin/sh' > ./etc/passwd" > > for supporting no passwords (it is temporary fix): > > modify common-session.c: "ses.authstate.pw_passwd[0] = '\0';" > > put 'dropbear', 'dbclient' and 'scp' to "./sbin" of ramfs and symbol > links to "./usr/bin" of ramfs. > > for temporary fix its stable issue, need modify code to let it 'fork' > as soon as startup, and only permit one child connection each time. > > usage: > > in microblaze qemu: > > "/sbin/dropbear -F -E -B -p 192.168.122.2:22" > > in host (x86_64), use system scp and ssh is OK (without password): > > ssh none@192.168.122.2 "cd /test; ./test" > scp test.c none@192.168.122.2:/test/ > scp none@192.168.122.2:/test/* ./ > > - For dejagnu: > > need `echo "192.168.122.2 microblaze-xilinx-gdb" >> /etc/hosts` > under /usr/local/share/dejagnu/*, use ssh/scp instead of rsh/rcp. > (need replace all, or will cause failure during make check). > for "/usr/local/share/dejagnu/baseboards/microblaze-xilinx-gdb.exp", > need add additional variables: > > set_board_info sockethost "192.168.122.2" > set_board_info username none > set timeout 600 > > Current left issues are: > > - Linux kernel built by current upstream microblaze toolchain will be > dead lock. I shall analyze it (I guess it may be kernel self issue, > which may caused by "include/compiler-gcc5.h"). > > - One patch for qemu microblaze dtb file, just checking by related > members (originally I though it was kernel issue, but after > communicate with kernel members, it is more suitable to change qemu). > > - One or more issues for dropbear (at least include stable issues), and > one or more issues for glibc. Sorry for I have to bypass them, since > I have no enough time resource on it. > > > Welcome any ideas, suggestions or completions. > > Thanks. > > > On 11/01/2014 01:07 AM, Chen Gang wrote: >> >> At present, I use telnet (without password), login to microblaze qemu >> successfully! :-) >> >> - I compile busy box with the glibc in orginal 'ramfs', so get telnetd: >> use new busybox replace the old one, and add symbol link 'telnetd' to >> busybox in "/bin". >> >> - configure qemu with network support (device "xlnx.xps-ethernetlite"). >> >> yum install libvirt >> yum install tunctl >> tunctl -b >> ip link set tap0 up >> brctl addif virbr0 tap0 >> ./microblaze-softmmu/qemu-system-microblaze -M petalogix-s3adsp1800 \ >> -kernel ../linux-stable.microblaze/arch/microblaze/boot/linux.bin \ >> -no-reboot -append "console=ttyUL0,115200 doreboot" -nographic \ >> -net nic,vlan=0,model=xlnx.xps-ethernetlite,macaddr=00:16:35:AF:94:00 \ >> -net tap,vlan=0,ifname=tap0,script=no,downscript=no >> >> - fix a kernel bug: add "xlnx,xps-ethernetlite-2.00.b" for compatible >> with its firmware (can find it under "/sys/firmware..../compatible", >> within microblaze qemu bash environments). Related diff: >> >> diff --git a/drivers/net/ethernet/xilinx/xilinx_emaclite.c >> b/drivers/net/ethernet/xilinx/xilinx_emaclite.c >> index 28dbbdc..298fad3 100644 >> --- a/drivers/net/ethernet/xilinx/xilinx_emaclite.c >> +++ b/drivers/net/ethernet/xilinx/xilinx_emaclite.c >> @@ -1236,6 +1236,7 @@ static struct of_device_id xemaclite_of_match[] = { >> { .compatible = "xlnx,opb-ethernetlite-1.01.b", }, >> { .compatible = "xlnx,xps-ethernetlite-1.00.a", }, >> { .compatible = "xlnx,xps-ethernetlite-2.00.a", }, >> + { .compatible = "xlnx,xps-ethernetlite-2.00.b", }, >> { .compatible = "xlnx,xps-ethernetlite-2.01.a", }, >> { .compatible = "xlnx,xps-ethernetlite-3.00.a", }, >> { /* end of list */ }, >> >> Next, I shall send related kernel patch for upstream kernel, and continue >> for microbaze DejaGNU with microbaze qemu, and sorry again, I did not >> finish it within this month. >> >> >> Thanks. >> >> >> On 10/30/14 22:04, Chen Gang wrote: >>> On 10/29/14 23:58, Chen Gang wrote: >>>> On 10/27/14 9:42, Chen Gang wrote: >>>>> On 10/27/14 2:22, Michael Eager wrote: >>>>>> >>>>>> Microblaze-sim provides basic instruction set architecture and memory >>>>>> simulation. >>>>>> There is no operating system support. (It's also quite old. I'm not >>>>>> sure >>>>>> which version of the MB architecture it models, but it is not recent.) >>>>>> >>>>>> Microblaze-sim is not a full system simulator, like QEMU. To be able to >>>>>> run a program which requires glibc, you need to be able to boot a full >>>>>> Linux >>>>>> image on the simulator, which microblaze-sim cannot do. QEMU models an >>>>>> entire processor and can boot a Linux image. >>>>>> >>>> >>>> At present, run upstream qemu 2.1.2 and upstream Linux kernel 3.17-rc7 >>>> with simple ramfs successfully. Via modify ramfs, can run hello world >>>> program with static glibc (built by upstream mc_gcc), successfully. >>>> >>> >>> After copy the ramfs' "/lib" and "/usr/lib" to outside, build the hello >>> world program again with the dynamic glibc, then put it to ramfs. The >>> hello world program with dynamic glibc can run correctly inside qemu :-) >>> >>> Next, I need focus on networking (I have found qemu related device, and >>> kernel related device, and I also know, it needs telnetd in busy box). >>> But sorry, it seems I can not finish within this month :-( >>> >>> - I wasted much time resources on choosing qemu or sim, next I should >>> notice about it (do not waste time, again). >>> >>> - and another excuse is: I have to do it in my free time (within 2.5 >>> hours per day, in average). My current job is not related with it >>> (at present, it is about Global Platform Java applet for iPhone OS). >>> >>> Next month: >>> >>> - I should finish microblaze qemu test under DejaGNU, should finish >>> within next month (2014-11-30). >>> >>> - I also shall start tile cross compiling for gcc/binutils, and use it >>> to Linux kernel, and test it with qemu. I shall try to finish them >>> within 2 months (finish before 2014-12-31). >>> >>> - At least, finish 1 patch for gcc, 1 patch for binutils, 1 patch for >>> qemu/kvm/xen, 3 patches for kernel, within next month (2014-11-30). >>> >>> >>> Welcome any ideas, suggestions or completions. >>> >>> Thanks. >>> >>>> - For ramfs: >>>> >>>> wget >>>> http://www.wiki.xilinx.com/file/view/microblaze_complete.cpio.gz/419243588/microblaze_complete.cpio.gz >>>> >>>> - Related qemu command: >>>> >>>> ./microblaze-softmmu/qemu-system-microblaze -M petalogix-s3adsp1800 \ >>>> -kernel ../linux-stable.microblaze/arch/microblaze/boot/linux.bin \ >>>> -no-reboot -append "console=ttyUL0,115200 doreboot" -nographic >>>> >>>> Next, I shall try to let our gdb and DejaGNU work for it: >>>> >>>> - How to let qemu support network and rsh (ramfs need telnetd, kernel >>>> may need related driver, and qemu related hardware need be tested). >>>> >>>> - Let gdb work for it, then config DejaGNU (need we test the program >>>> with dynamic glib, it will be fail now for not match glibc version >>>> in ramfs). >>>> >>>> - At last, run our test. >>>> >>>> It seems, still many things need trying. Welcome any ideas, suggestions, >>>> and completions for it (especially for ramfs network and/or glibc, and >>>> DejaGNU configuration ...). >>>> >>>> >>>> Thanks. >>>> >>>>> >>>>> OK, thank you very much, I shall rewind to qemu, and should try my best >>>>> to finish within within this month. >>>>> >>>>> >>>> >>>> >>>> Thanks >>>> >>> >> > > -- Chen Gang Open, share, and attitude like air, water, and life which God blessed