install mono manual (local) without internet - mono

I want to install mono on an embedded system (arm board) it has no ethernet connection, so i need to do a local installation, (i can transfer data / files to the board with sdcard).
Board Data:
32 Kbytes of Internal ROM
64 Kbyte of Internal SRAM
64 Mbytes of SDRAM memory (32-bit bus width)
256 Mbytes of NAND Flash memory (8-bit bus width)
(edit: OS is a busybox 1.12 buildroot)
(edit2: got now a debian grip chroot)
Any ideas how i can get a mono environment to work on the board?
best regards

You can just use a cross-compiler or do the build on another more powerful ARM development box, then you make install to a, say, /tmp/arm-install directory and then finally transfer the contents of that dir to the ARM box in the final installation dir.

Related

DJI Manifold 2 (running on nvidia jetson tx2) USB devices cannot work after updating with Ubuntu's software update

After installing jetpack 4.4 on the DJI manifold 2G (Nvidia jetson tx2 version), the internal Ubuntu software updater pings me for a 2.3GB sized update.
Following which, after completing the update, all USB ports are non-responsive, and the processor's fan will continuously run at full speed. Restarting the device does not improve nor make things worst. The only way out seemed to be re-flashing the firmware with jetpack 4.4.
The specs are, if they are helpful:
Processor: ARMv8 Processor rev 3 (v8l) × 4
Graphics: NVIDIA Tegra X2 (nvgpu)/integrated
Os type: 64-bit
Memory: 8gb
Any help, or similar experiences and work-arounds are greatly appreciated. Thank you !
Edit
-Attempting to use the Manifold 2G image provided by DJI returned this error when executing sudo tar -zxvf
gzip: stdin: invalid compressed data--format violated
tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now
As such, i am unable to downgrade back to the Jetpack 3.3 version
DJI mf2G uses a specifically modified version of the jetpack with DJI-preset serial port config.
Publicly, there is one standard version on the DJI website that you can restore to factory default. https://www.dji.com/sg/manifold-2/downloads
Privately, the DJI dev group also give out a Jetpack 4.3 version DJI image that can allow you to use docker(factory default does not allow). But I can not share it publicly. You may ask DJI support to release this version to you.

how to fix error, the procedure entry point could not be located in the dynamic link library PhysX3CharacterKinematic_x64.dll

I install Hitman YearEdition v 1.13.1 game. when I want to run it this error appears.
the procedure entry point could not be located in the dynamic link
library PhysX3CharacterKinematic_x64.dll
all files are downloaded and exist in the directory.
I don't know how to fix it. please help me.
System Info:
Radeon Software Version - 17.11.1
Graphics Chipset - Radeon RX 560 Series
Windows Version - Windows 10 (64 bit)
Memory Size - 4096 MB
Memory Type - GDDR5
System Memory - 16 GB
CPU Type - Intel(R) Core(TM) i5-6600 CPU # 3.30GHz
DirectX-12 Applyed

OpenCL detection bug

I'm new to Adobe Premiere and GPU acceleration. I started to follow simple tutorial on editing video with Premiere Pro CC that I had "Stopped Working" error after seconds when I hovered on my video or dragged it. Found that problem is because of OpenCL. So I put my settings to "Software Only" to have just CPU rendering.
My hardware and software:
HP ProBook 450 G1
Microsoft Windows 8.1 X64
AMD Radeon 8600/8700M
14.12 AMD Catalyst Omega Software
Intel HD 4600
AMD APP SDK 2.9
Microsoft Visual Studio Ultimate 2013
(For web developing. I'm not a CPP programmer.)
Adobe Premiere Pro CC
I used GPU-Z to have details about my AMD GPU and I saw that OpenCL is disabled and other one (Intel) is enabled.
Image
So I used /program files/adobe/adobe premiere pro cc/gpusniffer.exe and this is the output:
Found 2 devices supporting GPU computation.
OpenCL Device 0 -
Name: Intel(R) HD Graphics 4600
Vendor: Intel
Capability: 1.2
Driver: 1.2
Total Video Memory: 1348MB
* Not enabled by default because it did not match the named list of cards.
OpenCL Device 1 -
Name: Oland
Vendor: AMD
Capability: 2
Driver: 1.2
Total Video Memory: 2048MB
I read all the docs of APP SDK but I didn't find anything except this one:
Output of /windows/system32/clinfo.exe
Compiler available: Yes
Execution capabilities:
Execute OpenCL kernels: Yes
Execute native function: No
Queue properties:
Out-of-Order: No
Profiling : Yes
Platform ID: 00007FFBA45D6B60
Name: Oland
Vendor: Advanced Micro Devices, Inc.
Device OpenCL C version: OpenCL C 1.2
Driver version: 1642.5 (VM)
Profile: FULL_PROFILE
Version: OpenCL 1.2 AMD-APP (1642.5)
What should I do in order to enable OpenCL in GPU-Z for my AMD Radeon GPU?
Thanks.
After two weeks Googling for my problem I found my answer in playing with regedit.
To have fun with OpenCL on Windows 8.1 and AMD Radeon we must do these:
Only use AMD Catalyst Control Center downloaded from AMD official website. (For me, installer downloaded from HP Support Center didn't work. I think because it didn't contains some packages.)
Download and install AMD APP SDK from AMD Developers official website.
Go to C:\Program Files (x86)\AMD APP SDK\2.9\bin. (It will be different based on your version.)
Copy and replace files from x86 folder (OpenCL.dll and amdocl.dll) to C:\Windows\SysWOW64.
Copy and replace files from x86_64 folder (OpenCL.dll and amdocl64.dll) to C:\Windows\System32.
Note: OpenCL.dll files are different with each other. Pay attention.
Open Start and type regedit in search or RUN.
Go to Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\OpenCL\Vendors\.
Add amdocl64.dll as DWORD (32-bit) Value. (Do not edit it after creation!)
Navigate to Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Khronos\OpenCL\Vendors\.
Add amdocl.dll as DWORD (32-bit) Value.
Restart windows (Because of Catalyst) and start Catalyst.
In Premiere go to File -> Project Settings -> General -> Video Rendering and Playback and set Renderer to Mercury Playback Engine GPU Acceleration (OpenCL).
Note: In Registry Editor, 0 means true (enabled) and 1 means false (disabled) for OpenCL.
Note: regedit must run as administrator.
Done! Adobe Premiere Pro CC works fast and fine. Note: GPU-Z will not show OpenCL enabled. I think because its old version.
Image

VxWorks porting(DM8168)

I have Spectrum Digital evaluation board (evm816x).
I have the problem, when i'm trying to port vxWorks 6.9 to the TMS320DM8168(davinci).
I load u-boot to NAND, it starts, all okey. Then, I load vxWorks image with xds510 usb emulator. All okey, vxWorks works good. Then, i'm trying to start vxWorks from u-boot, its crashing through initialization process.
After a few experiments I came to conclusion that vxWorks start only after CPU reset.
What prevents loading vxWorks in CPU?
Thank you.
Generally VxWorks 6.x BSPs are not designed to work with U-Boot. You may encounter random crash using the U-Boot go/bootelf/bootvx command after loading the VxWorks kernel. The reasons behind this might be different, for example it might be due to disagreement with the physical memory address configured in U-Boot, or inconsistent cache/MMU state.
The latest VxWorks 7 supports U-Boot as the bootloader by default on ARM and PPC targets.
Patches are now in the mainstream of the U-Boot Git repo since U-Boot v2014.01 relesae.
There may be bootable and loadable vxworks images. You are probably run loadable image. That is the default option to build vxworks in workbench. That image expects some initialization to be done by bootloader (which is bootable vxworks that runs the "boottask", which in turn loads the vxworks image).
In short, try to build bootable/romable vxworks image and to load it. Otherwise load the bootloader (bootrom) image which will load your loadable vxworks image.

How to emulate Windows RT

How can I run Windows RT (the restricted ARM version of Windows 8) in an emulator, for development purposes? This question contains two parts:
Obtaining the image: Does an installation image exist (for vendors, in MSDN, ...)? Can I take a snapshot of the Surface RT disk (how?), or can I extract it somehow from recovery data (I don't know how the recovery system works, but there's a function to wipe and reinstall the software on the Surface completely).
Running the image: What can I emulate it on? I've heard about QEMU, but it has the reputation of being slow. Also, the program must emulate the neccessary hardware (Tegra-3).
I'm aware this question was asked 9 years ago, but now it's possible to emulate Windows RT in patched QEMU 6.2.0, you can also read more about the work being done for it.
The repo with downloads is here: https://github.com/binarymaster/qemu/releases
Please note that there is no audio, no network, and no GPU acceleration supported. Although you can have network connection with Windows 10 ARM, just read my previous answer below.
Answer from May 13, 2020:
I'm aware this question was asked 7 years ago, but now it's possible to emulate Windows on ARM in the latest QEMU 4.2.0.
Steps to follow:
Patch QEMU to report EL3 TrustZone available: https://github.com/TeoIzAwezome/rtemu/commit/0f8b8ec18725cd0f66a39b5520fb6a435a757f95 - if you're using Windows and don't want to build QEMU from source, you can patch qemu-system-arm.exe : replace this hex sequence with NOPs 4531C931D24C8D05BE515C004889F1E87AD82E00 => 9090909090909090909090909090909090909090 - it replaces this part:
Download Linaro firmware for QEMU 32-bit ARM platform, specifically 15.12 version which is the last one that boots Windows on ARM without problems: https://releases.linaro.org/components/kernel/uefi-linaro/15.12/release/qemu/QEMU_EFI.fd
Download an ESD image of Windows RT 8.1, these are publicly available from Microsoft.
You can find download links here https://tech.myonlylonely.com/wimboot-for-surface-2-en/
or by using Google with this string: 9600.17053.winblue_refresh.141120-0031_woafre_client_CoreARM_O15_en-us-IR5_CCSA_WOAFRER_EN-US_ESD_2F1E1C773E39C4672F52B1F3A0AE7844FD837B23.esd
Either convert ESD to ISO or just extract it with esd-decrypter-wimlib-8.7z : https://www.tenforums.com/software-apps/27180-windows-10-recovery-tools-bootable-rescue-disk-2.html
You will need VirtIO drivers for QEMU compiled for 32-bit ARM platform, precompiled viostor.sys driver is available here https://www.betaarchive.com/forum/viewtopic.php?f=62&t=40522 - if you built drivers yourself in Visual Studio, make sure to create catalog files by using Inf2Cat /driver:C:\Drivers\ /os:8_ARM,6_3_ARM and test-sign them (all .cat and .sys files); once drivers are ready, you can slipstream them into boot.wim and install.wim by using dism /Mount-Wim + /Add-Driver + /Unmount-Wim
If you don't want to boot and install from ISO, you can create a VHD/VHDX disk image and format/partition it the same way as it's done for Windows installation on UEFI systems — GPT partitioning: EFI partition - FAT32, MSR partition, Primary partition - NTFS. Use dism /Apply-Image with install.wim to install Windows files to created disk, and bcdboot to install EFI files
Since you're using test-signed drivers, you need to tweak BCD file on EFI partition:
set BCD=E:\EFI\Microsoft\Boot\BCD
bcdedit /store %BCD% /set {globalsettings} testsigning on
bcdedit /store %BCD% /set {globalsettings} nointegritychecks on
Once everything is done, start QEMU with these parameters:
set HDD=windows-on-arm.vhd
set ISO=en_windows_8.1_ir4_ARM_dvd.iso
qemu-system-arm ^
-M virt ^
-cpu cortex-a15 ^
-smp 2 ^
--accel tcg,thread=multi ^
-m 2G ^
-bios QEMU_EFI_1512.fd ^
-device VGA ^
-device ich9-usb-ehci1 ^
-device usb-kbd ^
-device usb-tablet ^
-drive if=virtio,file=%HDD% ^
-device virtio-scsi-pci,id=scsi0 ^
-device scsi-cd,drive=install,bus=scsi0.0 ^
-drive if=none,format=raw,id=install,file=%ISO%,readonly=on ^
-rtc base="2013-07-15",clock=vm
Notes:
There is known problem with PCI MMIO area, and USB input wouldn't work because of it. You can workaround that by replacing -M virt with -M virt,highmem=false however with this option Windows 8.1 RT will throw BSOD with code SYSTEM_THREAD_EXCEPTION_NOT_HANDLED.
It's known Windows 10 for ARM does not throw this BSOD code and works in QEMU pretty well with -M virt,highmem=false. You can use Google to get it: 10.0.15035.0.rs2_release.170209-1535_armfre_client-enterprise_volume_en-us :
Also note that full emulation of 32-bit ARM is very slow even on Intel Core i7-8700 # 3.2 GHz, so it's better to use some modern ARM board like Raspberry Pi 4 that have hardware accelerated KVM hypervisor.
Windows for 32-bit ARM is already considered legacy, better switch to AArch64 aka Windows for ARM64, see https://withinrafael.com/2018/02/12/boot-arm64-builds-of-windows-10-in-qemu/
There's no way to truly emulate a Windows RT enivonrment on ARM. You have two options...
1) Go pick yourself up a Surface tablet.
2) Contact your local Microsoft Technical Evangelist to see if they have loaner hardware available.
Also, chances are your local Microsoft Evangelist team is holding Windows 8 developer events where they may have test hardware on hand for you to try. If you're in the US, you can find a list of these events at http://msdnevents.com.