Coder Social home page Coder Social logo

Comments (139)

evangreen avatar evangreen commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

ha! looks like

qemu-img resize -f raw pc.img 10GB

can solve my issue ...

from os.

melezhik avatar melezhik commented on July 21, 2024

@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.

melezhik avatar melezhik commented on July 21, 2024

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.

evangreen avatar evangreen commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

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.

evangreen avatar evangreen commented on July 21, 2024

Yep, sounds great.

from os.

melezhik avatar melezhik commented on July 21, 2024

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.
qemu screen

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.

melezhik avatar melezhik commented on July 21, 2024

my build system is debian8 running at VirtualBox:

$ cat /etc/issue
Debian GNU/Linux 8 \n \l

from os.

ccstevens avatar ccstevens commented on July 21, 2024

@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.

melezhik avatar melezhik commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

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.

ccstevens avatar ccstevens commented on July 21, 2024

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:

  1. Modify ~/src/third-party/Makefile line 172 to be

    PACKAGES := $(ALL_TOOLS)
    
  2. Run make in ~/src/third-party

  3. 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 in OS_TOOLS.

  4. 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.

melezhik avatar melezhik commented on July 21, 2024

Thanks @ccstevens , will try to use your plan

from os.

drawkula avatar drawkula commented on July 21, 2024

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...

20161105-202743-gmt--minoca-1st-nano-take-2

This is more a proof that it is possible but not a practical way...

20161105-203119-gmt--hmmmmmm-yesssss

It works!!!

20161105-203733-gmt--ssh-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.

melezhik avatar melezhik commented on July 21, 2024

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

minoca network down

from os.

drawkula avatar drawkula commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

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.

drawkula avatar drawkula commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

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.

drawkula avatar drawkula commented on July 21, 2024

I have not tried nesting VMs yet... :-/

from os.

melezhik avatar melezhik commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

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.

drawkula avatar drawkula commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

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.

evangreen avatar evangreen commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

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.

evangreen avatar evangreen commented on July 21, 2024

That sounds good to me. Then people can analyze the raw test output if the automation alerts them to test failures.

from os.

melezhik avatar melezhik commented on July 21, 2024

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.

evangreen avatar evangreen commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

@evangreen I get an error when try to build Perl on running Minoca instance:

minoca build perl fail

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.

evangreen avatar evangreen commented on July 21, 2024

Can you try a make clean in that same directory you ran make from? Maybe there was some old junk in there.

from os.

melezhik avatar melezhik commented on July 21, 2024

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.

evangreen avatar evangreen commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

related MR - https://gitlab.com/minoca/third-party/merge_requests/2

from os.

evangreen avatar evangreen commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

https://gist.github.com/melezhik/8d6a105c0e9fa0eece26a764e9d2d7a3 - make test report for minoca third-party/perl-5.20.1

from os.

melezhik avatar melezhik commented on July 21, 2024

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.

evangreen avatar evangreen commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

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.

evangreen avatar evangreen commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

HI Evan, have you managed to play with perl-harness-check ? Do you have any other questions?

from os.

evangreen avatar evangreen commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

Ok, sure. No rush at all.

from os.

evangreen avatar evangreen commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

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.

evangreen avatar evangreen commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

Hi Evan! Any updates from your side here?

from os.

evangreen avatar evangreen commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

ahh, also I need a curl ...

from os.

evangreen avatar evangreen commented on July 21, 2024

Sure, you can use opkg to install additional dependencies you need.

from os.

melezhik avatar melezhik commented on July 21, 2024

Ok, then I will come up with pull request soon and let you know ...

from os.

melezhik avatar melezhik commented on July 21, 2024

#75

from os.

evangreen avatar evangreen commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

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:

  1. scenario header ( 1 line , something like "/modules/pkg/test/ started" )
  2. scenario output ( could be empty or 1 or many lines - this we can't control )
  3. scenario footer ( scenario status - always one line -"ok scenario succeeded" or "not ok scenario succeeded" )
  4. 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.

evangreen avatar evangreen commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

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.

evangreen avatar evangreen commented on July 21, 2024

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.

evangreen avatar evangreen commented on July 21, 2024

Like I want to do !(test dropbear), (test other-package), !(test failing-package), ...

from os.

melezhik avatar melezhik commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

Probably problem not about "STATUS FAILED" line but about none zero exit code?

from os.

evangreen avatar evangreen commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

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.

evangreen avatar evangreen commented on July 21, 2024

Yes, that will be ok. We know from this output that these packages will all fail consistently.

from os.

melezhik avatar melezhik commented on July 21, 2024

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.

evangreen avatar evangreen commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

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.

evangreen avatar evangreen commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

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.

evangreen avatar evangreen commented on July 21, 2024

Yes, that's correct.

from os.

melezhik avatar melezhik commented on July 21, 2024

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.

evangreen avatar evangreen commented on July 21, 2024

yes

from os.

melezhik avatar melezhik commented on July 21, 2024

I have uploaded new version of minoca-pkg-test 0.0.19 to support bad packages

from os.

melezhik avatar melezhik commented on July 21, 2024

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.

melezhik avatar melezhik commented on July 21, 2024

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.

evangreen avatar evangreen commented on July 21, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.