Comments (139)
On the mailing list you requested an example package to play with and I believe requested to move the discussions over to this issue.
Since your tools are based on it, let's start with Perl itself. We build Perl out of the repository at https://gitlab.com/minoca/third-party/tree/master/build/perl-5.20.1 . After running make in this directory, perl source is extracted to $SRCROOT/x86dbg/obj/third-party/perl-5.20.1.src and built. Inside of that directory should be a make target called either make test or make check (I can never remember).
Many of those tests pass, but some fail due to missing features. Let's start there.
from os.
Hi @evangreen ! I try to follow docs to build a third party packages, when try to build a perl only ( as building a whole takes a while ) I have this error:
melezhik@melezhik-pc:~/projects/minoca/third-party/build/perl-5.20.1$ make
Configuring perl-5.20.1
sh ./build.sh "/home/melezhik/projects/minoca/x86dbg/obj/third-party/perl-5.20.1.src" "/home/melezhik/projects/minoca/x86dbg/obj/third-party/perl-5.20.1.build" "/home/melezhik/projects/minoca/x86dbg/obj/third-party/perl-5.20.1.build/build.out" configure
Error: Perl cannot be cross compiled.
make: *** [/home/melezhik/projects/minoca/x86dbg/obj/third-party/perl-5.20.1.build/Makefile] Error 3
from os.
my setup is:
melezhik@melezhik-pc:~/projects/minoca/third-party/build/perl-5.20.1$ pwd
/home/melezhik/projects/minoca/third-party/build/perl-5.20.1
melezhik@melezhik-pc:~/projects/minoca/third-party/build/perl-5.20.1$ env | grep ARC
ARCH=x86
melezhik@melezhik-pc:~/projects/minoca/third-party/build/perl-5.20.1$ env | grep DEBUG
DEBUG=dbg
melezhik@melezhik-pc:~/projects/minoca/third-party/build/perl-5.20.1$ env | grep PATH
PATH=/home/melezhik/projects/minoca/x86dbg/tools/bin/:/home/melezhik/perl5/perlbrew/bin:/home/melezhik/perl5/perlbrew/perls/perl-5.25.6/bin:/home/melezhik/.rakudobrew/bin:/home/melezhik/.rakudobrew/moar-nom/install/share/perl6/site/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
from os.
looking at build.sh:
if test "x$BUILD_OS" != "xminoca"; then
echo "Error: Perl cannot be cross compiled."
exit 3
fi
My guess I need to build perl package on Minoca OS only?
from os.
ahh, see the point - from https://gitlab.com/minoca/third-party )))
"These packages cannot be cross compiled, and will be quietly skipped when running make. The only way to build every single package in this repository is to do it on Minoca OS. The majority of packages, however, can be cross compiled."
So I need to build on running minoca instance?
from os.
looks like I run out of disk space when doing git clone of https://gitlab.com/minoca/third-party.git on QEMU instance .... :(
from os.
ha! looks like
qemu-img resize -f raw pc.img 10GB
can solve my issue ...
from os.
@evangreen looks like cloning https://gitlab.com/minoca/third-party.git takes a while, can we optimize this? what is estimated size of the repository? it is getting very slow , you know ...
from os.
looks like resizing qemu image does not help me. every time I try to download or clone https://gitlab.com/minoca/third-party.git which is 790 MB I stumble on 'no disk space left on devise' even with 30 GB size qemu instance:
melezhik@melezhik-pc:~/minoca$ ls -lth pc.img
-rw-rw-r-- 1 melezhik melezhik 30G нояб. 3 17:50 pc.img
I can't even run df
to investigate the issue as core-utils are not available here ...
from os.
Yes, resizing the disk image won't help because the filesystem is still all set up for the original 512MB size. You can build a custom sized image by tweaking line 36 (MSETUP_IMAGE_SIZE) of images/Makefile. You could also examine how that Makefile runs msetup, and run it directly to create custom images.
Yes, agreed that third-party is quite large. Storing source tarballs in the repository clearly won't scale, we'll need a new solution for that. Perhaps hosting the tarballs somewhere like S3, and then just keeping diffs etc in the repository.
from os.
Ok, Evan. I will try to build a custom image with the large disk size and than will continue to build third party perl package on that running image and play with "make test" stuff and analyzing failing test cases , is to ok ? If this what you mean by original purpose of your task ? Just want to be on the same page with you ...
from os.
Yep, sounds great.
from os.
Hi Evan! I have built OS image but failed to run it via qemu. When I run this as:
qemu-system-x86_64 ../x86dbg/bin/pc.img
I only get green qemu screen without any prompt or shell.
Here is image info:
vagrant@Debian-jessie-amd64-netboot:~/minoca/os$ qemu-img info ../x86dbg/bin/pc.img
image: ../x86dbg/bin/pc.img
file format: raw
virtual size: 512M (536870912 bytes)
disk size: 12M
here is build log ( what I get when I run make
)
Entering Directory: /home/vagrant/minoca/os/lib
Entering Directory: /home/vagrant/minoca/os/lib/basevid
Compiling - fontdata.c
Compiling - textvid.c
Building Library - basevid.a
Leaving Directory: /home/vagrant/minoca/os/lib/basevid
Entering Directory: /home/vagrant/minoca/os/lib/bconflib
Entering Directory: /home/vagrant/minoca/os/lib/bconflib/build
Compiling - bconf.c
Building Library - bconflib.a
Leaving Directory: /home/vagrant/minoca/os/lib/bconflib/build
Compiling - bconf.c
Building Library - bconflib.a
Leaving Directory: /home/vagrant/minoca/os/lib/bconflib
Entering Directory: /home/vagrant/minoca/os/lib/rtl
Entering Directory: /home/vagrant/minoca/os/lib/rtl/base
Entering Directory: /home/vagrant/minoca/os/lib/rtl/base/boot
Compiling - intrinsc.c
Assembling - rtlarch.S
Assembling - rtlmem.S
Compiling - crc32.c
Compiling - heap.c
Compiling - heapprof.c
Compiling - math.c
Compiling - print.c
Compiling - rbtree.c
Compiling - scan.c
Compiling - string.c
Compiling - time.c
Compiling - timezone.c
Compiling - version.c
Compiling - wchar.c
Building Library - basertlb.a
Leaving Directory: /home/vagrant/minoca/os/lib/rtl/base/boot
Entering Directory: /home/vagrant/minoca/os/lib/rtl/base/build
Assembling - rtlarch.S
Assembling - rtlmem.S
Compiling - crc32.c
Compiling - heap.c
Compiling - heapprof.c
Compiling - math.c
Compiling - print.c
Compiling - rbtree.c
Compiling - scan.c
Compiling - string.c
Compiling - time.c
Compiling - timezone.c
Compiling - version.c
Compiling - wchar.c
Compiling - wprint.c
Compiling - wscan.c
Compiling - wstring.c
Compiling - wtime.c
Compiling - fp2int.c
Compiling - softfp.c
Building Library - basertl.a
Leaving Directory: /home/vagrant/minoca/os/lib/rtl/base/build
Entering Directory: /home/vagrant/minoca/os/lib/rtl/base/intrins
Compiling - intrinsc.c
Building Library - intrins.a
Leaving Directory: /home/vagrant/minoca/os/lib/rtl/base/intrins
Entering Directory: /home/vagrant/minoca/os/lib/rtl/base/wide
Compiling - wprint.c
Compiling - wscan.c
Compiling - wstring.c
Compiling - wtime.c
Building Library - basertlw.a
Leaving Directory: /home/vagrant/minoca/os/lib/rtl/base/wide
Compiling - intrinsc.c
Assembling - rtlarch.S
Assembling - rtlmem.S
Compiling - crc32.c
Compiling - heap.c
Compiling - heapprof.c
Compiling - math.c
Compiling - print.c
Compiling - rbtree.c
Compiling - scan.c
Compiling - string.c
Compiling - time.c
Compiling - timezone.c
Compiling - version.c
Compiling - wchar.c
Building Library - basertl.a
Leaving Directory: /home/vagrant/minoca/os/lib/rtl/base
Entering Directory: /home/vagrant/minoca/os/lib/rtl/kmode
Compiling - assert.c
Compiling - kprint.c
Building Library - krtl.a
Leaving Directory: /home/vagrant/minoca/os/lib/rtl/kmode
Entering Directory: /home/vagrant/minoca/os/lib/rtl/rtlc
Entering Directory: /home/vagrant/minoca/os/lib/rtl/rtlc/build
Compiling - stubs.c
Building Library - rtlc.a
Leaving Directory: /home/vagrant/minoca/os/lib/rtl/rtlc/build
Compiling - stubs.c
Building Library - rtlc.a
Leaving Directory: /home/vagrant/minoca/os/lib/rtl/rtlc
Entering Directory: /home/vagrant/minoca/os/lib/rtl/testrtl
Compiling - fptest.c
Compiling - heaptest.c
Compiling - testrtl.c
Compiling - timetest.c
Linking - testrtl
Binplacing - /home/vagrant/minoca/x86dbg/testbin/testrtl
Leaving Directory: /home/vagrant/minoca/os/lib/rtl/testrtl
Leaving Directory: /home/vagrant/minoca/os/lib/rtl
Entering Directory: /home/vagrant/minoca/os/lib/crypto
Entering Directory: /home/vagrant/minoca/os/lib/crypto/build
Compiling - aes.c
Compiling - fortuna.c
Compiling - hmac.c
Compiling - md5.c
Compiling - sha1.c
Compiling - sha256.c
Compiling - sha512.c
Building Library - crypto.a
Leaving Directory: /home/vagrant/minoca/os/lib/crypto/build
Entering Directory: /home/vagrant/minoca/os/lib/crypto/ssl
Entering Directory: /home/vagrant/minoca/os/lib/crypto/ssl/build
Compiling - asn1.c
Compiling - base64.c
Compiling - bigint.c
Compiling - loader.c
Compiling - rsa.c
Building Library - ssl.a
Leaving Directory: /home/vagrant/minoca/os/lib/crypto/ssl/build
Compiling - asn1.c
Compiling - base64.c
Compiling - bigint.c
Compiling - loader.c
Compiling - rsa.c
Building Library - ssl.a
Leaving Directory: /home/vagrant/minoca/os/lib/crypto/ssl
Compiling - aes.c
Compiling - fortuna.c
Compiling - hmac.c
Compiling - md5.c
Compiling - sha1.c
Compiling - sha256.c
Compiling - sha512.c
Building Library - crypto.a
Entering Directory: /home/vagrant/minoca/os/lib/crypto/testcryp
Compiling - testcryp.c
Linking - testcryp
Binplacing - /home/vagrant/minoca/x86dbg/testbin/testcryp
Leaving Directory: /home/vagrant/minoca/os/lib/crypto/testcryp
Leaving Directory: /home/vagrant/minoca/os/lib/crypto
Entering Directory: /home/vagrant/minoca/os/lib/fatlib
Entering Directory: /home/vagrant/minoca/os/lib/fatlib/build
Compiling - fat.c
Compiling - fatcache.c
Compiling - fatsup.c
Compiling - idtodir.c
Building Library - fat.a
Leaving Directory: /home/vagrant/minoca/os/lib/fatlib/build
Compiling - fat.c
Compiling - fatcache.c
Compiling - fatsup.c
Compiling - idtodir.c
Building Library - fat.a
Entering Directory: /home/vagrant/minoca/os/lib/fatlib/fattest
Compiling - fattest.c
Compiling - fatdev.c
Linking - fattest
Binplacing - /home/vagrant/minoca/x86dbg/testbin/fattest
Leaving Directory: /home/vagrant/minoca/os/lib/fatlib/fattest
Leaving Directory: /home/vagrant/minoca/os/lib/fatlib
Entering Directory: /home/vagrant/minoca/os/lib/im
Entering Directory: /home/vagrant/minoca/os/lib/im/build
Compiling - image.c
Compiling - pe.c
Compiling - elf.c
Compiling - elfcomm.c
Compiling - elf64.c
Building Library - im.a
Leaving Directory: /home/vagrant/minoca/os/lib/im/build
Compiling - image.c
Compiling - pe.c
Compiling - elf.c
Compiling - elfcomm.c
Compiling - elf64.c
Building Library - im.a
Leaving Directory: /home/vagrant/minoca/os/lib/im
Entering Directory: /home/vagrant/minoca/os/lib/partlib
Entering Directory: /home/vagrant/minoca/os/lib/partlib/build
Compiling - gpt.c
Compiling - partlib.c
Building Library - partlib.a
Leaving Directory: /home/vagrant/minoca/os/lib/partlib/build
Compiling - gpt.c
Compiling - partlib.c
Building Library - partlib.a
Leaving Directory: /home/vagrant/minoca/os/lib/partlib
Entering Directory: /home/vagrant/minoca/os/lib/termlib
Entering Directory: /home/vagrant/minoca/os/lib/termlib/build
Compiling - term.c
Building Library - termlib.a
Leaving Directory: /home/vagrant/minoca/os/lib/termlib/build
Compiling - term.c
Building Library - termlib.a
Leaving Directory: /home/vagrant/minoca/os/lib/termlib
Entering Directory: /home/vagrant/minoca/os/lib/yy
Entering Directory: /home/vagrant/minoca/os/lib/yy/build
Compiling - lex.c
Compiling - parse.c
Compiling - parser.c
Building Library - yy.a
Leaving Directory: /home/vagrant/minoca/os/lib/yy/build
Entering Directory: /home/vagrant/minoca/os/lib/yy/gen
Compiling - lalr.c
Compiling - lr0.c
Compiling - output.c
Compiling - parcon.c
Compiling - verbose.c
Compiling - yygen.c
Building Library - yygen.a
Leaving Directory: /home/vagrant/minoca/os/lib/yy/gen
Compiling - lex.c
Compiling - parse.c
Compiling - parser.c
Building Library - yy.a
Entering Directory: /home/vagrant/minoca/os/lib/yy/yytest
Compiling - yytest.c
Linking - yytest
Binplacing - /home/vagrant/minoca/x86dbg/testbin/yytest
Leaving Directory: /home/vagrant/minoca/os/lib/yy/yytest
Leaving Directory: /home/vagrant/minoca/os/lib/yy
Leaving Directory: /home/vagrant/minoca/os/lib
Entering Directory: /home/vagrant/minoca/os/kernel
Entering Directory: /home/vagrant/minoca/os/kernel/mm
Compiling - archsupc.c
Compiling - flush.c
Compiling - mapping.c
Assembling - usermem.S
Compiling - block.c
Compiling - imgsec.c
Compiling - info.c
Compiling - init.c
Compiling - invipi.c
Compiling - iobuf.c
Compiling - load.c
Compiling - mdl.c
Compiling - paging.c
Compiling - physical.c
Compiling - kpools.c
Compiling - virtual.c
Compiling - fault.c
Building Library - mm.a
Entering Directory: /home/vagrant/minoca/os/kernel/mm/boot
Building Library - mmboot.a
Leaving Directory: /home/vagrant/minoca/os/kernel/mm/boot
Entering Directory: /home/vagrant/minoca/os/kernel/mm/testmm
Compiling - mapping.c
Compiling - stubs.c
Compiling - testmm.c
Compiling - testmdl.c
Compiling - testuva.c
Compiling - block.c
Compiling - imgsec.c
Compiling - init.c
Compiling - invipi.c
Compiling - iobuf.c
Compiling - load.c
Compiling - mdl.c
Compiling - paging.c
Compiling - physical.c
Compiling - kpools.c
Compiling - virtual.c
Compiling - fault.c
Linking - testmm
Binplacing - /home/vagrant/minoca/x86dbg/testbin/testmm
Leaving Directory: /home/vagrant/minoca/os/kernel/mm/testmm
Leaving Directory: /home/vagrant/minoca/os/kernel/mm
Entering Directory: /home/vagrant/minoca/os/kernel/ob
Compiling - handles.c
Compiling - obapi.c
Building Library - ob.a
Leaving Directory: /home/vagrant/minoca/os/kernel/ob
Entering Directory: /home/vagrant/minoca/os/kernel/acpi
Compiling - tables.c
Building Library - acpi.a
Leaving Directory: /home/vagrant/minoca/os/kernel/acpi
Entering Directory: /home/vagrant/minoca/os/kernel/hl
Compiling - ns16550.c
Compiling - apic.c
Compiling - apictimr.c
Compiling - apinit.c
Assembling - apstart.S
Compiling - archcach.c
Compiling - archdbg.c
Compiling - archintr.c
Assembling - archsup.S
Compiling - archrst.c
Compiling - archtimr.c
Compiling - ioport.c
Compiling - pmtimer.c
Compiling - regacces.c
Compiling - rtc.c
Compiling - tsc.c
Compiling - cache.c
Compiling - calendar.c
Compiling - clock.c
Compiling - dbgdev.c
Compiling - efi.c
Compiling - hmodapi.c
Compiling - info.c
Compiling - init.c
Compiling - intlevel.c
Compiling - intrupt.c
Compiling - ipi.c
Compiling - profiler.c
Compiling - reset.c
Compiling - suspend.c
Compiling - timer.c
Building Library - hl.a
Entering Directory: /home/vagrant/minoca/os/kernel/hl/boot
Compiling - hmodapi.c
Building Library - hlboot.a
Leaving Directory: /home/vagrant/minoca/os/kernel/hl/boot
Leaving Directory: /home/vagrant/minoca/os/kernel/hl
Entering Directory: /home/vagrant/minoca/os/kernel/io
Compiling - archio.c
Compiling - archpm.c
Compiling - intelcst.c
Compiling - arb.c
Compiling - cachedio.c
Compiling - cstate.c
Compiling - device.c
Compiling - devinfo.c
Compiling - devrem.c
Compiling - devres.c
Compiling - driver.c
Compiling - fileobj.c
Compiling - filesys.c
Compiling - flock.c
Compiling - info.c
Compiling - init.c
Compiling - intrface.c
Compiling - intrupt.c
Compiling - iobase.c
Compiling - iohandle.c
Compiling - irp.c
Compiling - mount.c
Compiling - obfs.c
Compiling - pagecach.c
Compiling - path.c
Compiling - perm.c
Compiling - pipe.c
Compiling - pminfo.c
Compiling - power.c
Compiling - pstate.c
Compiling - pty.c
Compiling - pwropt.c
Compiling - shmemobj.c
Compiling - socket.c
Compiling - stream.c
Compiling - testhook.c
Compiling - unsocket.c
Compiling - userio.c
Building Library - io.a
Leaving Directory: /home/vagrant/minoca/os/kernel/io
Entering Directory: /home/vagrant/minoca/os/kernel/ke
Compiling - archinit.c
Assembling - ctxswap.S
Compiling - ctxswapc.c
Compiling - dispatch.c
Compiling - proc.c
Compiling - crash.c
Compiling - crashdmp.c
Compiling - dpc.c
Compiling - event.c
Compiling - info.c
Compiling - init.c
Compiling - ipi.c
Compiling - lock.c
Compiling - random.c
Compiling - reset.c
Compiling - runlevel.c
Compiling - sched.c
Compiling - syscall.c
Compiling - sysclock.c
Compiling - sysres.c
Compiling - timer.c
Compiling - timezone.c
Creating - version.h
Creating - version.h
Compiling - version.c
Compiling - video.c
Compiling - workitem.c
Building Library - ke.a
Leaving Directory: /home/vagrant/minoca/os/kernel/ke
Entering Directory: /home/vagrant/minoca/os/kernel/ps
Compiling - psarch.c
Compiling - env.c
Compiling - info.c
Compiling - init.c
Compiling - perm.c
Compiling - pgroups.c
Compiling - process.c
Compiling - psimag.c
Compiling - signals.c
Compiling - thread.c
Compiling - usrlock.c
Compiling - utimer.c
Building Library - ps.a
Leaving Directory: /home/vagrant/minoca/os/kernel/ps
Entering Directory: /home/vagrant/minoca/os/kernel/x86
Assembling - archsup.S
Compiling - archsupc.c
Compiling - prochw.c
Assembling - trap.S
Building Library - x86sup.a
Leaving Directory: /home/vagrant/minoca/os/kernel/x86
Entering Directory: /home/vagrant/minoca/os/kernel/armv7
Entering Directory: /home/vagrant/minoca/os/kernel/armv7/boot
make[4]: Nothing to be done for 'all'.
Leaving Directory: /home/vagrant/minoca/os/kernel/armv7/boot
Leaving Directory: /home/vagrant/minoca/os/kernel/armv7
Entering Directory: /home/vagrant/minoca/os/kernel/armv6
Entering Directory: /home/vagrant/minoca/os/kernel/armv6/boot
make[4]: Nothing to be done for 'all'.
Leaving Directory: /home/vagrant/minoca/os/kernel/armv6/boot
Leaving Directory: /home/vagrant/minoca/os/kernel/armv6
Entering Directory: /home/vagrant/minoca/os/kernel/kd
Entering Directory: /home/vagrant/minoca/os/kernel/kd/boot
Compiling - kdarch.c
Assembling - kdsup.S
Compiling - kdebug.c
Building Library - kdboot.a
Leaving Directory: /home/vagrant/minoca/os/kernel/kd/boot
Entering Directory: /home/vagrant/minoca/os/kernel/kd/kdusb
Entering Directory: /home/vagrant/minoca/os/kernel/kd/kdusb/kdnousb
Compiling - stubs.c
Building Library - kdnousb.a
Leaving Directory: /home/vagrant/minoca/os/kernel/kd/kdusb/kdnousb
Compiling - ftdi.c
Compiling - hub.c
Compiling - kdehci.c
Compiling - kdusb.c
Building Library - kdusb.a
Leaving Directory: /home/vagrant/minoca/os/kernel/kd/kdusb
Compiling - kdarch.c
Assembling - kdsup.S
Compiling - kdebug.c
Building Library - kd.a
Leaving Directory: /home/vagrant/minoca/os/kernel/kd
Entering Directory: /home/vagrant/minoca/os/kernel/sp
Compiling - archprof.c
Compiling - info.c
Compiling - profiler.c
Building Library - sp.a
Leaving Directory: /home/vagrant/minoca/os/kernel/sp
Compiling - init.c
Linking - kernel
Binplacing - /home/vagrant/minoca/x86dbg/bin/kernel
‘/home/vagrant/minoca/os/kernel/config/dev2drv.set’ -> ‘/home/vagrant/minoca/x86dbg/bin/dev2drv.set’
‘/home/vagrant/minoca/os/kernel/config/devmap.set’ -> ‘/home/vagrant/minoca/x86dbg/bin/devmap.set’
‘/home/vagrant/minoca/os/kernel/config/init.set’ -> ‘/home/vagrant/minoca/x86dbg/bin/init.set’
‘/home/vagrant/minoca/os/kernel/config/init.sh’ -> ‘/home/vagrant/minoca/x86dbg/bin/init.sh’
Leaving Directory: /home/vagrant/minoca/os/kernel
Entering Directory: /home/vagrant/minoca/os/apps
Entering Directory: /home/vagrant/minoca/os/apps/osbase
Entering Directory: /home/vagrant/minoca/os/apps/osbase/urtl
Compiling - assert.c
Compiling - uprint.c
Building Library - urtl.a
Leaving Directory: /home/vagrant/minoca/os/apps/osbase/urtl
Compiling - features.c
Assembling - osbasea.S
Compiling - syscall.c
Compiling - env.c
Compiling - heap.c
Compiling - osimag.c
Compiling - osbase.c
Compiling - rwlock.c
Compiling - socket.c
Compiling - spinlock.c
Compiling - time.c
Compiling - tls.c
Linking - libminocaos.so.1
Binplacing - /home/vagrant/minoca/x86dbg/bin/libminocaos.so.1
Leaving Directory: /home/vagrant/minoca/os/apps/osbase
Entering Directory: /home/vagrant/minoca/os/apps/libc
Entering Directory: /home/vagrant/minoca/os/apps/libc/dynamic
Entering Directory: /home/vagrant/minoca/os/apps/libc/dynamic/wincsup
make[5]: Nothing to be done for 'all'.
Leaving Directory: /home/vagrant/minoca/os/apps/libc/dynamic/wincsup
Entering Directory: /home/vagrant/minoca/os/apps/libc/dynamic/pthread
Entering Directory: /home/vagrant/minoca/os/apps/libc/dynamic/pthread/static
Compiling - ptatfork.c
Building Library - libpthread_nonshared.a
Binplacing - /home/vagrant/minoca/x86dbg/bin/libpthread_nonshared.a
Leaving Directory: /home/vagrant/minoca/os/apps/libc/dynamic/pthread/static
Leaving Directory: /home/vagrant/minoca/os/apps/libc/dynamic/pthread
Assembling - contexta.S
Compiling - contextc.c
Assembling - fenv.S
Compiling - fenvc.c
Assembling - setjmpa.S
Assembling - tlsaddr.S
Compiling - assert.c
Compiling - brk.c
Compiling - bsearch.c
Compiling - convert.c
Compiling - ctype.c
Compiling - dirio.c
Compiling - dynlib.c
Compiling - env.c
Compiling - err.c
Compiling - errno.c
Compiling - exec.c
Compiling - exit.c
Compiling - fileio.c
Compiling - fnmatch.c
Compiling - gaddrinf.c
Compiling - getopt.c
Compiling - glob.c
Compiling - heap.c
Compiling - if.c
Compiling - inet.c
Compiling - init.c
Compiling - kerror.c
Compiling - langinfo.c
Compiling - line.c
Compiling - link.c
Compiling - locale.c
Compiling - abs.c
Compiling - ceil.c
Compiling - div.c
Compiling - exp.c
Compiling - expm1.c
Compiling - floor.c
Compiling - fmod.c
Compiling - hypot.c
Compiling - log.c
Compiling - log2.c
Compiling - log10.c
Compiling - lround.c
Compiling - modf.c
Compiling - pow.c
Compiling - rint.c
Compiling - scalbn.c
Compiling - sqrt.c
Compiling - trig.c
Compiling - trigarc.c
Compiling - trighyp.c
Compiling - util.c
Compiling - memory.c
Compiling - netaddr.c
Compiling - netent.c
Compiling - passwd.c
Compiling - path.c
Compiling - pid.c
Compiling - atfork.c
Compiling - barrier.c
Compiling - cond.c
Compiling - key.c
Compiling - mutex.c
Compiling - once.c
Compiling - pthread.c
Compiling - rwlock.c
Compiling - sema.c
Compiling - setids.c
Compiling - thrattr.c
Compiling - pty.c
Compiling - qsort.c
Compiling - rand.c
Compiling - random.c
Compiling - realpath.c
Compiling - regexcmp.c
Compiling - regexexe.c
Compiling - resolv.c
Compiling - resource.c
Compiling - setjmp.c
Compiling - scan.c
Compiling - scandir.c
Compiling - sched.c
Compiling - shadow.c
Compiling - signals.c
Compiling - socket.c
Compiling - spawn.c
Compiling - stat.c
Compiling - statvfs.c
Compiling - stream.c
Compiling - streamex.c
Compiling - string.c
Compiling - sysconf.c
Compiling - syslog.c
Compiling - system.c
Compiling - termios.c
Compiling - time.c
Compiling - times.c
Compiling - tmpfile.c
Compiling - ucontext.c
Compiling - uio.c
Compiling - uname.c
Compiling - usershel.c
Compiling - utmpx.c
Compiling - wchar.c
Compiling - wctype.c
Compiling - wscan.c
Compiling - wstream.c
Compiling - wstring.c
Linking - libc.so.1
Binplacing - /home/vagrant/minoca/x86dbg/bin/libc.so.1
Entering Directory: /home/vagrant/minoca/os/apps/libc/dynamic/testc
Compiling - bsearch.c
Compiling - bsrchtst.c
Compiling - getopt.c
Compiling - getoptst.c
Compiling - abs.c
Compiling - ceil.c
Compiling - exp.c
Compiling - expm1.c
Compiling - floor.c
Compiling - fmod.c
Compiling - hypot.c
Compiling - log.c
Compiling - log2.c
Compiling - log10.c
Compiling - modf.c
Compiling - pow.c
Compiling - scalbn.c
Compiling - sqrt.c
Compiling - trig.c
Compiling - trigarc.c
Compiling - trighyp.c
Compiling - util.c
Compiling - mathtst.c
Compiling - qsort.c
Compiling - qsorttst.c
Compiling - regexcmp.c
Compiling - regexexe.c
Compiling - regextst.c
Compiling - testc.c
Linking - testc
Binplacing - /home/vagrant/minoca/x86dbg/testbin/testc
Leaving Directory: /home/vagrant/minoca/os/apps/libc/dynamic/testc
Leaving Directory: /home/vagrant/minoca/os/apps/libc/dynamic
Entering Directory: /home/vagrant/minoca/os/apps/libc/crypt
Compiling - crypt.c
Linking - libcrypt.so.1
Binplacing - /home/vagrant/minoca/x86dbg/bin/libcrypt.so.1
Leaving Directory: /home/vagrant/minoca/os/apps/libc/crypt
Entering Directory: /home/vagrant/minoca/os/apps/libc/static
Assembling - crt0.S
Compiling - init.c
Compiling - atexit.c
Building Library - libc_nonshared.a
Binplacing - /home/vagrant/minoca/x86dbg/bin/libc_nonshared.a
Leaving Directory: /home/vagrant/minoca/os/apps/libc/static
Leaving Directory: /home/vagrant/minoca/os/apps/libc
Entering Directory: /home/vagrant/minoca/os/apps/lib
Entering Directory: /home/vagrant/minoca/os/apps/lib/chalk
Entering Directory: /home/vagrant/minoca/os/apps/lib/chalk/build
Compiling - cflow.c
Compiling - cif.c
Compiling - const.c
Compiling - exec.c
Compiling - expr.c
Compiling - lang.c
Compiling - obj.c
Compiling - util.c
Building Library - chalk.a
Leaving Directory: /home/vagrant/minoca/os/apps/lib/chalk/build
Compiling - cflow.c
Compiling - cif.c
Compiling - const.c
Compiling - exec.c
Compiling - expr.c
Compiling - lang.c
Compiling - obj.c
Compiling - util.c
Building Library - chalk.a
Leaving Directory: /home/vagrant/minoca/os/apps/lib/chalk
Leaving Directory: /home/vagrant/minoca/os/apps/lib
Entering Directory: /home/vagrant/minoca/os/apps/netlink
Compiling - generic.c
Compiling - netlink.c
Linking - libnetlink.so.1
Binplacing - /home/vagrant/minoca/x86dbg/bin/libnetlink.so.1
Leaving Directory: /home/vagrant/minoca/os/apps/netlink
Entering Directory: /home/vagrant/minoca/os/apps/ck
Entering Directory: /home/vagrant/minoca/os/apps/ck/lib
Entering Directory: /home/vagrant/minoca/os/apps/ck/lib/gram
Compiling - gramgen.c
Linking - gramgen
Leaving Directory: /home/vagrant/minoca/os/apps/ck/lib/gram
Entering Directory: /home/vagrant/minoca/os/apps/ck/lib/build
Compiling - capi.c
Compiling - capilib.c
Compiling - cdump.c
Assembling - ckcore.S
Compiling - compexpr.c
Compiling - compiler.c
Compiling - compio.c
Compiling - compvar.c
Compiling - core.c
Compiling - debug.c
Compiling - dict.c
Compiling - except.c
Compiling - fiber.c
Compiling - gc.c
Generating Grammar - gram.c
Compiling - gram.c
Compiling - int.c
Compiling - lex.c
Compiling - list.c
Compiling - module.c
Compiling - string.c
Compiling - utils.c
Compiling - value.c
Compiling - vm.c
Compiling - vmsys.c
Compiling - dlopen.c
Building Library - libchalk.a
Entering Directory: /home/vagrant/minoca/os/apps/ck/lib/build/dynamic
Linking - libchalk.so.1
Binplacing - /home/vagrant/minoca/x86dbg/tools/bin/libchalk.so.1
Leaving Directory: /home/vagrant/minoca/os/apps/ck/lib/build/dynamic
Leaving Directory: /home/vagrant/minoca/os/apps/ck/lib/build
Compiling - capi.c
Compiling - capilib.c
Compiling - cdump.c
Assembling - ckcore.S
Compiling - compexpr.c
Compiling - compiler.c
Compiling - compio.c
Compiling - compvar.c
Compiling - core.c
Compiling - debug.c
Compiling - dict.c
Compiling - except.c
Compiling - fiber.c
Compiling - gc.c
Generating Grammar - gram.c
Compiling - gram.c
Compiling - int.c
Compiling - lex.c
Compiling - list.c
Compiling - module.c
Compiling - string.c
Compiling - utils.c
Compiling - value.c
Compiling - vm.c
Compiling - vmsys.c
Compiling - dlopen.c
Building Library - libchalk.a
Entering Directory: /home/vagrant/minoca/os/apps/ck/lib/dynamic
Linking - libchalk.so.1
Binplacing - /home/vagrant/minoca/x86dbg/bin/libchalk.so.1
Leaving Directory: /home/vagrant/minoca/os/apps/ck/lib/dynamic
Leaving Directory: /home/vagrant/minoca/os/apps/ck/lib
Entering Directory: /home/vagrant/minoca/os/apps/ck/modules
Entering Directory: /home/vagrant/minoca/os/apps/ck/modules/app
Entering Directory: /home/vagrant/minoca/os/apps/ck/modules/app/build
Compiling - app.c
Building Library - app.a
Leaving Directory: /home/vagrant/minoca/os/apps/ck/modules/app/build
Compiling - app.c
Building Library - app.a
Leaving Directory: /home/vagrant/minoca/os/apps/ck/modules/app
Entering Directory: /home/vagrant/minoca/os/apps/ck/modules/bundle
Entering Directory: /home/vagrant/minoca/os/apps/ck/modules/bundle/build
Compiling - bundle.c
Building Library - bundle.a
Leaving Directory: /home/vagrant/minoca/os/apps/ck/modules/bundle/build
Compiling - bundle.c
Building Library - bundle.a
Leaving Directory: /home/vagrant/minoca/os/apps/ck/modules/bundle
Entering Directory: /home/vagrant/minoca/os/apps/ck/modules/os
Entering Directory: /home/vagrant/minoca/os/apps/ck/modules/os/build
Compiling - entry.c
Compiling - os.c
Building Library - os.a
Entering Directory: /home/vagrant/minoca/os/apps/ck/modules/os/build/dynamic
Linking - os.so
Binplacing - /home/vagrant/minoca/x86dbg/tools/lib/chalk1/os.so
Leaving Directory: /home/vagrant/minoca/os/apps/ck/modules/os/build/dynamic
Leaving Directory: /home/vagrant/minoca/os/apps/ck/modules/os/build
Compiling - entry.c
Compiling - os.c
Building Library - os.a
Entering Directory: /home/vagrant/minoca/os/apps/ck/modules/os/dynamic
Linking - os.so
Leaving Directory: /home/vagrant/minoca/os/apps/ck/modules/os/dynamic
Leaving Directory: /home/vagrant/minoca/os/apps/ck/modules/os
Leaving Directory: /home/vagrant/minoca/os/apps/ck/modules
Entering Directory: /home/vagrant/minoca/os/apps/ck/app
Entering Directory: /home/vagrant/minoca/os/apps/ck/app/build
Compiling - chalk.c
Compiling - ckunix.c
Linking - chalk
Binplacing - /home/vagrant/minoca/x86dbg/tools/bin/chalk
Leaving Directory: /home/vagrant/minoca/os/apps/ck/app/build
Compiling - chalk.c
Compiling - ckunix.c
Linking - chalk
Binplacing - /home/vagrant/minoca/x86dbg/bin/chalk
Leaving Directory: /home/vagrant/minoca/os/apps/ck/app
Leaving Directory: /home/vagrant/minoca/os/apps/ck
Entering Directory: /home/vagrant/minoca/os/apps/debug
Entering Directory: /home/vagrant/minoca/os/apps/debug/client
Entering Directory: /home/vagrant/minoca/os/apps/debug/client/minoca
Compiling - dbgarch.c
Compiling - armdis.c
Compiling - cmdtab.c
Compiling - coff.c
Compiling - consio.c
Compiling - dbgapi.c
Compiling - dbgdwarf.c
Compiling - dbgeval.c
Compiling - dbgrcomm.c
Compiling - dbgrprof.c
Compiling - dbgsym.c
Compiling - debug.c
Compiling - disasm.c
Compiling - dwarf.c
Compiling - dwexpr.c
Compiling - dwframe.c
Compiling - dwline.c
Compiling - dwread.c
Compiling - elf.c
Compiling - exts.c
Compiling - profthrd.c
Compiling - remsrv.c
Compiling - stabs.c
Compiling - symbols.c
Compiling - thmdis.c
Compiling - thm32dis.c
Compiling - x86dis.c
Compiling - cmdln.c
Compiling - extsup.c
Compiling - sock.c
Linking - debug
Binplacing - /home/vagrant/minoca/x86dbg/bin/debug
Leaving Directory: /home/vagrant/minoca/os/apps/debug/client/minoca
Entering Directory: /home/vagrant/minoca/os/apps/debug/client/tdwarf
Compiling - coff.c
Compiling - elf.c
Compiling - dwarf.c
Compiling - dwexpr.c
Compiling - dwframe.c
Compiling - dwline.c
Compiling - dwread.c
Compiling - stabs.c
Compiling - symbols.c
Compiling - tdwarf.c
Linking - tdwarf
Binplacing - /home/vagrant/minoca/x86dbg/testbin/tdwarf
Leaving Directory: /home/vagrant/minoca/os/apps/debug/client/tdwarf
Entering Directory: /home/vagrant/minoca/os/apps/debug/client/teststab
Compiling - teststab.c
Compiling - stabs.c
Compiling - coff.c
Compiling - elf.c
Compiling - symbols.c
Linking - teststab
Binplacing - /home/vagrant/minoca/x86dbg/testbin/teststab
Leaving Directory: /home/vagrant/minoca/os/apps/debug/client/teststab
Entering Directory: /home/vagrant/minoca/os/apps/debug/client/testdisa
Compiling - testdisa.c
Compiling - x86dis.c
Compiling - armdis.c
Compiling - disasm.c
Compiling - thmdis.c
Compiling - thm32dis.c
Linking - testdisa
Binplacing - /home/vagrant/minoca/x86dbg/testbin/testdisa
Leaving Directory: /home/vagrant/minoca/os/apps/debug/client/testdisa
Leaving Directory: /home/vagrant/minoca/os/apps/debug/client
Entering Directory: /home/vagrant/minoca/os/apps/debug/dbgext
Compiling - extimp.c
Building Library - dbgext.a
Binplacing - /home/vagrant/minoca/x86dbg/bin/dbgext.a
Leaving Directory: /home/vagrant/minoca/os/apps/debug/dbgext
Entering Directory: /home/vagrant/minoca/os/apps/debug/kexts
Compiling - acpiext.c
Compiling - kexts.c
Compiling - memory.c
Compiling - objects.c
Compiling - reslist.c
Compiling - threads.c
Linking - kexts.so
Binplacing - /home/vagrant/minoca/x86dbg/bin/kexts.so
Leaving Directory: /home/vagrant/minoca/os/apps/debug/kexts
Leaving Directory: /home/vagrant/minoca/os/apps/debug
Entering Directory: /home/vagrant/minoca/os/apps/efiboot
Compiling - efiboot.c
Linking - efiboot
Binplacing - /home/vagrant/minoca/x86dbg/bin/efiboot
Leaving Directory: /home/vagrant/minoca/os/apps/efiboot
Entering Directory: /home/vagrant/minoca/os/apps/mingen
Entering Directory: /home/vagrant/minoca/os/apps/mingen/build
Compiling - chkfuncs.c
Compiling - make.c
Compiling - mingen.c
Compiling - ninja.c
Compiling - path.c
Compiling - script.c
Compiling - uos.c
Linking - mingen
Binplacing - /home/vagrant/minoca/x86dbg/tools/bin/mingen
Leaving Directory: /home/vagrant/minoca/os/apps/mingen/build
Compiling - chkfuncs.c
Compiling - make.c
Compiling - mingen.c
Compiling - ninja.c
Compiling - path.c
Compiling - script.c
Compiling - uos.c
Linking - mingen
Binplacing - /home/vagrant/minoca/x86dbg/bin/mingen
Leaving Directory: /home/vagrant/minoca/os/apps/mingen
Entering Directory: /home/vagrant/minoca/os/apps/mount
Compiling - mount.c
Linking - mount
Binplacing - /home/vagrant/minoca/x86dbg/bin/mount
Leaving Directory: /home/vagrant/minoca/os/apps/mount
Entering Directory: /home/vagrant/minoca/os/apps/netcon
Compiling - netcon.c
Linking - netcon
Binplacing - /home/vagrant/minoca/x86dbg/bin/netcon
Leaving Directory: /home/vagrant/minoca/os/apps/netcon
Entering Directory: /home/vagrant/minoca/os/apps/profile
Compiling - profile.c
Linking - profile
Binplacing - /home/vagrant/minoca/x86dbg/bin/profile
Leaving Directory: /home/vagrant/minoca/os/apps/profile
Entering Directory: /home/vagrant/minoca/os/apps/setup
Entering Directory: /home/vagrant/minoca/os/apps/setup/uos
Compiling - cache.c
Compiling - config.c
Compiling - disk.c
Compiling - fatdev.c
Compiling - fileio.c
Compiling - partio.c
Compiling - plat.c
Compiling - setup.c
Compiling - steps.c
Compiling - util.c
Compiling - io.c
Compiling - misc.c
Compiling - part.c
Linking - msetup
Binplacing - /home/vagrant/minoca/x86dbg/tools/bin/msetup
Leaving Directory: /home/vagrant/minoca/os/apps/setup/uos
Compiling - cache.c
Compiling - config.c
Compiling - disk.c
Compiling - fatdev.c
Compiling - fileio.c
Compiling - partio.c
Compiling - plat.c
Compiling - setup.c
Compiling - steps.c
Compiling - util.c
Compiling - io.c
Compiling - misc.c
Compiling - part.c
Linking - msetup
Binplacing - /home/vagrant/minoca/x86dbg/bin/msetup
‘/home/vagrant/minoca/os/apps/setup/install.ck’ -> ‘/home/vagrant/minoca/x86dbg/bin/install.ck’
Leaving Directory: /home/vagrant/minoca/os/apps/setup
Entering Directory: /home/vagrant/minoca/os/apps/swiss
Entering Directory: /home/vagrant/minoca/os/apps/swiss/uos
Compiling - basename.c
Compiling - cat.c
Compiling - cecho.c
Compiling - chmod.c
Compiling - chroot.c
Compiling - cmp.c
Compiling - comm.c
Compiling - cp.c
Compiling - cut.c
Compiling - date.c
Compiling - dd.c
Compiling - diff.c
Compiling - dirname.c
Compiling - easy.c
Compiling - echo.c
Compiling - env.c
Compiling - expr.c
Compiling - find.c
Compiling - grep.c
Compiling - head.c
Compiling - id.c
Compiling - install.c
Compiling - kill.c
Compiling - ln.c
Compiling - compare.c
Compiling - ls.c
Compiling - mkdir.c
Compiling - mktemp.c
Compiling - mv.c
Compiling - nl.c
Compiling - nproc.c
Compiling - od.c
Compiling - printf.c
Compiling - ps.c
Compiling - pwd.c
Compiling - reboot.c
Compiling - rm.c
Compiling - rmdir.c
Compiling - sed.c
Compiling - sedfunc.c
Compiling - sedparse.c
Compiling - sedutil.c
Compiling - seq.c
Compiling - alias.c
Compiling - arith.c
Compiling - builtin.c
Compiling - exec.c
Compiling - expand.c
Compiling - lex.c
Compiling - linein.c
Compiling - parser.c
Compiling - path.c
Compiling - sh.c
Compiling - signals.c
Compiling - util.c
Compiling - var.c
Compiling - soko.c
Compiling - sort.c
Compiling - split.c
Compiling - sum.c
Compiling - swiss.c
Compiling - copy.c
Compiling - delete.c
Compiling - pattern.c
Compiling - pwdcmd.c
Compiling - string.c
Creating - version.h
Compiling - userio.c
Compiling - tail.c
Compiling - tee.c
Compiling - test.c
Compiling - time.c
Compiling - touch.c
Compiling - tr.c
Compiling - uname.c
Compiling - uniq.c
Compiling - wc.c
Compiling - which.c
Compiling - xargs.c
Compiling - chown.c
Compiling - mkfifo.c
Compiling - readlink.c
Compiling - shuos.c
Compiling - stty.c
Compiling - chownutl.c
Compiling - uos.c
Compiling - telnet.c
Compiling - linux.c
Compiling - uoscmds.c
Compiling - dw.c
Compiling - init.c
Compiling - chpasswd.c
Compiling - getty.c
Compiling - groupadd.c
Compiling - groupdel.c
Compiling - login.c
Compiling - lutil.c
Compiling - passwd.c
Compiling - su.c
Compiling - sulogin.c
Compiling - useradd.c
Compiling - userdel.c
Compiling - vlock.c
Compiling - ssdaemon.c
Compiling - telnetd.c
Linking - swiss
Binplacing - /home/vagrant/minoca/x86dbg/tools/bin/swiss
Leaving Directory: /home/vagrant/minoca/os/apps/swiss/uos
Compiling - basename.c
Compiling - cat.c
Compiling - cecho.c
Compiling - chmod.c
Compiling - chroot.c
Compiling - cmp.c
Compiling - comm.c
Compiling - cp.c
Compiling - cut.c
Compiling - date.c
Compiling - dd.c
Compiling - diff.c
Compiling - dirname.c
Compiling - easy.c
Compiling - echo.c
Compiling - env.c
Compiling - expr.c
Compiling - find.c
Compiling - grep.c
Compiling - head.c
Compiling - id.c
Compiling - install.c
Compiling - kill.c
Compiling - ln.c
Compiling - compare.c
Compiling - ls.c
Compiling - mkdir.c
Compiling - mktemp.c
Compiling - mv.c
Compiling - nl.c
Compiling - nproc.c
Compiling - od.c
Compiling - printf.c
Compiling - ps.c
Compiling - pwd.c
Compiling - reboot.c
Compiling - rm.c
Compiling - rmdir.c
Compiling - sed.c
Compiling - sedfunc.c
Compiling - sedparse.c
Compiling - sedutil.c
Compiling - seq.c
Compiling - alias.c
Compiling - arith.c
Compiling - builtin.c
Compiling - exec.c
Compiling - expand.c
Compiling - lex.c
Compiling - linein.c
Compiling - parser.c
Compiling - path.c
Compiling - sh.c
Compiling - signals.c
Compiling - util.c
Compiling - var.c
Compiling - soko.c
Compiling - sort.c
Compiling - split.c
Compiling - sum.c
Compiling - swiss.c
Compiling - copy.c
Compiling - delete.c
Compiling - pattern.c
Compiling - pwdcmd.c
Compiling - string.c
Creating - version.h
Compiling - userio.c
Compiling - tail.c
Compiling - tee.c
Compiling - test.c
Compiling - time.c
Compiling - touch.c
Compiling - tr.c
Compiling - uname.c
Compiling - uniq.c
Compiling - wc.c
Compiling - which.c
Compiling - xargs.c
Compiling - chown.c
Compiling - mkfifo.c
Compiling - readlink.c
Compiling - shuos.c
Compiling - stty.c
Compiling - chownutl.c
Compiling - uos.c
Compiling - telnet.c
Compiling - init.c
Compiling - chpasswd.c
Compiling - getty.c
Compiling - groupadd.c
Compiling - groupdel.c
Compiling - login.c
Compiling - lutil.c
Compiling - passwd.c
Compiling - su.c
Compiling - sulogin.c
Compiling - useradd.c
Compiling - userdel.c
Compiling - vlock.c
Compiling - ssdaemon.c
Compiling - telnetd.c
Compiling - cmds.c
Compiling - dw.c
Compiling - minocaos.c
Linking - swiss
Binplacing - /home/vagrant/minoca/x86dbg/bin/swiss
Leaving Directory: /home/vagrant/minoca/os/apps/swiss
Entering Directory: /home/vagrant/minoca/os/apps/testapps
Entering Directory: /home/vagrant/minoca/os/apps/testapps/aiotest
Compiling - aiotest.c
Linking - aiotest
Binplacing - /home/vagrant/minoca/x86dbg/bin/aiotest
Leaving Directory: /home/vagrant/minoca/os/apps/testapps/aiotest
Entering Directory: /home/vagrant/minoca/os/apps/testapps/dbgtest
Compiling - dbgtest.c
Linking - dbgtest
Binplacing - /home/vagrant/minoca/x86dbg/bin/dbgtest
Leaving Directory: /home/vagrant/minoca/os/apps/testapps/dbgtest
Entering Directory: /home/vagrant/minoca/os/apps/testapps/filetest
Compiling - filetest.c
Linking - filetest
Binplacing - /home/vagrant/minoca/x86dbg/bin/filetest
Leaving Directory: /home/vagrant/minoca/os/apps/testapps/filetest
Entering Directory: /home/vagrant/minoca/os/apps/testapps/ktest
Entering Directory: /home/vagrant/minoca/os/apps/testapps/ktest/driver
Compiling - ktestdrv.c
Compiling - tblock.c
Compiling - tdesc.c
Compiling - testsup.c
Compiling - tpool.c
Compiling - tthread.c
Compiling - twork.c
Linking - ktestdrv.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/ktestdrv.drv
Leaving Directory: /home/vagrant/minoca/os/apps/testapps/ktest/driver
Compiling - ktest.c
Linking - ktest
Binplacing - /home/vagrant/minoca/x86dbg/bin/ktest
Leaving Directory: /home/vagrant/minoca/os/apps/testapps/ktest
Entering Directory: /home/vagrant/minoca/os/apps/testapps/mmaptest
Compiling - mmaptest.c
Linking - mmaptest
Binplacing - /home/vagrant/minoca/x86dbg/bin/mmaptest
Leaving Directory: /home/vagrant/minoca/os/apps/testapps/mmaptest
Entering Directory: /home/vagrant/minoca/os/apps/testapps/mnttest
Compiling - mnttest.c
Linking - mnttest
Binplacing - /home/vagrant/minoca/x86dbg/bin/mnttest
Leaving Directory: /home/vagrant/minoca/os/apps/testapps/mnttest
Entering Directory: /home/vagrant/minoca/os/apps/testapps/pathtest
Compiling - pathtest.c
Linking - pathtest
Binplacing - /home/vagrant/minoca/x86dbg/bin/pathtest
Leaving Directory: /home/vagrant/minoca/os/apps/testapps/pathtest
Entering Directory: /home/vagrant/minoca/os/apps/testapps/perftest
Entering Directory: /home/vagrant/minoca/os/apps/testapps/perftest/perflib
Compiling - perflib.c
Linking - perflib.so
Binplacing - /home/vagrant/minoca/x86dbg/bin/perflib.so
Leaving Directory: /home/vagrant/minoca/os/apps/testapps/perftest/perflib
Compiling - copy.c
Compiling - create.c
Compiling - dlopen.c
Compiling - dup.c
Compiling - getppid.c
Compiling - exec.c
Compiling - fork.c
Compiling - malloc.c
Compiling - mmap.c
Compiling - mutex.c
Compiling - open.c
Compiling - perfsup.c
Compiling - perftest.c
Compiling - pipeio.c
Compiling - pthread.c
Compiling - read.c
Compiling - rename.c
Compiling - stat.c
Compiling - write.c
Linking - perftest
Binplacing - /home/vagrant/minoca/x86dbg/bin/perftest
Leaving Directory: /home/vagrant/minoca/os/apps/testapps/perftest
Entering Directory: /home/vagrant/minoca/os/apps/testapps/sigtest
Compiling - sigtest.c
Linking - sigtest
Binplacing - /home/vagrant/minoca/x86dbg/bin/sigtest
Leaving Directory: /home/vagrant/minoca/os/apps/testapps/sigtest
Entering Directory: /home/vagrant/minoca/os/apps/testapps/socktest
Compiling - socktest.c
Linking - socktest
Binplacing - /home/vagrant/minoca/x86dbg/bin/socktest
Leaving Directory: /home/vagrant/minoca/os/apps/testapps/socktest
Entering Directory: /home/vagrant/minoca/os/apps/testapps/utmrtest
Compiling - utmrtest.c
Linking - utmrtest
Binplacing - /home/vagrant/minoca/x86dbg/bin/utmrtest
Leaving Directory: /home/vagrant/minoca/os/apps/testapps/utmrtest
Leaving Directory: /home/vagrant/minoca/os/apps/testapps
Entering Directory: /home/vagrant/minoca/os/apps/tzcomp
Compiling - tzcomp.c
Linking - tzcomp
Binplacing - /home/vagrant/minoca/x86dbg/tools/bin/tzcomp
Compiling time zone almanac
Compiling default time zone: America/Los_Angeles
Leaving Directory: /home/vagrant/minoca/os/apps/tzcomp
Entering Directory: /home/vagrant/minoca/os/apps/unmount
Compiling - unmount.c
Linking - umount
Binplacing - /home/vagrant/minoca/x86dbg/bin/umount
Leaving Directory: /home/vagrant/minoca/os/apps/unmount
Entering Directory: /home/vagrant/minoca/os/apps/vmstat
Compiling - vmstat.c
Linking - vmstat
Binplacing - /home/vagrant/minoca/x86dbg/bin/vmstat
Leaving Directory: /home/vagrant/minoca/os/apps/vmstat
Entering Directory: /home/vagrant/minoca/os/apps/posix
mkdir -p /home/vagrant/minoca/x86dbg/bin/skel/etc/init.d
mkdir -p /home/vagrant/minoca/x86dbg/bin/skel/var/run
mkdir -p /home/vagrant/minoca/x86dbg/bin/skel/var/log
mkdir -p /home/vagrant/minoca/x86dbg/bin/skel/root
mkdir -p /home/vagrant/minoca/x86dbg/bin/skel/home
mkdir -p /home/vagrant/minoca/x86dbg/bin/skel/usr/sbin
mkdir -p /home/vagrant/minoca/x86dbg/bin/skel/tmp
cp /home/vagrant/minoca/os/apps/posix/update-rc.d /home/vagrant/minoca/x86dbg/bin/skel/usr/sbin/update-rc.d
chmod 0755 /home/vagrant/minoca/x86dbg/bin/skel/usr/sbin/update-rc.d
cp /home/vagrant/minoca/os/apps/posix/passwd /home/vagrant/minoca/x86dbg/bin/skel/etc/passwd
chmod 0644 /home/vagrant/minoca/x86dbg/bin/skel/etc/passwd
cp /home/vagrant/minoca/os/apps/posix/group /home/vagrant/minoca/x86dbg/bin/skel/etc/group
chmod 0644 /home/vagrant/minoca/x86dbg/bin/skel/etc/group
cp /home/vagrant/minoca/os/apps/posix/shadow /home/vagrant/minoca/x86dbg/bin/skel/etc/shadow
chmod 0640 /home/vagrant/minoca/x86dbg/bin/skel/etc/shadow
cp /home/vagrant/minoca/os/apps/posix/inittab /home/vagrant/minoca/x86dbg/bin/skel/etc/inittab
chmod 0644 /home/vagrant/minoca/x86dbg/bin/skel/etc/inittab
cp /home/vagrant/minoca/os/apps/posix/issue /home/vagrant/minoca/x86dbg/bin/skel/etc/issue
chmod 0644 /home/vagrant/minoca/x86dbg/bin/skel/etc/issue
cp /home/vagrant/minoca/os/apps/posix/init.d/rc /home/vagrant/minoca/x86dbg/bin/skel/etc/init.d/rc
chmod 0755 /home/vagrant/minoca/x86dbg/bin/skel/etc/init.d/rc
cp /home/vagrant/minoca/os/apps/posix/init.d/init-functions /home/vagrant/minoca/x86dbg/bin/skel/etc/init.d/init-functions
chmod 0755 /home/vagrant/minoca/x86dbg/bin/skel/etc/init.d/init-functions
Leaving Directory: /home/vagrant/minoca/os/apps/posix
Leaving Directory: /home/vagrant/minoca/os/apps
Entering Directory: /home/vagrant/minoca/os/uefi
Entering Directory: /home/vagrant/minoca/os/uefi/archlib
Compiling - archlib.c
Assembling - archsup.S
Assembling - ioport.S
Compiling - regacces.c
Building Library - uefiarch.a
Leaving Directory: /home/vagrant/minoca/os/uefi/archlib
Entering Directory: /home/vagrant/minoca/os/uefi/tools
Entering Directory: /home/vagrant/minoca/os/uefi/tools/elfconv
Compiling - elfc32.c
Compiling - elfconv.c
Linking - elfconv
Binplacing - /home/vagrant/minoca/x86dbg/tools/bin/elfconv
Leaving Directory: /home/vagrant/minoca/os/uefi/tools/elfconv
Entering Directory: /home/vagrant/minoca/os/uefi/tools/genffs
Compiling - genffs.c
Linking - genffs
Binplacing - /home/vagrant/minoca/x86dbg/tools/bin/genffs
Leaving Directory: /home/vagrant/minoca/os/uefi/tools/genffs
Entering Directory: /home/vagrant/minoca/os/uefi/tools/genfv
Compiling - genfv.c
Linking - genfv
Binplacing - /home/vagrant/minoca/x86dbg/tools/bin/genfv
Leaving Directory: /home/vagrant/minoca/os/uefi/tools/genfv
Entering Directory: /home/vagrant/minoca/os/uefi/tools/mkuboot
Compiling - mkuboot.c
Compiling - crc32.c
Linking - mkuboot
Binplacing - /home/vagrant/minoca/x86dbg/tools/bin/mkuboot
Leaving Directory: /home/vagrant/minoca/os/uefi/tools/mkuboot
Leaving Directory: /home/vagrant/minoca/os/uefi/tools
Entering Directory: /home/vagrant/minoca/os/uefi/core
Entering Directory: /home/vagrant/minoca/os/uefi/core/emptyrd
Assembling - emptyrd.S
Building Library - emptyrd.a
Leaving Directory: /home/vagrant/minoca/os/uefi/core/emptyrd
Entering Directory: /home/vagrant/minoca/os/uefi/core/rtlib
Compiling - crc32.c
Compiling - div.c
Compiling - init.c
Compiling - time.c
Compiling - util.c
Compiling - var.c
Building Library - rtlib.a
Leaving Directory: /home/vagrant/minoca/os/uefi/core/rtlib
Entering Directory: /home/vagrant/minoca/os/uefi/core/runtime
Compiling - crc32.c
Compiling - runtime.c
Linking - rtbase.elf
Binplacing - /home/vagrant/minoca/x86dbg/bin/rtbase.elf
Leaving Directory: /home/vagrant/minoca/os/uefi/core/runtime
Assembling - archsup.S
Compiling - prochw.c
Compiling - acpi.c
Compiling - acpitabs.c
Compiling - basepe.c
Compiling - bdsboot.c
Compiling - bdscon.c
Compiling - bdsentry.c
Compiling - bdsutil.c
Compiling - cfgtable.c
Compiling - dbgser.c
Compiling - devpathu.c
Compiling - diskio.c
Compiling - dispatch.c
Compiling - div.c
Compiling - drvsup.c
Compiling - event.c
Compiling - fatdev.c
Compiling - fatfs.c
Compiling - fsvars.c
Compiling - fvblock.c
Compiling - fvsect.c
Compiling - fwvol.c
Compiling - fwvolio.c
Compiling - handle.c
Compiling - image.c
Compiling - init.c
Compiling - intr.c
Compiling - locate.c
Compiling - lock.c
Compiling - memory.c
Compiling - part.c
Compiling - partelto.c
Compiling - partgpt.c
Compiling - partmbr.c
Compiling - pool.c
Compiling - ramdisk.c
Compiling - smbios.c
Compiling - stubs.c
Compiling - tpl.c
Compiling - timer.c
Compiling - util.c
Creating - version.h
Compiling - version.c
Compiling - vidcon.c
Building Library - ueficore.a
Leaving Directory: /home/vagrant/minoca/os/uefi/core
Entering Directory: /home/vagrant/minoca/os/uefi/dev
Entering Directory: /home/vagrant/minoca/os/uefi/dev/ns16550
Compiling - ns16550.c
Building Library - ns16550.a
Leaving Directory: /home/vagrant/minoca/os/uefi/dev/ns16550
Leaving Directory: /home/vagrant/minoca/os/uefi/dev
Entering Directory: /home/vagrant/minoca/os/uefi/plat
Entering Directory: /home/vagrant/minoca/os/uefi/plat/bios
Entering Directory: /home/vagrant/minoca/os/uefi/plat/bios/runtime
Compiling - reboot.c
Compiling - runtime.c
Linking - biosrt.elf
Binplacing - /home/vagrant/minoca/x86dbg/bin/biosrt.elf
Converting - biosrt.elf
Leaving Directory: /home/vagrant/minoca/os/uefi/plat/bios/runtime
Assembling - entry.S
Assembling - realmexe.S
Compiling - acpi.c
Compiling - bioscall.c
Generating - biosfwv
Assembling - biosfwv.S
Compiling - disk.c
Compiling - debug.c
Compiling - fwvol.c
Compiling - intr.c
Compiling - main.c
Compiling - memmap.c
Compiling - timer.c
Compiling - video.c
Linking - biosfw.elf
Binplacing - /home/vagrant/minoca/x86dbg/bin/biosfw.elf
Flattening - biosfw.elf
Leaving Directory: /home/vagrant/minoca/os/uefi/plat/bios
Leaving Directory: /home/vagrant/minoca/os/uefi/plat
Leaving Directory: /home/vagrant/minoca/os/uefi
Entering Directory: /home/vagrant/minoca/os/boot
Entering Directory: /home/vagrant/minoca/os/boot/lib
Entering Directory: /home/vagrant/minoca/os/boot/lib/efi
Assembling - archsup.S
Compiling - prochw.c
Assembling - efia.S
Compiling - efiarch.c
Compiling - bootfat.c
Compiling - bootmem.c
Compiling - file.c
Compiling - stubs.c
Compiling - version.c
Compiling - dbgser.c
Compiling - disk.c
Compiling - fwapi.c
Compiling - memory.c
Compiling - time.c
Compiling - util.c
Compiling - video.c
Building Library - bootefi.a
Leaving Directory: /home/vagrant/minoca/os/boot/lib/efi
Entering Directory: /home/vagrant/minoca/os/boot/lib/pcat
Compiling - fwapi.c
Compiling - int10.c
Compiling - int13.c
Compiling - memory.c
Assembling - realmexe.S
Compiling - realmode.c
Compiling - reset.c
Compiling - rsdp.c
Compiling - time.c
Building Library - bootpcat.a
Leaving Directory: /home/vagrant/minoca/os/boot/lib/pcat
Leaving Directory: /home/vagrant/minoca/os/boot/lib
Entering Directory: /home/vagrant/minoca/os/boot/bootman
Entering Directory: /home/vagrant/minoca/os/boot/bootman/efi
Compiling - bootman.c
Compiling - bootim.c
Compiling - bootxfr.c
Compiling - main.c
Linking - bootmefi.elf
Binplacing - /home/vagrant/minoca/x86dbg/bin/bootmefi.elf
Converting - bootmefi.elf
Leaving Directory: /home/vagrant/minoca/os/boot/bootman/efi
Entering Directory: /home/vagrant/minoca/os/boot/bootman/pcat
Assembling - entry.S
Compiling - bootman.c
Compiling - bootim.c
Compiling - bootxfr.c
Compiling - main.c
Linking - bootman
Binplacing - /home/vagrant/minoca/x86dbg/bin/bootman
Leaving Directory: /home/vagrant/minoca/os/boot/bootman/pcat
Leaving Directory: /home/vagrant/minoca/os/boot/bootman
Entering Directory: /home/vagrant/minoca/os/boot/loader
Entering Directory: /home/vagrant/minoca/os/boot/loader/efi
Compiling - archsupc.c
Compiling - dbgparch.c
Assembling - entry.S
Compiling - paging.c
Assembling - kernxfr.S
Compiling - loader.c
Compiling - bootim.c
Compiling - dbgport.c
Compiling - memory.c
Linking - loadefi
Binplacing - /home/vagrant/minoca/x86dbg/bin/loadefi
Leaving Directory: /home/vagrant/minoca/os/boot/loader/efi
Entering Directory: /home/vagrant/minoca/os/boot/loader/pcat
Compiling - archsupc.c
Compiling - dbgparch.c
Assembling - entry.S
Compiling - paging.c
Assembling - kernxfr.S
Compiling - loader.c
Compiling - bootim.c
Compiling - dbgport.c
Compiling - memory.c
Linking - loader
Binplacing - /home/vagrant/minoca/x86dbg/bin/loader
Leaving Directory: /home/vagrant/minoca/os/boot/loader/pcat
Leaving Directory: /home/vagrant/minoca/os/boot/loader
Entering Directory: /home/vagrant/minoca/os/boot/fatboot
Assembling - vbr.S
Compiling - fatboot.c
Compiling - prochw.c
Assembling - archsup.S
Compiling - realmode.c
Assembling - realmexe.S
Linking - fatboot
Binplacing - /home/vagrant/minoca/x86dbg/bin/fatboot
Leaving Directory: /home/vagrant/minoca/os/boot/fatboot
Entering Directory: /home/vagrant/minoca/os/boot/mbr
Assembling - mbr.S
Linking - mbr
Binplacing - /home/vagrant/minoca/x86dbg/bin/mbr
Leaving Directory: /home/vagrant/minoca/os/boot/mbr
Leaving Directory: /home/vagrant/minoca/os/boot
Entering Directory: /home/vagrant/minoca/os/drivers
Entering Directory: /home/vagrant/minoca/os/drivers/acpi
Compiling - procarch.c
Compiling - acpidrv.c
Compiling - aml.c
Compiling - amlopcr.c
Compiling - amlopex.c
Compiling - amloptab.c
Compiling - amlos.c
Compiling - drvsup.c
Compiling - earlypci.c
Compiling - fixedreg.c
Compiling - namespce.c
Compiling - oprgn.c
Compiling - oprgnos.c
Compiling - proc.c
Compiling - resdesc.c
Linking - acpi.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/acpi.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/acpi
Entering Directory: /home/vagrant/minoca/os/drivers/part
Compiling - part.c
Linking - part.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/part.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/part
Entering Directory: /home/vagrant/minoca/os/drivers/ata
Compiling - ata.c
Linking - ata.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/ata.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/ata
Entering Directory: /home/vagrant/minoca/os/drivers/devrem
Compiling - devrem.c
Linking - devrem.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/devrem.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/devrem
Entering Directory: /home/vagrant/minoca/os/drivers/dma
Entering Directory: /home/vagrant/minoca/os/drivers/dma/core
Compiling - dma.c
Linking - dma.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/dma.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/dma/core
Entering Directory: /home/vagrant/minoca/os/drivers/dma/bcm2709
Compiling - dmab2709.c
Linking - dmab2709.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/dmab2709.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/dma/bcm2709
Entering Directory: /home/vagrant/minoca/os/drivers/dma/edma3
Compiling - edma3.c
Linking - edma3.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/edma3.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/dma/edma3
Leaving Directory: /home/vagrant/minoca/os/drivers/dma
Entering Directory: /home/vagrant/minoca/os/drivers/fat
Compiling - fatfs.c
Compiling - fatio.c
Linking - fat.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/fat.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/fat
Entering Directory: /home/vagrant/minoca/os/drivers/gpio
Entering Directory: /home/vagrant/minoca/os/drivers/gpio/core
Compiling - gpio.c
Linking - gpio.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/gpio.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/gpio/core
Entering Directory: /home/vagrant/minoca/os/drivers/gpio/broadcom
Entering Directory: /home/vagrant/minoca/os/drivers/gpio/broadcom/bc27
Compiling - bc27gpio.c
Linking - bc27gpio.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/bc27gpio.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/gpio/broadcom/bc27
Leaving Directory: /home/vagrant/minoca/os/drivers/gpio/broadcom
Entering Directory: /home/vagrant/minoca/os/drivers/gpio/rockchip
Entering Directory: /home/vagrant/minoca/os/drivers/gpio/rockchip/rk32
Compiling - rk32gpio.c
Linking - rk32gpio.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/rk32gpio.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/gpio/rockchip/rk32
Leaving Directory: /home/vagrant/minoca/os/drivers/gpio/rockchip
Entering Directory: /home/vagrant/minoca/os/drivers/gpio/ti
Entering Directory: /home/vagrant/minoca/os/drivers/gpio/ti/omap4
Compiling - om4gpio.c
Linking - om4gpio.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/om4gpio.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/gpio/ti/omap4
Leaving Directory: /home/vagrant/minoca/os/drivers/gpio/ti
Leaving Directory: /home/vagrant/minoca/os/drivers/gpio
Entering Directory: /home/vagrant/minoca/os/drivers/usrinput
Compiling - uskeys.c
Compiling - usrinput.c
Linking - usrinput.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/usrinput.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/usrinput
Entering Directory: /home/vagrant/minoca/os/drivers/i8042
Entering Directory: /home/vagrant/minoca/os/drivers/i8042/pl050
Compiling - pl050.c
Compiling - scancode.c
Linking - pl050.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/pl050.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/i8042/pl050
Compiling - i8042.c
Compiling - scancode.c
Linking - i8042.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/i8042.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/i8042
Entering Directory: /home/vagrant/minoca/os/drivers/usb
Entering Directory: /home/vagrant/minoca/os/drivers/usb/usbcore
Compiling - enum.c
Compiling - hub.c
Compiling - usbcore.c
Compiling - usbhost.c
Linking - usbcore.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/usbcore.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/usb/usbcore
Entering Directory: /home/vagrant/minoca/os/drivers/usb/usbcomp
Compiling - usbcomp.c
Linking - usbcomp.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/usbcomp.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/usb/usbcomp
Entering Directory: /home/vagrant/minoca/os/drivers/usb/usbhub
Compiling - usbhub.c
Linking - usbhub.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/usbhub.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/usb/usbhub
Entering Directory: /home/vagrant/minoca/os/drivers/usb/usbmass
Compiling - usbmass.c
Linking - usbmass.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/usbmass.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/usb/usbmass
Entering Directory: /home/vagrant/minoca/os/drivers/usb/onering
Entering Directory: /home/vagrant/minoca/os/drivers/usb/onering/usbrelay
Compiling - usbrelay.c
Linking - usbrelay
Binplacing - /home/vagrant/minoca/x86dbg/bin/usbrelay
Leaving Directory: /home/vagrant/minoca/os/drivers/usb/onering/usbrelay
Compiling - onering.c
Linking - onering.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/onering.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/usb/onering
Entering Directory: /home/vagrant/minoca/os/drivers/usb/usbkbd
Compiling - keycode.c
Compiling - usbkbd.c
Linking - usbkbd.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/usbkbd.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/usb/usbkbd
Entering Directory: /home/vagrant/minoca/os/drivers/usb/am3usb
Compiling - am3usb.c
Compiling - am3usbhw.c
Compiling - cppi.c
Compiling - musb.c
Linking - am3usb.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/am3usb.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/usb/am3usb
Entering Directory: /home/vagrant/minoca/os/drivers/usb/dwhci
Compiling - dwhci.c
Compiling - dwhcihc.c
Linking - dwhci.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/dwhci.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/usb/dwhci
Entering Directory: /home/vagrant/minoca/os/drivers/usb/ehci
Compiling - ehci.c
Compiling - ehcihc.c
Linking - ehci.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/ehci.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/usb/ehci
Entering Directory: /home/vagrant/minoca/os/drivers/usb/uhci
Compiling - uhci.c
Compiling - uhcihc.c
Linking - uhci.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/uhci.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/usb/uhci
Leaving Directory: /home/vagrant/minoca/os/drivers/usb
Entering Directory: /home/vagrant/minoca/os/drivers/net
Entering Directory: /home/vagrant/minoca/os/drivers/net/netcore
Compiling - addr.c
Compiling - arp.c
Compiling - buf.c
Compiling - dhcp.c
Compiling - ethernet.c
Compiling - ip4.c
Compiling - netcore.c
Compiling - raw.c
Compiling - tcp.c
Compiling - tcpcong.c
Compiling - udp.c
Compiling - netlink.c
Compiling - genctrl.c
Compiling - generic.c
Linking - netcore.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/netcore.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/net/netcore
Entering Directory: /home/vagrant/minoca/os/drivers/net/ethernet
Entering Directory: /home/vagrant/minoca/os/drivers/net/ethernet/am3eth
Compiling - am3eth.c
Compiling - am3ethhw.c
Linking - am3eth.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/am3eth.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/net/ethernet/am3eth
Entering Directory: /home/vagrant/minoca/os/drivers/net/ethernet/atl1c
Compiling - atl1c.c
Compiling - atl1chw.c
Linking - atl1c.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/atl1c.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/net/ethernet/atl1c
Entering Directory: /home/vagrant/minoca/os/drivers/net/ethernet/dwceth
Compiling - dwceth.c
Compiling - dwcethhw.c
Linking - dwceth.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/dwceth.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/net/ethernet/dwceth
Entering Directory: /home/vagrant/minoca/os/drivers/net/ethernet/e100
Compiling - e100.c
Compiling - e100hw.c
Linking - e100.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/e100.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/net/ethernet/e100
Entering Directory: /home/vagrant/minoca/os/drivers/net/ethernet/rtl81xx
Compiling - rtl81.c
Compiling - rtl81hw.c
Linking - rtl81xx.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/rtl81xx.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/net/ethernet/rtl81xx
Entering Directory: /home/vagrant/minoca/os/drivers/net/ethernet/smsc91c1
Compiling - sm91c1.c
Compiling - sm91c1hw.c
Linking - smsc91c1.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/smsc91c1.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/net/ethernet/smsc91c1
Entering Directory: /home/vagrant/minoca/os/drivers/net/ethernet/smsc95xx
Compiling - smsc95.c
Compiling - smsc95hw.c
Linking - smsc95xx.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/smsc95xx.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/net/ethernet/smsc95xx
Leaving Directory: /home/vagrant/minoca/os/drivers/net/ethernet
Entering Directory: /home/vagrant/minoca/os/drivers/net/net80211
Compiling - control.c
Compiling - crypto.c
Compiling - data.c
Compiling - eapol.c
Compiling - mgmt.c
Compiling - net80211.c
Compiling - netlink.c
Linking - net80211.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/net80211.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/net/net80211
Entering Directory: /home/vagrant/minoca/os/drivers/net/wireless
Entering Directory: /home/vagrant/minoca/os/drivers/net/wireless/rtlw81xx
Compiling - rtlw81.c
Compiling - rtlw81hw.c
Linking - rtlw81xx.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/rtlw81xx.drv
‘/home/vagrant/minoca/os/drivers/net/wireless/rtlw81xx/firmware/rtlw8188eufw.bin’ -> ‘/home/vagrant/minoca/x86dbg/bin/rtlw8188eufw.bin’
‘/home/vagrant/minoca/os/drivers/net/wireless/rtlw81xx/firmware/rtlw8188cufwUMC.bin’ -> ‘/home/vagrant/minoca/x86dbg/bin/rtlw8188cufwUMC.bin’
‘/home/vagrant/minoca/os/drivers/net/wireless/rtlw81xx/firmware/rtlw8192cufw.bin’ -> ‘/home/vagrant/minoca/x86dbg/bin/rtlw8192cufw.bin’
Leaving Directory: /home/vagrant/minoca/os/drivers/net/wireless/rtlw81xx
Leaving Directory: /home/vagrant/minoca/os/drivers/net/wireless
Leaving Directory: /home/vagrant/minoca/os/drivers/net
Entering Directory: /home/vagrant/minoca/os/drivers/null
Compiling - null.c
Linking - null.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/null.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/null
Entering Directory: /home/vagrant/minoca/os/drivers/pci
Compiling - msi.c
Compiling - pci.c
Compiling - rootbus.c
Linking - pci.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/pci.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/pci
Entering Directory: /home/vagrant/minoca/os/drivers/spb
Entering Directory: /home/vagrant/minoca/os/drivers/spb/core
Compiling - spb.c
Linking - spb.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/spb.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/spb/core
Entering Directory: /home/vagrant/minoca/os/drivers/spb/i2c
Entering Directory: /home/vagrant/minoca/os/drivers/spb/i2c/am3i2c
Compiling - am3i2c.c
Linking - am3i2c.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/am3i2c.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/spb/i2c/am3i2c
Entering Directory: /home/vagrant/minoca/os/drivers/spb/i2c/rk3i2c
Compiling - rk3i2c.c
Linking - rk3i2c.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/rk3i2c.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/spb/i2c/rk3i2c
Leaving Directory: /home/vagrant/minoca/os/drivers/spb/i2c
Entering Directory: /home/vagrant/minoca/os/drivers/spb/spi
Entering Directory: /home/vagrant/minoca/os/drivers/spb/spi/rk32spi
Compiling - rk32spi.c
Linking - rk32spi.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/rk32spi.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/spb/spi/rk32spi
Leaving Directory: /home/vagrant/minoca/os/drivers/spb/spi
Leaving Directory: /home/vagrant/minoca/os/drivers/spb
Entering Directory: /home/vagrant/minoca/os/drivers/plat
Entering Directory: /home/vagrant/minoca/os/drivers/plat/goec
Compiling - goec.c
Compiling - keymap.c
Linking - goec.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/goec.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/plat/goec
Entering Directory: /home/vagrant/minoca/os/drivers/plat/quark
Entering Directory: /home/vagrant/minoca/os/drivers/plat/quark/qrkhostb
Compiling - qrkhostb.c
Linking - qrkhostb.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/qrkhostb.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/plat/quark/qrkhostb
Leaving Directory: /home/vagrant/minoca/os/drivers/plat/quark
Entering Directory: /home/vagrant/minoca/os/drivers/plat/rockchip
make[4]: Nothing to be done for 'all'.
Leaving Directory: /home/vagrant/minoca/os/drivers/plat/rockchip
Entering Directory: /home/vagrant/minoca/os/drivers/plat/ti
make[4]: Nothing to be done for 'all'.
Leaving Directory: /home/vagrant/minoca/os/drivers/plat/ti
Leaving Directory: /home/vagrant/minoca/os/drivers/plat
Entering Directory: /home/vagrant/minoca/os/drivers/ramdisk
Compiling - ramdisk.c
Linking - ramdisk.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/ramdisk.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/ramdisk
Entering Directory: /home/vagrant/minoca/os/drivers/sd
Entering Directory: /home/vagrant/minoca/os/drivers/sd/core
Compiling - sd.c
Compiling - sdlib.c
Compiling - sdstd.c
Linking - sd.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/sd.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/sd/core
Entering Directory: /home/vagrant/minoca/os/drivers/sd/bcm2709
Compiling - emmc.c
Compiling - sdbm2709.c
Linking - sdbm2709.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/sdbm2709.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/sd/bcm2709
Entering Directory: /home/vagrant/minoca/os/drivers/sd/omap4
Compiling - i2c.c
Compiling - pmic.c
Compiling - sdomap4.c
Linking - sdomap4.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/sdomap4.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/sd/omap4
Entering Directory: /home/vagrant/minoca/os/drivers/sd/rk32xx
Compiling - sdrk32.c
Linking - sdrk32xx.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/sdrk32xx.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/sd/rk32xx
Leaving Directory: /home/vagrant/minoca/os/drivers/sd
Entering Directory: /home/vagrant/minoca/os/drivers/special
Compiling - special.c
Linking - special.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/special.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/special
Entering Directory: /home/vagrant/minoca/os/drivers/term
Entering Directory: /home/vagrant/minoca/os/drivers/term/ser16550
Compiling - ser16550.c
Linking - ser16550.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/ser16550.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/term/ser16550
Leaving Directory: /home/vagrant/minoca/os/drivers/term
Entering Directory: /home/vagrant/minoca/os/drivers/videocon
Compiling - videocon.c
Linking - videocon.drv
Binplacing - /home/vagrant/minoca/x86dbg/bin/videocon.drv
Leaving Directory: /home/vagrant/minoca/os/drivers/videocon
Leaving Directory: /home/vagrant/minoca/os/drivers
Entering Directory: /home/vagrant/minoca/os/images
Building - install.img
Building - pc.img
Building - pcefi.img
Building - pctiny.img
Leaving Directory: /home/vagrant/minoca/os/images
from os.
my build system is debian8 running at VirtualBox:
$ cat /etc/issue
Debian GNU/Linux 8 \n \l
from os.
@melezhik Just to sanity check, we made a few fixes yesterday to get QEMU working. We had ACPI issues and the build process on Linux was leaving us with an empty /bin
directory. (See Issues #10 and #37 ). So, is your source up-to-date with 2fa9de8? If you are up to date and still not seeing a prompt, which version of QEMU are you running?
Also, once you get to the prompt, you'll run into the issue of not having any apps in /usr/bin
as discussed in Issue #37 .
from os.
Hi @ccstevens , my info:
vagrant@Debian-jessie-amd64-netboot:~/minoca/os$ git log | head
commit 785e2c8596a244b074b3b1aec0e60564217b4ac8
Author: Chris Stevens <[email protected]>
Date: Thu Nov 3 23:12:59 2016 -0700
AML CopyObject must convert source to DataRefObj.
According to the ACPI spec, the CopyObject operator must before an
implicit source conversion to a DataRefObject. A DataRefObject is either
a DataObject, an ObjectReference, or a DDBHandle.
vagrant@Debian-jessie-amd64-netboot:~/minoca/os$ qemu-x86_64 -version
qemu-x86_64 version 2.1.2 (Debian 1:2.1+dfsg-12+deb8u6), Copyright (c) 2003-2008 Fabrice Bellard
vagrant@Debian-jessie-amd64-netboot:~/minoca/os$ dpkg -l qemu
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-=============================-===================-===================-===============================================================
ii qemu 1:2.1+dfsg-12+deb8u amd64 fast processor emulator
So I'll get latest update from https://github.com/minoca/os.git and try to rebuild my image, let's see if it helps
from os.
yeah, new build succeeded , at least now I have a prompt:
minoca login: root (automatic login)
~#
But as you told, seems no commads get resolved , even opkg
, how to fix it?
from os.
Glad the build succeeded.
The os repository only builds the minimal system and does not include any third-party software. We get those applications (opkg
, wget
, etc) out of the third-party repository. You can set that up, run make
(may take a while) to build all the packages that can be cross-compiled and then use opkg-extract-data
to binplace the packages to ~/src/x86dbg/bin/apps
. The downside right now is that if you got opkg
and its dependencies built, /etc/opkg/opkg.conf
would point to our 0.3 packages, but we haven't yet published them. You could try pointing at our 0.2 packages, but I don't know if they'd all work on the 0.3 kernel. (I outlined this in a little more detail in Issue #37 ).
Since you're trying to get perl
building natively on Minoca, you just need the native tools, which will save you some time. You don't need to cross-compile all of the third-party apps. Try this:
-
Modify ~/src/third-party/Makefile line 172 to be
PACKAGES := $(ALL_TOOLS)
-
Run
make
in ~/src/third-party -
Use
opkg-extract-data
to add the native tools to your image.~# cd ~/src/third-party/build/opkg-utils ~# ./opkg-extract-data ~/src/x86dbg/bin/packages/binutils_2.23_minoca-i686.ipk ~/src/x86dbg/bin/apps
Repeat this for all the packages listed in
ALL_TOOLS
on line 48 of~/src/third-party/Makefile
, including those inOS_TOOLS
. -
Rebuild pc.img
~# cd ~/src/os/images ~# make clean ~# make
This should get you going. You may want to include some other packages (like nano
) to help you once you've starting building perl natively.
from os.
Thanks @ccstevens , will try to use your plan
from os.
Add...
gzip opkg wget tar
...this way and copy the whole packages
directory into apps
to be able to install the other packages running minoca...
opkg --force-depends --add-arch minoca-i686:500 install /packages/nano_*
...will install nano
and errors will hint which stuff is missing, so you'll know what to install next...
This is more a proof that it is possible but not a practical way...
It works!!!
And...
opkg list-installed
...does not list the packages. Got no clue for now...
Update 20161106-1620-GMT:
Looks like opkg
does not find it's config file. Adding -f /etc/opkg/opkg.conf
changes a lot...
from os.
Hi guys! @ccstevens @evangreen @drawkula I have recompiled image the way I was advised. looks like my binaries are here , I even managed to add a wget
and opkg
utilities, but network is down ( see the screenshot attached ) , which don't let me to move further with my task
from os.
My current pc.img
does networking:
(yeti@kumari:12)/wrk/minoca/qemu$ ssh -p22222 root@localhost
root@localhost's password:
(root@minoca:pty2)~# netcon
Minoca Network Configuration:
Network Device 0x19:
Physical Address: FE:FD:0A:00:02:0E
IPv4 Address: 10.0.2.15
Subnet Mask: 255.255.255.0
Gateway: 10.0.2.2
(root@minoca:pty2)~# wget http://yandex.ru
--2016-11-06 06:41:17-- http://yandex.ru/
Resolving yandex.ru (yandex.ru)... 2a02:6b8:a::a, 5.255.255.70, 77.88.55.66, ...
Connecting to yandex.ru (yandex.ru)|2a02:6b8:a::a|:80... failed: Address family not supported by protocol.
Connecting to yandex.ru (yandex.ru)|5.255.255.70|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://yandex.ru/ [following]
--2016-11-06 06:41:17-- https://yandex.ru/
Connecting to yandex.ru (yandex.ru)|5.255.255.70|:443... connected.
ERROR: cannot verify yandex.ru's certificate, issued by ‘/C=RU/O=Yandex LLC/OU=Yandex Certification Authority/CN=Yandex CA’:
Unable to locally verify the issuer's authority.
To connect to yandex.ru insecurely, use `--no-check-certificate'.
- I can ssh into it.
Connecting to yandex.ru (yandex.ru)|5.255.255.70|:443... connected.
What are you using?
- Qemu?
- Virtualbox?
- Vmware?
I think Virtualbox and Vmware are emulating a network interface hardware which Minoca OS currently does not support.
I'm using qemu-1:2.1+dfsg-12+deb8u6
as distributed with Debian-8.6. Currently it is started like:
qemu-system-x86_64 \
-enable-kvm \
-m 2048 -smp 2 \
-net nic,model=i82559er,macaddr=fe:fd:0a:00:02:0e \
-net user,hostfwd=tcp::22222-:22 \
-drive format=raw,file=pc.img
from os.
Hi , I am using qemu , see my previous comments about qemu version. But I do not use any "-net" parameters when launch army-system-x86_64 should I use any , ad yours one ?
from os.
net nic,model=i82559er,macaddr=fe:fd:0a:00:02:0e
sets up the emulated network card.
-net user
tells Qemu to use a method for networking not needing root privileges on the host.
,hostfwd=tcp::22222-:22
makes SSHing into the VM possible. A SSH daemon needs to be installed in the VM. You can omit it if you wish.
from os.
Yes, thanks for info. Will try to use these parameters. Also I am running qemu on virtual box machine, does this require any specific network parameters ?
from os.
I have not tried nesting VMs yet... :-/
from os.
Yeah, I see , will try to experiment with network settings though ...
thanks...
воскресенье, 6 ноября 2016 г. пользователь yeti написал:
I have not tried nesting VMs yet... :-/
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#24 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/AA8TyZ8XPi-Gs6rrtn7zDwD1AuUpzi6rks5q7ff7gaJpZM4KnPY3
.
from os.
Hi @drawkula , looks like qemu-system-x86_64 -net nic,model=i82559er,macaddr=fe:fd:0a:00:02:0e -net user -hda x86dbg/bin/pc.img
did the trick! Now I have network at my running minoca instance! Thanks.
And ... nesting VM does work for WindowsXP -> debian8 -> qemu -> minocaOS! :))
from os.
And ... nesting VM does work for WindowsXP -> debian8 -> qemu -> minocaOS! :))
Fantastic! ;-)
I have some problems with file transfers and SSHing into the VM gets stuck after a while. But I'm patient... it is Minoca OS v0.3.0... so some hiccups are to be expected...
from os.
yeah, sure, I am also was getting into some minor issues as minoca newbie, but having passed them I would say I am getting some useful experience
from os.
HI @evangreen After all I stumble on performance issues. All my attempts to run minoca images on qemu resulted in too slow performance, CPU usage was around 70-90 % when trying to compile Perl and took a dozens of miniutes.
I have some alternatives here:
- run minoca on VirtualBox - ( which I did ) - but I still have no network here, I recall there is github issue on it. VirtualBox gave me much better performance.
- run minoca on qemu with kvm acceleration, unfortunately I can't go with kvm as I only have laptop with windows 7 installed.
Any advice here ? Would be appreciated.
from os.
For Qemu, you could try reducing to single core (ie no -smp argument). That might speed things up a little, but will probably still be slow.
Other options might be:
- Boot on a real PC (might require some debugging, which would also be quite valuable to us). Might still not have networking support depending on your NIC.
- Attach a real USB stick (formatted with FAT) to VirtualBox, and use that as a way to get files in and out of the OS. All volumes in Minoca are listed under /dev/Volume/
Ideally we'd have that AMD PCnet32 LANCE driver. I plan to work on that soon.
from os.
ok, thanks for suggestions, will take a look closer soon.
Another idea came to my mind. Say we _publish_ somehow test harness reports for third party packages ? Then we would analyze such a reports using sparrow tool. Like for example for Perl it could be:
- build fresh minoca image
- run minoca instance using new image
- install Perl using source from third party repo
- run test harness : cd perl_build_dir/t && export LD_LIBRAY_PATH= .... && ./TEST 2>&1 1>perl.test.harness.tap; copy perl.test.harness.tap somewhere
- on other sever/laptop : get perl.test.harness && cat perl.test.harness.tap | sparrow plg run minoca_perl_harness
A possible benefits of this method: ( imho )
- people writing/ruining test harness anylizers can do it without any access to minoca running instances
- easy to write new test harness anylizers ( sparrow plugins ) as one could check out test harness reports from git and start writing analyzer ( sparrow ) code
- we can publish back anylizers reports and place them at the same central place as test harness reports
What do you think ?
from os.
That sounds good to me. Then people can analyze the raw test output if the automation alerts them to test failures.
from os.
Well, I am going to get my work pc soon with ubuntu install, where qemu runs much faster , so to run perl tests there , meanwhile do you have any existed perl test reports for Minoca? If so please attach here.
Ideally I would see nightly builds of minoca images with tests running and tests reports get pushed somewhere so that one could download them and runs sparrow anylizers against ( this could be done automatically as well ) .
For the beginning it could be simply github/gitlab repository, but we could think about dedicated service for this. I know now 'make test' phase skipped when building packages at least looking at perl, it could be optional, and enabled so that test reports generated .... it's just suggestions, ideas of course as I am not in details about your internal methods building minoca images ...
from os.
You can add a 'make test' target to third-party/build/perl-5.20.1/Makefile that run's perl's tests. Then our automation can simply run that target. That's what the automation currently does to build the packages. See os/tasks/build/tasks.json for the skeletal structure of our current automation.
I don't have any previous Perl test reports, unfortunately.
You can also attach a real USB drive to virtualbox, one with the sources already on it, and build from there. Then when it's finished, examine the files back on your main PC.
from os.
Ok, Evan , this is not I can't generate a perl test report on my own, indeed I already did that, I am just trying to figure out if we can use existed build system to generate such. Neveremind right now :-) , I think I need to present working version of sparrow plugin first and then we could think about further steps to get things scaled ...
from os.
@evangreen I get an error when try to build Perl on running Minoca instance:
Not sure what happening , it says that file or directory UU/x?? does not exist. Grepping Makefile, build.sh or Configure files has not helped me much.
from os.
Can you try a make clean
in that same directory you ran make from? Maybe there was some old junk in there.
from os.
Hi Evan. I tried many times, with various attempts, and of course did make clean
as well. This is a strange bug. A couple days ago, I was able to make
perl ... strange ... Now I am trying to start all over from the scratch, to eliminate any side effects, I copied a whole third party and os repos to USB, and trying to attach it to running minoca os and then initiate make
for perl ... let's see.
Meanwhile, could you try on your own and confirm that make
for perl works for you?
from os.
Hmm. That is strange. So you're using an image that you built from source, right? Where did GCC come from? Was it built from source, or 0.2 package from the website, or 0.3 package from the website?
We have automated builds from last night and today that are building Perl successfully, so I know that it's possible at least with all new binaries.
You could try adding set -x
to the Perl Configure script in order to see exactly what sequence of commands is going wrong. If you do this over SSH then you can even copy/paste the result as text.
from os.
HI @evangreen as I told, probably it is some side effects happened during my hacking into minoca build process, I am going to start it all over from the scratch and let you know if any issue occur.
Thus, I am going to:
- build new minoca images from os repo
- build ALL_TOOLS + tar/gzip/patch/wget from third party and add to image via opkg-utils/opkg-extract-data
- remake image so ALL_TOOLS add to
- run new image ( via qemu or VirtualBox)
- pull third party perl build / src and some extra files at the top of third party repo - like build_common.sh , so on ( I don't want to pull all the third party repo as it too heavy ... ) into running minoca instance
- try to
make
perl on running minoca instance
Is it ok ?
PS as I understand I don't need minoca-tools-linux.tar.gz when building thing on running minoca instance , as I already have a linux tools compiled as ALL_TOOLS
( gcc, make, autotool, so on)? Probably the issue was due to I tried to use minoca-tools-linux.tar.gz
on running minoca instance (to build things), which might be incompatible with ...
from os.
BTW, adding files via USB to VirtualBox requires installing extension pack what I can't as don't have admin access to my laptop. But it's ok I am going to pull files for perl build/src from third party repo via usual wget
from os.
uhhh, succeeded (: yay! after running from the scratch, what I did:
- built new minoca image
- build ALL_TOOLS + few apps packages ( like nano, so on )
- copied os repository into image file ( cp -r os/ x86dbg/bin/apps/src ... and cd os/images/ && make clean && make )
- copied truncated ( top level files + perl build/src ) third-party repository into image file ( cp -r third-party x86dbg/bin/apps/src && cd os/images/ && make clean && make )
- run new image
- set vars
- cd /src/third-party/build/perl-5.20.1 && make
from os.
btw image size not that big if not packed in all third-party stuff:
vagrant@Debian-jessie-amd64-netboot:~/minoca/os/images$ qemu-img info ~/minoca/x86dbg/bin/pc.img
image: /home/vagrant/minoca/x86dbg/bin/pc.img
file format: raw
virtual size: 1.0G (1073741824 bytes)
disk size: 513M
from os.
related MR - https://gitlab.com/minoca/third-party/merge_requests/2
from os.
Awesome, glad to hear you're up and building. Thanks for alerting me to the merge request on gitlab, otherwise I probably would not have seen it. What does ./runtests choose do? Does it require user interaction or does it just run all the tests? We would probably want something that runs all the tests for automation purposes.
from os.
LD_LIBRARY_PATH=$(pwd) ./runtest choose
is what is invoked under the hood when one just make test
inside Perl build directory. I should have had more "high level" make test
, but it implies a make
action before , which is abit time consuming even gets called second time. (but feel free to change it, I am just restricted to low CPU due to nesting virtualization at the laptop I am trying to get my tests, so I need to make extra "optimization" in some ways ... ;)
I guess most of makes for linux packages have test
target, this is kinda convention. And if even this is not the case we always get a choice to call a package specific command inside build.sh
, like I did for Perl.
from os.
https://gist.github.com/melezhik/8d6a105c0e9fa0eece26a764e9d2d7a3 - make test report for minoca third-party/perl-5.20.1
from os.
Hi Evan! As you could see a quite a lot tests fails ( see gist link for full report ), as summary this is:
Failed 34 tests out of 2300, 98.52% okay.
../cpan/IO-Socket-IP/t/01local-client-v4.t
../cpan/IO-Socket-IP/t/02local-server-v4.t
../cpan/IO-Socket-IP/t/03local-cross-v4.t
../cpan/IO-Socket-IP/t/11sockopts.t
../cpan/IO-Socket-IP/t/13addrinfo.t
../cpan/IO-Socket-IP/t/15io-socket.t
../cpan/IO-Socket-IP/t/18fdopen.t
../cpan/IO-Socket-IP/t/20subclass.t
../cpan/IO-Socket-IP/t/21as-inet.t
../cpan/IO-Socket-IP/t/30nonblocking-connect.t
../cpan/Math-Complex/t/Complex.t
../cpan/Math-Complex/t/Trig.t
../cpan/Socket/t/getnameinfo.t
../cpan/Time-HiRes/t/itimer.t
../cpan/Time-HiRes/t/ualarm.t
../dist/IO/t/cachepropagate-tcp.t
../dist/IO/t/cachepropagate-udp.t
../dist/IO/t/io_multihomed.t
../dist/IO/t/io_sock.t
../dist/IO/t/io_udp.t
../dist/Math-BigInt-FastCalc/t/bigintfc.t
../dist/Math-BigInt-FastCalc/t/mbi_rand.t
../dist/Net-Ping/t/110_icmp_inst.t
../dist/Net-Ping/t/500_ping_icmp.t
../dist/Net-Ping/t/520_icmp_ttl.t
../ext/POSIX/t/termios.t
../ext/POSIX/t/time.t
../lib/File/Copy.t
io/fs.t
op/exp.t
op/stat.t
op/threads-dirh.t
porting/checkcase.t
porting/podcheck.t
So let's decide on what we would do further. If I got you right, it's ok that some tests fail mean that minoca OS lacks some features, I am however not sure if all the failures here due to this reason, some could fail due to OS bugs, does it? Please give me a hint on this ( how we would tell some failures from others, so on ... ) thanks ...
from os.
Great, glad you got this up and running. The main things we don't have that cause most of the limitations are 1) No hard links. This is a limitation of the file system we're using. 2) Lack of a network loopback device (ie 127.0.0.1). This one we'd like to fix, we just haven't gotten there yet as we need network routing infrastructure first. 3) Our math library may not be super optimized, or might have an issue or two somewhere.
Most of the test failures can be chalked up to one of those shortcomings. The ones I'm suspicious might be bugs are
t/op/threads-dirh
t/porting/checkcase
t/porting/podcheck
cpan/Time-HiRes/t/itimer
cpan/Time-HiRes/t/ualarm
dist/ExtUtils-CBuilder/t/00-have-compiler
ext/POSIX/t/termios
ext/POSIX/t/time
The only way to really figure it out is to dig into those tests, find out what they're doing, and try to understand why our behavior is different than the expected behavior. We'll either find a bug or a TODO at the end of the rainbow for each.
If you're mostly interested in getting your test infrastructure up and running, you could assume this is all the "correct" output, and code your test patterns to it. If you're interested in tracking down the suspicious failures, we would of course appreciate any bug reports you find.
from os.
Great, Evan.
If you're mostly interested in getting your test infrastructure up and running, you could assume this is all the "correct" output, and code your test patterns to it. If you're interested in tracking down the suspicious failures, we would of course appreciate any bug reports you find.
Yeah, mostly the first one :) - to create a tool for test infrastructure , but will see, I have got a heavy Perl background in the past, so I might help you in the future, by my initial purpose is sparrow.
I am going to finish first draft version of sparrow plugin for Perl harness test so you will be able to take a look at it and see my vision on minoca related Perl testing
from os.
This is the first version of perl-harness-check to take it for a spin. The easiest way to install sparrow on minoca ( in case you want to run plugin on running minoca instance ) is:
$ opkg install curl bash make gcc perl
$ curl -L -k -f https://cpanmin.us -o /usr/bin/cpanm
$ chmod +x /usr/bin/cpanm
$ ln -s /bin/env /usr/bin/env
$ cpanm --notest -q Sparrow # could take for a while, this is why I do it not running tests (notest)
$ sparrow index update
Then follow install notes in perl-harness-check plugin on how to install/configure/use it.
The installation process should be easy, at least I tried it many times at minoca running instance.
from os.
Cool. I need to stare at that example project you created for a little while. I'm terrible at Perl, so I'm a little fuzzy on what it does. But I'll be looking to understand how Sparrow can help alleviate problems I might have if I were not using any test infrastructure (say I was only using a Python script with some regexes). I'll also try to understand how to install and run Sparrow, and what, if any, dependencies it has other than Perl.
I saw the readme on the Sparrow github page, feel free to point me at any other documentation you might have.
from os.
Sure, Evan. To better understand Sparrow ideology you might start with ( step by step ):
- Outthentic-DSL - a DSL to verify text
- Outthentic - a generic framework to write automation scripts, consuming Outthentic-DSL language
- Sparrow - outthentic scripts orchestrator
Both Outthentic-DSL and Outthentic make it possible to write things in user choice language - Perl5, Bash or Ruby. In other words Sparrow/Outthentic DSL/Outthentic are written on Perl but the public interface is always - one of the mentioned languages + language agnostic DSL. Please follow documentation. If this sounds interesting I can add a Python support ( which is not that hard ) to make it possible write scripts on Python and extend DSL using Python.
from os.
And one more thing on tool cpanm mentioned here - this is de facto most often used CPAN package manager - https://metacpan.org/pod/App::cpanminus
from os.
I'm terrible at Perl, so I'm a little fuzzy on what it does.
It's simple Perl test harness report validator. There is list of tests to be passed - default pass list
, once plugin runs it searches report ( using regexp ) on lines matching <$test_name .... ok> patterns, so if all the tests from the list are matched - verification is succeed. Letter on user could extend default pass list with so called custom pass list
( or command line arguments analogy --param should_pass=$test_name
) which is also list of tests to be passed which represents the situation when OS features get added and/or bugs get fixed, resulting in new tests succeeded which is not listed at the default pass list. Finally user might create a merge request to plugin maintainer ( me or someone else ) to move new tests to default pass list - to make things "frozen" , so that new version of plugin with updated default pass list is released. This is regression test approach letting Minoca developers know promptly if/when old issues slip in or if bugs get fixed and features gets add to make it passed some new tests in Minoca Perl package.
from os.
HI Evan, have you managed to play with perl-harness-check ? Do you have any other questions?
from os.
I haven't had a chance yet to look at this or the smoke test. Give me a couple days. Sorry I'm being slow.
from os.
Ok, sure. No rush at all.
from os.
Ok, I was able to follow the directions earlier in the thread to get the Sparrow plugin installed. I tried feeding it bad input and verified that it complains about the missing success cases. Looks like it works as advertised.
What did you have in mind for next steps here? There's the obvious matter of needing to write test patterns for other packages, but I suppose there's also the question of how to best wire this into the automation (assuming that makes sense to you). Seems like there are two options.
Option one is to install this infrastructure on each test machine during each run. I'm not sure what the bandwidth requirements are for doing a fresh installation on ~10 machines every day. The third-party packages we build stay local on the Intranet, so opkg installations are free.
Option two is to have the test machines run the Perl test, then push the raw results up to some machine that receives the reports and runs the Sparrow plugins on the test data. If the machine were on the LAN, then the bandwidth of pushing the raw test reports around would be free. The Sparrow machine would then need a way to report the final results somehow back to our automation master.
from os.
HI Evan! Great you try sparrow out and I am glad that you managed to use it, at least for this task.
Ok. Seems like both options make a sense for me. I don't know about your internal build infrastructure but what I can say. If to talk about first case which implies bootstrapping sparrow for every test machines the overheads are:
- installing curl ( required by Sparrow ) - local via opkg
- installing Perl - local via opkg
- installing make and gcc ( are required to install some CPAN modules ) - local via opkg
- installing bash ( required by Sparrow ) - local via opkg
- installing cpanminus ( minimal time - few seconds )
- installing Sparrow as CPAN modules + about dozen of CPAN modules as dependencies, if to run with
--notest
option to optimize on test stage ( which could be large ratio of overall time ) on my quite slow QEMU instance it takes in average 5-10 minutes, but on your servers I would assume it could be much faster. - installing perl-harness-check sparrow plugin ( minimal times - few seconds )
So having this you could estimate an average time for Sparrow bootstrap, I would say it is about 1-5 minutes, but ymmv.
Second case is definitely less expensive for your build infrastructure as requires no sparrow bootstrap at all, but then we should think about new block in the system - Sparrow machine ( I like the way you call it by the way ;-) , well it's intersting idea, what I can ask/say:
- which internet sparrow machine will be live ? ( your internal LAN , VPN or public internet )
- who is going to develop / maintain sparrow machine API ? If me ... that's ok - I'd like to participate, but we should discuss details ( maybe better by irc when you can ... )
And the last comparing case 1 and case 2:
When run perl-harness-check strait at the test machines ( case 1 ) user benefits to ssh to such machine and runs perl-harness-check manually with many other options and make some troubleshooting ( for example - run a single/specific Perl tests , examine Perl test verbose output, see OS/kernel settings, etc. ) - so this way much closer to OS itself, as with Sparrow machine API we only feed a harness reports to and get some formal verification results back.
from os.
There's the obvious matter of needing to write test patterns for other packages,
Sure. But before this I would like to agree on common questions ( "how to best wire this into the automation " ). At least now we have a perl-harness-check to play with and when we arrange on how we want to run verifications against harness reports, then we could scale this approach on other third party packages tests.
from os.
btw, I am at the minoca irc now (melezhik2), we could start to discuss here as I see a lot things came up ...
from os.
I'm getting ready for a trip tomorrow, so I'm not really available for chat. I'll be out of town this coming week with sporadic Internet access, but I wanted to make sure I took a look at this before I left.
Sounds like you prefer the option of downloading and running Sparrow on each test machine. Ignoring any opkg download, would you say the bandwidth per machine for installing Sparrow and all the CPAN modules is < 10MB? I guess we could also create a test opkg that contains those modules. I'll give it some thought while I'm flying tomorrow.
from os.
I would say that for some tasks ( like minoca-pkg-test, issue #53 ) - running sparrow on test machine directly is the only option. For others ( like perl-harness-check , here ) we could think also about Sparrow machine, but see pros and cons I had at #53 .
would you say the bandwidth per machine for installing Sparrow and all the CPAN modules is < 10MB?
I think so, I have not measured this, but is sound like this. CPAN modules are quite tiny, every single one.
from os.
Sounds like you prefer the option of downloading and running Sparrow on each test machine
One more thoughts , I would not say I prefer a direct sparrow run over sparrow machine API. Last one seems to fit only for a narrow set tasks, like here - analyzing third packages test reports.
Initially sparrow was stared as a handy tool for running from console ( by human or automatically ). It has a tons configuration options like - tasks, projects , various configuration formats and it shows its best when running like command line tool.
Anyway we should take into account both directions. As having http/REST API is pretty perspective thing as well, with it's benefits. But as I told it implies my deeper involvement ( developing , maintenance such an API ), which I am not against of, but we need to discuss details.
Hope this make it all clear. :)
from os.
HI Evan!
I have installed Sparrow on fresh minoca instance, here is dependencies:
bash-4.3# ls -l /root/.cpanm/work/1479814377.148/*.gz
-rw-rw-r-- 1 root root 317681 May 24 2016 /root/.cpanm/work/1479814377.148/App-cpanminus-1.7042.tar.gz
-rw-rw-r-- 1 root root 87103 May 23 2016 /root/.cpanm/work/1479814377.148/Carton-v1.0.28.tar.gz
-rw-rw-r-- 1 root root 39816 Oct 19 2012 /root/.cpanm/work/1479814377.148/Class-Inspector-1.28.tar.gz
-rw-rw-r-- 1 root root 27773 Sep 10 11:55 /root/.cpanm/work/1479814377.148/Class-Tiny-1.006.tar.gz
-rw-rw-r-- 1 root root 13636 Jan 18 2015 /root/.cpanm/work/1479814377.148/Clone-0.38.tar.gz
-rw-rw-r-- 1 root root 64700 Jul 28 23:12 /root/.cpanm/work/1479814377.148/Config-General-2.63.tar.gz
-rw-rw-r-- 1 root root 11165 Jun 25 2014 /root/.cpanm/work/1479814377.148/ExtUtils-Config-0.008.tar.gz
-rw-rw-r-- 1 root root 15099 Sep 09 10:27 /root/.cpanm/work/1479814377.148/ExtUtils-Helpers-0.026.tar.gz
-rw-rw-r-- 1 root root 18588 Feb 15 2015 /root/.cpanm/work/1479814377.148/ExtUtils-InstallPaths-0.011.tar.gz
-rw-rw-r-- 1 root root 11973 May 12 2014 /root/.cpanm/work/1479814377.148/File-ShareDir-1.102.tar.gz
-rw-rw-r-- 1 root root 31187 Aug 07 19:51 /root/.cpanm/work/1479814377.148/File-ShareDir-Install-0.11.tar.gz
-rw-rw-r-- 1 root root 10339 Nov 03 2013 /root/.cpanm/work/1479814377.148/Hash-Merge-0.200.tar.gz
-rw-rw-r-- 1 root root 85333 Oct 31 2013 /root/.cpanm/work/1479814377.148/JSON-2.90.tar.gz
-rw-rw-r-- 1 root root 41780 Apr 23 2016 /root/.cpanm/work/1479814377.148/JSON-PP-2.27400.tar.gz
-rw-rw-r-- 1 root root 20663 Oct 12 2014 /root/.cpanm/work/1479814377.148/Module-Build-Tiny-0.039.tar.gz
-rw-rw-r-- 1 root root 22117 Feb 12 2016 /root/.cpanm/work/1479814377.148/Module-CPANfile-1.1002.tar.gz
-rw-rw-r-- 1 root root 4689 Aug 21 2014 /root/.cpanm/work/1479814377.148/Module-Reader-0.002003.tar.gz
-rw-rw-r-- 1 root root 58236 Nov 19 11:23 /root/.cpanm/work/1479814377.148/Outthentic-0.2.15.tar.gz
-rw-rw-r-- 1 root root 52593 May 05 2016 /root/.cpanm/work/1479814377.148/Outthentic-DSL-0.1.4.tar.gz
-rw-rw-r-- 1 root root 91600 Oct 09 20:27 /root/.cpanm/work/1479814377.148/Path-Tiny-0.098.tar.gz
-rw-rw-r-- 1 root root 168147 Nov 21 07:50 /root/.cpanm/work/1479814377.148/Sparrow-0.2.18.tar.gz
-rw-rw-r-- 1 root root 55839 Apr 13 2016 /root/.cpanm/work/1479814377.148/swat-0.1.96.tar.gz
-rw-rw-r-- 1 root root 32270 Aug 15 18:44 /root/.cpanm/work/1479814377.148/Try-Tiny-0.27.tar.gz
-rw-rw-r-- 1 root root 81305 Nov 18 10:47 /root/.cpanm/work/1479814377.148/YAML-1.19.tar.gz
I was inaccurate in my assumption, it's 24 modules, however as you see an overall size is far less then 10MB ...
from os.
a total size is about 1.3 MB:
bash-4.3# ls -l /root/.cpanm/work/1479814377.148/*.gz | perl -n -e 'my @f = split ; my $s = $f[4]; $sum+=$s; END{ print $sum/(1024*1024), " MB\n" }'
1.30046081542969 MB
from os.
Hi Evan! Any updates from your side here?
from os.
Hi Alexey,
If the bandwidth requirements are not too huge, we can start by trying to craft up something that downloads sparrow onto each test machine and runs the test. Do you want to try and add that to our automation? Here's some info on how to do it:
The overall structure of the test is defined in os/tasks/build/tasks.json and os/tasks/test/tasks.json. You'll need to add JSON to test/tasks.json to create a new task for running your test, which can be split into multiple steps, and then add an entry in "Native Test" in build/tasks.json to run that new task.
Each step run is just a shell script that gets executed. So you'll need assume you're starting from a clean environment where Perl is installed but not much else. You can see the list of packages each fresh test machine comes with at os/tasks/build/add_files.sh (the PACKAGES variable).
Each shell script should return 0 on success, or non-zero on failure (setup, test, or other errors). Stdout and stderr are captured, so we can examine the output of any failed step in the build. The new shell scripts you create can live in os/tasks/test, or a subdirectory of that.
Once we've got that pull request in, we can let it run through the automation and see what happens.
from os.
Hi Evan. Sounds good.
You can see the list of packages each fresh test machine comes with at os/tasks/build/add_files.sh (the PACKAGES variable).
I can't see bash here, can we add it to PACKAGES, or I may add it in runtime via opkg install bash
?
from os.
ahh, also I need a curl ...
from os.
Sure, you can use opkg to install additional dependencies you need.
from os.
Ok, then I will come up with pull request soon and let you know ...
from os.
from os.
Hi Alexey. Here are the results from the first run: http://pastebin.com/2J8DeeQr
A few notes:
- I don't love all the blank lines in there. One blank line between each tested package seems appropriate, but any more just spreads things out too much.
- Is the ending "fail" status intentional? We'll need to address that soon as it causes all the tasks after it not to run, and marks the entire build as failed.
- Looks like most of the "not ok" errors are charset.alias related, but there is still the dropbear problem. Did you have some thoughts on addressing that? Want to tackle a fix? There may be other packages in the future that conflict as well, so our solution should be generic if possible. I think the opkg description has a "Conflicts:" section, so we could note the conflicting dependencies there and then have the test infrastructure do ... something?
- Failure information should be printed to stderr, not stdout, so we don't have to dig through tons of output to figure out what went wrong. It should be identifiable on its own, because stderr output is collected and viewed separately from stdout. By that I just mean put the package name in the stderr output so we can tell which error lines are related to which packages.
from os.
Hi Evan. Thank so much for such a detailed feedback.
Some of your points could be fixable pretty simple , but some are not that easy let me formulate my thoughts:
-
sparrow was designed with idea in mind to be flexible tool to cope with wide variety of tasks, not only testing, thus sparrow output is not "designed" to fit some requirements, it's just some format which works ok for me. From other hand under the hood sparrow is just a collection of scenarios , bash scripts gets called with some parameters and producing some output, and I think I can do something with issues about output you talk here, but this probably requires an essential residing of original test suite ...
-
Is the ending "fail" status intentional? We'll need to address that soon as it causes all the tasks after it not to run, and marks the entire build as failed.
Yes. But I did not know that in would be in conflict with your test system. As it's kinda "hard-coded" into sparrow output format , I don't see a quick solution here, but let me think , I will come back to you latter with regards this point ...
-
Looks like most of the "not ok" errors are charset.alias related, but there is still the dropbear problem. Did you have some thoughts on addressing that? Want to tackle a fix? There may be other packages in the future that conflict as well, so our solution should be generic if possible. I think the opkg description has a "Conflicts:" section, so we could note the conflicting dependencies there and then have the test infrastructure do ... something?
it's doable , let me think about implementation ... probably we need to add new entity like conflicting packages and handle this ... but anyway I would like to follow KISS here . A very first approach coming into my mind is to remove conflicting packages if being installed before starting a test for package being clashed by ...
-
Failure information should be printed to stderr, not stdout, so we don't have to dig through tons of output to figure out what went wrong.
I am not sure if I understand you. Do you investigate STDERR only in your test scripts? So in other words you don't care too much about STDOUT? Let's clear this case ...
PS. last thing - not related to this subject directly - pastebin.com access is forbidden here in Russia, could you share in the future via other systems (github gits or something others ... ) ?
Thanks. Alexey
from os.
And one thing to add to above ...
-
I don't love all the blank lines in there. One blank line between each tested package seems appropriate, but any more just spreads things out too much.
We can talk in sparrow language about scenarios ( a single scripts to be executed and verified ). Thus every scenario produces following lines go consecutively:
- scenario header ( 1 line , something like "/modules/pkg/test/ started" )
- scenario output ( could be empty or 1 or many lines - this we can't control )
- scenario footer ( scenario status - always one line -"ok scenario succeeded" or "not ok scenario succeeded" )
- scenarios check list results ( could be empty if check list is empty ; if check list not empty could be 1 or many lines )
I can remove extra lines after each step. Let me know if it helps.
Like for perl package :
/modules/pkg/install/ started # install package perl scenario
install perl - 5.20.1
gonna do this: opkg -f /etc/opkg/opkg.conf install perl
Package perl (5.20.1) installed in root is up to date.
ok scenario succeeded
ok output match /(installed in root is up to date|Installing\s)/
ok output match /Package\s+perl\s+\(5\.20\.1\)\s+installed in root/
/modules/pkg/test/ started # test package perl scenario
running test command: bash -c 'perl --version' ...
This is perl 5, version 20, subversion 1 (v5.20.1) built for i686-minoca-thread-multi-64int
Copyright 1987-2014, Larry Wall
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.
Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl". If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.
ok scenario succeeded
ok output match 'This is perl 5'
/modules/pkg/install/ started # next package
could be
/modules/pkg/install/ started
install perl - 5.20.1
gonna do this: opkg -f /etc/opkg/opkg.conf install perl
Package perl (5.20.1) installed in root is up to date.
ok scenario succeeded
ok output match /(installed in root is up to date|Installing\s)/
ok output match /Package\s+perl\s+\(5\.20\.1\)\s+installed in root/
/modules/pkg/test/ started
running test command: bash -c 'perl --version' ...
This is perl 5, version 20, subversion 1 (v5.20.1) built for i686-minoca-thread-multi-64int
Copyright 1987-2014, Larry Wall
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.
Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl". If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.
ok scenario succeeded
ok output match 'This is perl 5'
/modules/pkg/install/ started # {{{next}}} package install scenario
And one thing we could take an "optimization" at, we could collapse "install package" and "test package" scenarios for one package into single scenario, but IMHO this would impact readability and lucidity of our test suite.
from os.
For the ending status failure, let's do this:
- For the tests that fail today, can we flip the expected logic? Meaning, change the bash script so that the scenario passes if the underlying test fails. That way, everything will pass today. Then, when we fix the charset.alias issues, we will see many new failures, and will remember to go back and reverse the logic in the test.
- I did not know pastebin was banned in Russia. Weird. Try https://gist.github.com/evangreen/5a7964d6d5494607368594979644248b
- Your proposed line spacing looks better to me. You'll see from the gist what I mean about tons of extra blank lines. It goes on forever.
- Regarding stderr, the idea is that "ok scenario succeeded" prints to stdout, but "not ok scenario failed" should print to stderr. Whenever there is a problem the first thing we do is look at stderr first. That gives us an immediate first impression of the issue, and if it's a known issue we can ignore it. If we need more context than stderr provides, then we go look at stdout to find out the inner details of what caused the error. But with everything in stdout we have to comb through many useless lines of text to figure out what happened. Plus a user might not know to search for "not ok", they might search for "error" or "fail" instead and get frustrated that there are no relevant results. Also, just to clarify, printing "not ok scenario failed" is not enough, as we want to know which scenario failed.
- I agree we should keep "install package" and "test package" separate, as they are really logically different tasks.
Here's an example of stderr from a recent build failure. See how it lets you know what exactly the problem was, and then if we need more we'll go back and look through the entire build log.
rsync: [sender] write error: Broken pipe (32)
rsync error: error in socket IO (code 10) at /auto/working/11569/src/x86dbg/obj/third-party/rsync-3.1.2.src/io.c(820) [sender=3.1.2]
make[2]: *** [install-man] Error 10
make[1]: *** [install-recursive] Error 1
make: *** [all] Error 2
Process completed with status 2 at 2016-12-15 22:13:09.
from os.
Ok., Evan more or less the things you have told make a sense for me , eventually I believe we will work out format suitable for both of us. I am going to improve some things soon. But if I got you right the only urgent task is :
For the tests that fail today, can we flip the expected logic? Meaning, change the bash script so that the scenario passes if the underlying test fails.
If I change "STATUS FAILED" at the end to something differ from you "reserved" phrase , will it solve your problem?
from os.
I assume that if all the scenarios succeed then the status at the end will succeed, right? Can we change the logic for each scenario that is failing to make it succeed if that particular test fails?
from os.
Like I want to do !(test dropbear), (test other-package), !(test failing-package), ...
from os.
Hmm. let me get back your previous phrase
Is the ending "fail" status intentional? We'll need to address that soon as it causes all the tasks after it not to run, and marks the entire build as failed.
I though that line "STATUS FAILED" at the end of minoca-pkg-test report don't let other tasks after it to run.
And thus you wanted me to change this line? Probably I was wrong ,,, )))
from os.
Probably problem not about "STATUS FAILED" line but about none zero exit code?
from os.
You are correct. The non-zero return code of this step stops the build process.
Is it correct that if all scenarios succeed, then your task will return 0? If so, then my goal is to make all individual scenarios succeed for now, so that the overall return code is 0. But I don't want them to just succeed blindly. I want the scenarios for packages that are currently failing to only succeed if the smoke test part fails. So that the test still measures something.
from os.
Is it correct that if all scenarios succeed, then your task will return 0?
yes. and if it is not the exit code will be none zero ( mostly 256 )
I want the scenarios for packages that are currently failing to only succeed if the smoke test part fails. So that the test still measures something.
But if tonight there will be other packages test that fails ( we can't always know for sure ) and we end up with none zero code at the end, will it be ok for you?
from os.
Yes, that will be ok. We know from this output that these packages will all fail consistently.
from os.
ok, there is no easy way to revert check logic here ( to be honest such a capabilities are not in sparrow design ), but there are 2 choices here :
- remove some packages from check list ( so they don't impact overall test status and exit code )
- make some packages pass tests unconditionally
Does it match your needs?
from os.
Can't you do it in bash? Something like...
case $pkg in
badpkg1|badpkg2|...)
if opkg install ... ; then
exit 2
else
exit 0
fi
;;
*) opkg install ... ;;
esac
from os.
ok, if you need this I can implement such a logic, though I found it a bit weird )))
Why you don't want just to skip tests for such a packages for awhile till you fix a "charset.alias" ( check_data_file_clashes ) issue?
from os.
Because I'll never remember to go turn them back on. I was hoping there was some sort of "expected-failures" file or something. But in the absence of that, this is a homemade implementation of "expected failures".
This also won't be the first instance where we're trying to get a new test online, and want to exempt some current failures until they can be cleaned up. Just like here, in those cases you want the test to complain if the behavior changes. So that if a previous failure is fixed, you're forced to deal with it, because chances are the developer won't remember that there's a test to re-enable.
Even better would be a test that exempts certain failures, but if those failures ever become successful, then the test will never allow those failures again. But that's probably too advanced for now, and there would be questions of where the test infrastructure would record such changes.
from os.
Ok. Let me rephrase your idea. You need to check that some (most of) packages are successfully installed - which is the current version minoa-pkg-test does.
And now you need to checks that some packages fail to install.
Right?
from os.
Yes, that's correct.
from os.
ok, this is gonna be a list of bad packages:
<bad_packages>
autogen
gettext
guile
libcroco
dropbear
</bad_packages>
Packages which fails to install due to check_data_file_clashes problem. Correct? ( I have grepped https://gist.github.com/evangreen/5a7964d6d5494607368594979644248b )
from os.
yes
from os.
I have uploaded new version of minoca-pkg-test 0.0.19 to support bad packages
from os.
strange , but when running it on freshly build minimal image I succeeded to reproduce check_data_fail_clashes only for:
- libcroco
- autogen
( other "bad" packages succeeded to install )
Could you please check for your self?
If after all, in case of minoca-pkg-test does not match your urgent needs we could delay it launches till Monday ( when I get faster PC to get my tests there ) and temporary disable minoca-plg-test run in nightly builds. But it's up to you to decide Evan. It's too late here , I am going to sleep ))))
from os.
Hi Evan! I just released a new version of minoca-pkg-test plugin ( 0.0.25 ), it generates a summary upon failures in the end. This is example of failures report emitted into STDERR, ( while the rest of output remains at STDOUT - as it was for previous versions )
//////////////////////////////////
/// Custom Report ( Failures ) ///
//////////////////////////////////
story: pkg/install-fail
variables: pkg: dropbear version: 2016.74
scenario status: FAILED
stdout: ( last 3 lines )
install dropbear - 2016.74
gonna do this: opkg -f /etc/opkg/opkg.conf install dropbear
Package dropbear (2016.74) installed in root is up to date.
check list:
not defined
---------------------------------------------------------------------------
story: pkg/install
variables: version: bar pkg: foo
scenario status: FAILED
stdout: ( last 3 lines )
Unknown package 'foo'.
Collected errors:
* opkg_install_cmd: Cannot install package foo.
check list:
not defined
---------------------------------------------------------------------------
story: pkg/install-fail
variables: version: 0.6.11 pkg: libcroco
scenario status: FAILED
stdout: ( last 3 lines )
Installing libcroco (0.6.11) on root.
Downloading http://www.minocacorp.com/packages/0.3/i686/main/libcroco_0.6.11_minoca-i686.ipk.
Configuring libcroco.
check list:
not defined
---------------------------------------------------------------------------
from os.
Hi Alexey,
Interesting results. I'm away from my office for the holidays, and so I don't have my proper devices to check things out. I'll be able to run these tests on my own again after I get back around Jan 2 or 3.
This is a lot to put out of stderr, I was actually hoping for something much simpler. Really only the lines related to error. Something like
minoca-pkg-test: Failed scenario 'pkg: libcroco'. Story exited with status 11.
This kind of line is good because it documents:
- Which program failed (minoca-pkg-test)
- A brief description of what the failure was (a failure of one of the scenarios, and says which scenario)
- Any identifying information about the error (exited with status 11).
I could use that line to then search back up through stdout to see more of the detail of how the scenario ran, what led to the failure, etc. Or perhaps I recognize error 11 and know it's caused by an issue I fixed in a later build.
I think this is more consistent with the "unix way" of using stderr. What do you think?
from os.
Related Issues (20)
- Add mosquitto broker to repo HOT 2
- usb2usb ftdi2ftdi HOT 6
- error.. HOT 5
- Need chgrp or equivalent HOT 3
- Add awk to the default Minoca build HOT 2
- Use LGPL v2.1 instead of v3 HOT 4
- mac toolchain problems HOT 3
- RPI1 image on website has private IP address in the 'opkg.conf' file. HOT 3
- Want to testing Minoca on mac directly using qemu HOT 5
- BopEfiGetDebugDevice in dbgser.c doesn't iterate through the list of handles. HOT 1
- Udoo (iMX6 Dual/Quad) support? HOT 1
- Alignment build error on Debian HOT 2
- Chalk missing HOT 2
- Is this based on reverse engineering of Windows? HOT 1
- Minoca Debugger HOT 1
- [Deleted]
- The opkg program doesn't run. HOT 5
- Linking - testmm: Fails HOT 2
- Assertion Failure: KernelUsage->HardPageFaults <= KernelUsage->PageFaults HOT 3
- An improper locking bug on the lock NewThread->StartMutex HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from os.