Install RemixOS on Hyper-V virtual machine

Posted on 21st January 2016 in Uncategorized

Sometimes you just need quickly deploy Android x86 server in your production environment using Microsoft Hyper-V virtualization. Now you can do it with Remix OS.

Installation to Hyper-V virtual machine is a bit tricky, but possible.

First of all create Generation 1 VM with at least 6 Gb HDD. I’ve tested VM with 2 Gb of RAM.

After creation of VM do not power on it.

Connect created VHD disk to any windows machine (Disk Management -> Right Click -> Attach VHD)

Initialize it as MBR disk.

Format it in FAT32 file system.

Detach VHD.

Boot VM with Legacy ISO. Do not choose Resident or Guest mode

RemixOS-installboot

Press TAB button. Edit your boot string to:

/kernel initrd=initrd.img root=/dev/ram0 androidboot.hardware=remix_x86_64 androidboot.selinux=permissive quiet INSTALL=1 nomodeset vga=791

You can replace 791 with any 16bit color depth code. More codes can be found at http://pierre.baudu.in/other/grub.vga.modes.html

Chose sda1 partition

RemixOS-installdisk

Do not format it.

Chose yes for GRUB installation.

Skip EFI GRUB2 installation.

Choose yes for making system directory read-write.

Choose yes for creating user data image.

Enter size of data.img. Maximum is 2047 because we formatted our dist to FAT32 file system.

You can run you Android-x86. It’ll take a while, do not panic.

RemixOS-installfinish RemixOS-installlang

Configure it as you wish.

RemixOS-installcompleted

The last thing you need to do is eject ISO from VM and edit created GRUB entries.

Shutdown your VM and eject ISO.

Once again attach VHD to Windows machine.

Edit \grub\menu.lst

You need to delete extra digits after kernel path, for example if you used vga=791 previously you need to replace kernel791 with kernel. Also you need to add desired vga mode again. So your menu.lst should look like:

default=0
timeout=6
splashimage=/grub/android-x86.xpm.gz
root (hd0,0)

title Remix OS 2016-01-14
kernel /android-2016-01-14/kernel vga=791 quiet root=/dev/ram0 androidboot.hardware=remix_x86_64 androidboot.selinux=permissive nomodeset SRC=/android-2016-01-14
initrd /android-2016-01-14/initrd.img

title Remix OS 2016-01-14 (Debug mode)
kernel /android-2016-01-14/kernel vga=791 root=/dev/ram0 androidboot.hardware=remix_x86_64 androidboot.selinux=permissive nomodeset DEBUG=2 SRC=/android-2016-01-14
initrd /android-2016-01-14/initrd.img

title Remix OS 2016-01-14 (Debug nomodeset)
kernel /android-2016-01-14/kernel vga=791 nomodeset root=/dev/ram0 androidboot.hardware=remix_x86_64 androidboot.selinux=permissive nomodeset DEBUG=2 SRC=/android-2016-01-14
initrd /android-2016-01-14/initrd.img

title Remix OS 2016-01-14 (Debug video=LVDS-1:d)
kernel /android-2016-01-14/kernel vga=791 video=LVDS-1:d root=/dev/ram0 androidboot.hardware=remix_x86_64 androidboot.selinux=permissive nomodeset DEBUG=2 SRC=/android-2016-01-14
initrd /android-2016-01-14/initrd.img

Detach VHD and boot your VM.

RemixOS-installbooting

Happy Remix OS experience!

comments: 0 » tags: ,

Unattended install for Microsoft Dynamics CRM 2015 Outlook Add-In

Posted on 3rd September 2015 in Uncategorized

To make fully unattended install package you need to do following steps:

1. Download install package: http://www.microsoft.com/en-us/download/details.aspx?id=45015

2.Extract package content:
CRM2015-Client-ENU-i386.exe /extract:c:\CRM_TEMP\1\2
Do not remove sub folders 1 and 2 from the path, because we need it later

3. Create Redist folder in c:\CRM_TEMP. Do not put it in the sub folders:

4. Create following sub folders in Redist folder:

cd c:\CRM_TEMP\Redist
mkdir dotNETFX
mkdir ReportViewer
mkdir SQLCE
mkdir SQLNativeClient
mkdir SQLSystemCLRTypes
mkdir VCRedist
mkdir VCRedist10
mkdir WindowsIdentityFoundation

Click here to read more.. »

comments: 0 » tags: ,

Limit group policy only to client OS

Posted on 3rd September 2015 in Active Directory

Sometimes you want to apply your policy to every client PC in many OUs. To do such you can use WMI filter. This is especially useful in messy AD structures, where is no dedicated OU for client computer objects.

Namespace: root\CIMv2
Query: select * from Win32_OperatingSystem where ProductType="1"

I use here following WMI Class and property:
https://msdn.microsoft.com/en-us/library/aa394239(v=vs.85).aspx#properties

ProductType
Data type: uint32
Access type: Read-only
Additional system information.
Work Station (1)
Domain Controller (2)
Server (3)

Can’t access any Outlook tabs on ribbon except Enterprise Vault

Posted on 3rd September 2015 in Active Directory

Recently one of our customers installed Microsoft Dynamics CRM Outlook add-in and discovered that after this action Microsoft Outlook became absolutely useless, because after start of the program there are no other tabs except Enterprise Vault, which is also used by this customer. Little research showed that the root of the problem is in some components of earlier version of Microsoft Office. To fix problem you need to delete following registry key:

HKEY_CLASSES_ROOT\TypeLib\{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}\2.4

To automate this across organization you can use group policy preferences:

Computer Configuration -> Preferences -> Windows settings ->Registry -> New -> Registry Item:

Action: Delete
Hive: HKEY_CLASSES_ROOT
Key Path: TypeLib\{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}\2.4

Random data big file creation

Posted on 10th August 2015 in Windows Server

Sometimes you just need a big file. For example to test network speed, of backup speed. And to prevent software of hardware compression you need this file to be absolutely random. Also you do not want to write this file byte by byte, as it can be really slow. Here is my version of powershell script to generate such file:

$chunksize=2*1024*1024 #I use 2 Mb chunks
$filesize = 50*1024*1024*1024 # File size in bytes
[Byte[]]$randombuffer=@(0)*$chunksize #First of all we create buffer filled with zeroes
$Random = New-Object System.Random #Our random number generator
$myfile = New-Object IO.FileStream "c:\testfile", 'Append' #Replace c:\testfile with the proper path
1..($filesize/$chunksize) | %{$Random.NextBytes($randombuffer);$myfile.Write($randombuffer,0,$randombuffer.Length)};$myfile.Close() #Magic

comments: 0 »

TMG 2010 and “RPC Server unavailable”

Posted on 14th July 2015 in Uncategorized

Recently I have encountered strange TMG behavior. I have permitted all RPC connections to Domain Controllers with system rule and disabled RPC Filter plus switched off “Enable strict RPC compliance” option. But my WMI requests and any other RPC traffic from TMG servers to internal resources was still blocked. The error was “RPC Server Unavailable”. Some programs gave me error code 1722. The problem was in understanding of traffic direction for access rules containing “Local host”. To tell you the truth I still do not understand why it works such way. Even after I’ve read http://tmgblog.richardhicks.com/2011/12/05/forefront-tmg-2010-protocol-direction-explained/. So the short answer to fix this problem – you need to create new rule allowing RPC traffic with SOURCE=Internal and DESTINATION=Local host. Also after creation you need to disable RPC filtering for created rule.

comments: 0 » tags: , ,

Backing up DAG cluster with TSM

Posted on 29th April 2015 in TSM

There is a problem with DAG cluster backup in TSM. When you create script with /PREFERDAGPASSIVE key, your script return error 464 – nothing to backup. So I’ve created script to analyze Exchange’s databases if there is healthy passive copy of database to backup, so you run backup for the only healthy copy of database and for passive healthy copies of database. If there is nothing to backup than script returns 0.

$exc_dir=”C:\Program Files\Tivoli\TSM\TDPExchange”
cd $exc_dir
Get-Date -UFormat %Y-%m-%d’ ‘%T | Out-File -Encoding utf8 -FilePath excfull.log -Append
add-pssnapin Microsoft.Exchange.Management.PowerShell.E2010
foreach ($maildatabase in Get-MailboxDatabase -Server $env:COMPUTERNAME)
{
$copies=0;
$needtobackup=$False;
foreach($dbcopy in Get-MailboxDatabaseCopyStatus $maildatabase)
{
if(($dbcopy.Status -eq “Mounted”) -or ($dbcopy.Status -eq “Healthy”))
{
$copies+=1
}
if((!$dbcopy.ActiveCopy) -and ($dbcopy.MailboxServer -eq $env:COMPUTERNAME))
{
$needtobackup=$True
}
}
if($copies -lt 2)
{
$needtobackup=$True
}
}

if($needtobackup)
{
.\tdpexcc.exe backup * full /PREFERDAGPASSIVE /tsmoptfile=dsm.opt /CONFIGfile=tdpexc.cfg /logfile=excsch.log | Out-File -Encoding utf8 -FilePath excfull.log -Append
$backupresult = $LASTEXITCODE
“Return code was $backupresult” | Out-File -Encoding utf8 -FilePath excfull.log -Append
}else{
“Nothing to backup” | Out-File -Encoding utf8 -FilePath excfull.log -Append
$backupresult=0
“Return code was $backupresult” | Out-File -Encoding utf8 -FilePath excfull.log -Append
}
exit $backupresult

 

comments: 0 » tags:

Troubleshooting Pending schedules in TSM

Posted on 29th April 2015 in TSM

Today we’ve found that one of out servers can make backups manually and works fine with polling mode, but when it is switched to prompting mode then schedule never run. After some investigation we’ve found http://www.tsmblog.org/tag/tcpclientport/ because we thought we have a problem with port of CAD. We’ve found that TSM scheduler does not operate with data from NODES table, which contain correct names and IP addresses, but instead it uses SCHEDULE_NODE_ADDRESSES table, which only contains host names and ports. Problem server was in different AD forest and TSM sever did not have correct DNS search suffixes. After fixing DNS issues all Pending schedules disappeared.

comments: 0 » tags:

Connecting with android Boxer mail app to hotmail account over ActiveSync

Posted on 27th April 2015 in Uncategorized

By default if you try to connect to any Hotmail e-mail with Boxer app (current version 2.0.0), which is a default in CyanogenOS 12s, it set up your account with IMAP and SMTP. Such setup prevents you from using your calendar and contacts. To fix this you should set up your connection with ActiveSync, but such option is not available by default. To set up it correctly you need to do following steps.

1. Set up your Hotmail account on your PC with Outlook. You need to do this to find server which holds your account. Correctly working e-mail agents can connect to m.outlook.com which re-targets it to correct server, but Boxer is not such software.

2. Open Outlook with previously set up account.

3. In notification area right-click on Outlook icon holding Ctrl button and choose Connection status…

4. Write down your Server name.

5. Set up Boxer for you_account@hotmail1.com or any other incorrect domain.

6. Choose Exchange

7. Press Cancel for auto detection

8. Correct your username and password

9. Fill in Server field with server name from step 4

10. When you press Next it will be set up.

That’s all

comments: 0 »

Cisco Any Connect with Windows 10 build 10061 Repairing vpn adapter

Posted on 27th April 2015 in Uncategorized

Today our network administrator applied latest patch to Cisco ASA. After that, any new connection with AnyConnect was starting update procedure, which failed every time even after reboot. I’ve uninstalled application and installed the newest version. After that any connection showed:

Repairing vpn adapter

Which have failed each time. To fix this I’ve changed settings for Ethernet adapter used by AnyConnect to obtain IP address automatically. After that AnyConnect reinstalled virtual adapter and connected without any issue. My colleague fixed this problem with deletion of:

%LOCALAPPDATA%\Cisco\

folder.

comments: 0 » tags: