I started having an issue with my computer maybe back in May, where anytime I powered my machine off I had to reconfigure my Bios settings, as my primary Bios had failed, after several months of this I guess I just got tired of dealing with it, so I sold my android tablet (yes I did! and no I didn’t own more than one…) and bought a new Gigabyte Ga-990FX`-UD3 motherboard, which right now I am not very happy with, but I’ll get to that later, a new MD PhenomII x6 1090T CPU, a new XFX AMD Radeon 6850 Video Card, and 3 new Seagate 1.5TB HDDs. I have to reimburse myself for the hard drives however, as they were not paid for by selling my tablet. Hopefully selling my old Video Card, Motherboard, and CPU will cover their costs.

I’ve had all kinds of interesting episodes while trying to get this new hardware to work over the last, almost, 3 weeks. the good = back on linux, bye bye Microsoft. The bad=bye bye Google cloud print (kind of), possibility of getting Nuance Dragon Naturally Speaking to work (outside of a VM), possibility of getting my digital camera to work by just plugging it in the computer (for now). Here are a list of some of the issues I’ve run into, if they have lengthy resolutions, or attempted resolutions, I’ll link to another post (after I write it!) describing my efforts to get things working.

First up: Microsoft Windows 7 x64 Ultimate edition

  1. The only thing on the motherboard that works immediately after installation are the CPU, Ram, Keyboard, and Mouse.
    • NIC, eSATA, on-board RAID, USB 3.0, none of it worked until after installing the drivers from the MB CD.
  2. The motherboard has 2 or 3 different RAID chipsets, at least one Marvell 88SE9172 and a Realtek (I think), each can be enabled separately as IDE/AHCI/RAID, I’ll check and get back to you on this one.
    • One for the internal SATA ports 0-3.
    • One for the internal SATA ports 4 and 5.
      • Can only be enabled as RAID when ports 0-3 are also enabled as RAID.
        • This seems a little bit backwards to me, as the only way to mirror your boot drive is to enable RAID on all ports… or lose ports 2&3 and mirror on 0&1, then not set RAID on 4&5 giving you only a mirror plus 2 drive slots on the MB. Else you are forced to RAID 0/1 on ports 0-3 and to use 4/5 for your boot mirror.
      • One for the eSATA port
        • When enabled and nothing is connected, it reports 2 available ports; however when the cable is connected I have gotten 3 drives (out of 4) in my external drive caddy to show up.
  3. I ran into one issue where I had a device not identified in Windows 7, even after installing the drivers from the CD. I checked on the CD again and it actually has an installer to put Driver Agent on your computer to scan for out of date drivers. well I ran it.
    • It found the missing driver and also told me about 6 others were either out of date or had the wrong drivers installed. of the ones it wanted me to update, only one was free, the others were available after paying a $29.99 annual fee.
      • The first link took me to the Gigabyte home page for the MB but did not list any driver that was not also included on the CD.
      • The second link took me to a driver website download page for an Nvidia driver package!
        • Well I gave it a shot, and sure enough it recognized the device and installed the driver, from an Nvidia driver package on my AMD chipset MB.
  4. Then I started getting BSODs on the RAID driver MV91xx.dll.
    • After moving all my data around so I could setup a RAID5 5 drive array of 1.5TB drives, I had to undo it all and move data around to use them as normal disks, so I could disable the Marvell RAID in the BIOS (internal SATA ports 0-5) to prevent windows from loading the driver (which was the newest version from their website).
      • This did indeed stop the BSOD for that DLL.
  5. Then the system started shutting itself off randomly after 4-45 minutes from windows bootup.
    • I have not yet figured this one out, Gigabyte support wants me to disconnect all USB devices to test… (no mention of how I am to connect my KB or mouse) fyi no issues with the USB devices when my old MB was in the case, and no issue with the USB devices when booted to a linux live CD, nor any issues with random power offs at all, now that I am booting to Ubuntu 11.10 x64.
  6. If you press a key (such as ctrl+f or del or F4 or F8 or Shift or anything else really) at anytime during bootup that the system is not expecting a keypress, the boot up process hangs and you have to press the reset button or manually power off the computer.
    • What this means is if you are trying to get into the RAID BIOS controller setup, or the “change boot device” menu, or to get the GRUB menu to show up when hidden, or to start windows in safe mode, and you do not press the key/key combination one time at the exact time necessary, the system will hang and you cannot get in to that boot submenu
    • It often takes me 10-30 boot attempts to get into what ever submenu I need to change the configuration.

    Next up: Ubuntu 11.10 x64

  7. Ubuntu runs fine on the system, except for two issues…
    1. The network adapter will not work. I’ve tried many suggestions from forums, even downloaded the Realtek 8111e driver direct from realtek. It will not connect to anything (you may need to blacklist the wrong drivers, there are some 8 different models included in the linux driver package download).
      • Current resolution, I installed a GB NIC PCI card, works great.
    2. I cannot get my Radeon HD6850 working, multiple issues.
      • Any changes to the AMDCCLE configuration disappears after closing the interface. even if I open it right back up, the settings are back the way they were. Help with manually configuring AMDCCCLE
      • Any time I restart the computer it hangs after “checking battery state [ok]“.
        • This is when it loads the graphical settings to launch X.
          • As a note, I have a dual monitor setup, both on the two DVI ports; however because one DVI port is a DVI-d I have to have my right monitor connected as monitor0 and my left one connected as monitor1 (this makes things backwards, moving the mouse to the right puts it on the left screen and vice versa, unless you specify it in the configuration.
        • Current resolution for this problem (short incomplete version):
          1. Reboot into Ubuntu recovery mode from GRUB (good luck!).
          2. Mount/remount all devices and read/write.
            • Then press enter to exit that screen.
          3. Then select root command prompt.
            • Because the onboard NIC does not work, there is no point in selecting root command prompt with networking, as it won’t enable the PCI NIC.
          4. Now enter the following to remove all AMD video drivers from the system:

          5. apt-get purge -qq --no-download fglrx* xserver-xorg-video-ati xserver-xorg-video-radeon
            rm /etc/X11/xorg.conf*
            Xorg -configure

            • learn more about the xorg.conf settings
            • Hopefully you have manually created the deb packages for your ati drivers, if not, you can reboot now and use the default drivers for xorg to download the drivers and put them in the /root/amd6xxx directory on your system (you will need to create the amd6xxx directory under /root) and follow these instructions after booting back in to the recovery mode root command prompt after remounting devices as read/write, instructions above.

            • sudo /root/amd6xxx
              ./ati-driver-installer-11-9-x86.x86_64.run --buildpkg Ubuntu/oneiric

            • You either already had the files, or you just created them (only follow the creating .deb files section), so we can move on to install the AMD drivers for the Radeon 6xxx series card.

            • dpkg -i *.deb

              • This should run without much of an issue, might be a couple of mini errors (file not found, skipping), but nothing to prevent the installation from finishing.
            • And to finish up:

            • aticonfig --initial=dual-head --screen-layout=right --xinerama=on --effective=startup --input=/etc/X11/xorg.conf

              • I am not 100% sure the “effective=startup” part is necessary or even works.
            • You can now reboot and cross your fingers.
              • I have to do this every time I restart my system, and sometimes it does not work and I have to do it 2-5 times before I can get back in.
              • There are also times when I boot and get 1 flickering screen and one working screen (both tinted like my background image).
              • There are also times when I get one flickering screen and the other not, but both are nearly all white. Pressing CTRL+ALT+DEL initiates a reboot, so I know Ubuntu booted at least.
              • There are some times when I get cloned displays in 1024×768 resolution (not my default or preferred).

    Any attempt at a total and complete resolution is still a work in progress

(missed this post somehow, been in draft for a while…)
well, I am still not getting any formatting on my blog posts, still have no idea what is causing it, but I am severely PO’d about it. I’ll start posting again and just pretend it’s a non-issue for now… I have been working on some of my PC issues and resolved a couple, I found that IF I set my SPU to specifics in the BIOS they are forced on the system after boot (auto-disables AMD’s Cool ‘n Quiet features) so this is not good. Next I learned that if I up my voltage on the NB to 1.25V I can run my on-board GPU at the card’s default standard speed of 700MHz (by default my MB was setting it to 497MHz, or 500MHz equivalent based on multipliers), so that is really good news, upped my windows 7 performance score by .2 (just a shame I do not run Win7 by default, which leads me to my next point…) If I want to overclock my CPU any, I have to do it from within the OS so as to keep AMD CnQ enabled, well… AMD OverDrive is a Windows exclusive app, so I will have to search for a way to do it in Linux without the 1st party app. I have also semi-resolved my random power offs (due to “overheating”) by disabling my ACPI system auto-shutdown feature, I now keep a temp monitor open on my desktop at all times (looking for a linux/KDE plasmoid that will display individual core temps, the default KDE plasmoid for system temp only shows the temp sensor that is on the cooling fan “on top of” the heatsink for the CPU. AMD OD shows the internal individual core temps… but my system is not going over 57C even after I overclocked it 800MHz to 3.997GHz (but I dropped it back to 3.795GHZ to be safe since my auto-shutdown is disabled). I was also able to boost my Hyper-Transport from 200MHz to 220MHz with no issues while playing DDO for 2.5 hours, but later while surfing the internet my PC crashed… So I dropped it down to 205MHz and it is stable (again only when booted into Win7) and have had no further issues, sitting pretty at 38C-47C per core. I have been using KUbuntu 10.04 for software and hardware compatibility issues while I wait for Fedora 13 to launch next week, so you may notice several Ubuntu 10.04 based posts here for a bit. I will try and post my experiences setting up KUbuntu some time this week, I took notes, but did not write it up yet.

Part Three – Configuring Ubuntu to use your newly installed Java JRE and SDK
There are a lot of technical steps in this part, and I figured them out mostly through heavy internet searching, piecing together information from other blogs, and trial and error. The main issues were caused by every site expecting you to already have some key components installed before trying to get this working. So when I tried to follow their guides they never worked. That is why we are here now, using a fresh and clean Ubuntu installation.

updated for Java 7 on February 8th 2012

  1. cd /opt/java && sudo ln -s /opt/java/jdk1.7.0_02 /opt/java/jdk-linked && sudo ln -s /opt/java/jdk1.7.0_02/jre /opt/java/jre-linked – this moves back to the /opt/java directory and creates a link to the jdk folder that we can use to reference to later, that way if we ever install a newer version of java all you have to do is remove the links and create new ones, not have to go through this whole process again! you can test by typing cd jdk-linked && ls – and you will see the contents of /opt/java/jdk1.7.0_02 (don’t forget you can use [tab])
  2. sudo update-alternatives –install “/usr/bin/java” java “/opt/java/jre-linked/bin/java” 10 && sudo update-alternatives –set java /opt/java/jre-linked/bin/java – this updates Ubuntu so it can find your new jre and makes it the default jre to be used by the system (again future proofed because we used the linked location)
    • if you want to, we can setup java for Firefox too
    • mkdir ~/.mozilla/plugins/ && ln -s /opt/java/jre-linked/lib/i386/libnpjp2.so ~/.mozilla/plugins
  3. cd && vi .profile
    • [ctrl+f]
    • [o]
    • EXPORT JAVA_HOME=/opt/java/jdk-linked
    • [enter]
    • EXPORT PATH=$PATH:$JAVA_HOME:$JAVA_HOME/bin
    • [esc]
    • :wq!
  4. now we need to repeat the next set of instruction with the following items placed in [java] (everytime you see [java] put one of the following until you have done these steps for each of the following), I have noted after each one if you need a jre or jdk, or both lines for it, if both, replace the 10 with a 5 on the jdk (this will add both the jre and the jdk alternatives to the list making the jre ones the default). Or, just use this script. (remember to look at the script first to make sure it does what I said, and to set it as executable! cat java-update|more && chmod +x java-update then execute it with sudo ./java-update)
    • java – jre/jdk
    • jar – jdk
    • jarsigner – jdk
    • javac – jdk
    • javadoc – jdk
    • javah – jdk
    • native2ascii – jdk
    • rmic – jdk
    • rmid – jre/jdk
    • rmiregistry – jre/jdk
    • serialver – jdk
    1. sudo update-alternatives –install “/usr/bin/[java]” [java] “/opt/java/jre-linked/bin/[java]” 10
    2. sudo update-alternatives –set [java] /opt/java/jre-linked/bin/[java]
  5. mkdir ~/source-build && cd ~/source-build && sudo apt-get install debhelper gcj-4.4-base gcj-jdk m4 debiandoc-sgml python-docutils cdbs – moving on, we need to install some things before the adding Titanium to the system, this group (plus their dependencies, you don’t want to know what I went through to get this list exactly correct, it took a couple of months the first time I worked on getting this installed) takes up 823MB and took me 16 minutes to download and 2.5 minutes to install. as an fyi, I figured these out by not having them installed the first time around and spent weeks trying to figure each part out, because these files are not what causes the failed instal, linux will pull the dependencies for you when you install something, but there are dependencies of dependencies of dependencies… and somewhere down that line linux fails to grab the final set! So you need to install them in this order, I then spent another week or 2 finding out that those in particular have to be installed before the next set or the next set fails to install!
  6. sudo rm /var/lib/apt/lists/* && sudo apt-get update – this will resolve an issue with the sources of the next step
  7. sudo apt-get install llvm-gcc-4.5 && sudo apt-get build-dep llvm-gcc-4.5 && sudo apt-get -b source python-defaults ruby-defaults && sudo apt-get update && sudo apt-get dselect-upgrade && sudo apt-get autoremove – this set downloads the source files for each of these and builds them specifically for your system and then cleans itself up, this did prompt me for 62.5MB of additional storage space and the build process took about 20 to 45 seconds on my machine.
  8. sudo apt-get install ispell – I have found a few other things that are necessary for titanium to work
  9. restart your development VM
  10. mount your shared drives and take a new snapshot after the system comes back up, called pre Android SDK, and comments “OS, java jre&jdk, and compilers installed”

maybe you don’t really need all of this, but I don’t want to find out while I am writing my Android app that I missed a step, as then you won’t be able to re-use the snapshots in case of an emergency (also called a mistake!). One other note, if you noticed I made a new directory and used it for the source builds, this is because at least the python source build requires several chown commands to run and if you try to execute them on a VM share mount it will fail and you cannot complete the build. Congratulations! I know this was a tough part to do, and I’ll have to check it over sometime in the future to recreate the entire process step by step and make sure it all works again (never know where there might be a typo!). Next time we meet it will be to install the Android SDK and Titanium. After that we will build a short crappy Android app to test everything and then make an .iso Live CD of the whole VM! The final file was pretty big, I’m not sure if a Live DVD would cover it all! I’ll test this idea and add it to the final post if it works. I will be heading out of town for a couple of days so don’t expect anything before monday!

  1. part one
  2. part two
  3. part four

again, after I finish this series up, I’ll add in resource links

So, I’ve started with a clean OS install in a virtual box VM (see screen shot) and here is where I’ve gone from there (currently not working, waiting on some advice from the Titanium Developers forums)…

Titanium Kubuntu 10.04 Virtual Machine Settings

Titanium Kubuntu 10.04 Virtual Machine Settings

Before we get started I want to make sure you know that there are a lot of steps below and that not all of them are necessary, again this is just how I did it.

*********update 5-17-2010**********

(on doing this again on a new from scratch system I have learned that in the Java section, steps 10-31 may not be necessary at all. while this is a good thing to have setup on your system for future upgrades, it is not necessary UNLESS you have the open source java installed prior to installing java (or anytime after installing java. this is actually out of order in these steps, you would have to do steps 1-7 in the following section (installing gcj-4.4-base) BEFORE doing the Java section, else steps 10-31 will not work.)

First let’s finish setting up the Ubuntu installation and get out guest additions installed. (although I use KDE, all of this should work from gnome, or ice, or xfce, or whatever GUI window manager you have chosen.

  1. sudo apt-get update
  2. sudo apt-get install dpkg dpkg-devel
  3. sudo apt-get dselect-upgrade
  4. sudo apt-get install yakuake
  5. reboot
  6. sudo apt-get autoremove
  7. select “devices” from the VM window
  8. select “install Guest Additions”
  9. when the “devices recently plugged in” window appears, click on the VBox guest additions, and select browse with Dolphin. this will mount the CD in /media for you
  10. cd /media/VB[press the tab here for auto-completion, as the name changes for every version of VirtualBox]
  11. sudo ./VBoxLinuxAdditions-x86.run
  12. wait for it to finish, then reboot your system (simplest way, not only method)

Now you should be able to resize your screen by just resizing the VBox window, and your mouse should move between host and guest without exclusivity, you also should get better performance if your host is outdated or low end.

Let’s install java SE JDK!

  1. cd ~/Downloads
  2. mkdir android
  3. mkdir android/environment
  4. mkdir android/environment/system
  5. http://java.sun.com/javase/downloads/widget/jdk6.jsp (this is where you need to go to get the current Java SE JDK, I tried to find a direct url useable by wget, but they have it scripted so you need to use the web browser, save this file in /opt/java)
  6. cd /opt/java
  7. sudo chmod +x jdk*
  8. sudo ./jdk-6u20-linux-i586.bin (may need to change the name depending on the the version you downloaded, this will install/extract java into the /opt/java directory)
  9. sudo rm jdk-6u20-linux-i586.bin (since this is a vm, it is a good idea to clean up after yourself! the final virtual hdd is gonna be pretty big anyway)
  10. sudo ln -s /opt/java/jdk1.5.0_09 /usr/lib/jvm/java-sun
  11. sudo vi /etc/jvm (this file did not exist for me, do not know why you need to do this or if you can skip this step)
  12. O
  13. “/usr/lib/jvm/java-sun” (make sure to include the quotes, again I do not know why, but the Ubuntu Forum post I found said to do it this way)
  14. sudo cp /usr/lib/jvm/.java-gcj-jinfo /usr/lib/jvm/.java-sun-jinfo (this file does not exist on my system, if you have it do steps 14 – 17, if not skip them, as he did not give the details of the expected file contents)
  15. sudo vi /usr/lib/jvm/.java-sun.jinfo
  16. [esc] :%s/java-gcj/java-sun/g (make sure to get the colon as the first character if you are copy and pasting!! this line replaces all the gcj’s with sun, gcj is the GNU open source version of java, what we are doing here is replacing the references to it with references to the newly installed sun java so your system will use sun java instead of the GNU java)
  17. [esc] :wq!
  18. sudo apt-get install galternatives
  19. sudo ln -s /usr/lib/jvm/java-sun/ /etc/alternatives/java-sun
  20. galternatives (this will run the GUI version of alternatives so you can make edits on the files without using vi)
  21. select each of the following one by one and repeat steps 22 – 24 for each one. jar, jarsigner, java, javac, javadoc, javah, native2ascii, rmic, rmid, rmiregistry, serialver
  22. click ‘add’
  23. set path to /etc/alternatives/java-sun/bin/[name of what you are changing, ie jar, java, javah, javap...]
  24. set the priority to the “gcj priority”+1 (note it will not allow you to input numbers greater than 1000 in the GUI, those must be done manually, so just set them to 1000 at this time. it is recommended not to set them to manual, so see step 34 after completing all of these additions for how to make these the defaults.)
  25. sudo update-alternatives –force –install /etc/alternatives/javap javap /usr/lib/jvm/java-sun/bin/javap 1066 (javap did not exist for me so I had to enter this at the command line, it returned multiple errors; however when I reran galternatives, the new setting was there.)
  26. cd /var/lib/dpkg/alternatives
  27. sudo vi java (repeat this process, steps 27 – 29, for all the changes above that you were not able to set the priority over 1000 on)
  28. [esc] :%s/1044/944/ (replace the “1044″ with the number that your system has, this may be different for each file. for simplicity, set the “944″ to the number your system has – 100)
  29. [esc] :wq! (note, this is not necessarily the fastest nor most efficient way of using vi, nor is it the way I usually do it; however I use this method when I write this information out, because it will work regardless of the contents in your file that are/were not in mine AND because without actually seeing the file I cannot tell you “go to line # 5′ or ‘change the third word of the eighth line to “blah”‘. this method should prevent you from inadvertently changing something you should not, I hope…)
  30. java -version (this should display the version you just downloaded and installed, if not… go over the steps again and make sure you followed them all, else… well back to searching the inet for a solution, for you!
  31. javac -version (just in case check this one too!)

Right now that that is done, let’s move on to installing the dependencies for your development environment (again, may not be the only method, nor even the recommended one, but this is what I have done!)

  1. cd ~/Downloads/android/environment/system (this will keep your home folder from filling with source code and build files)
  2. sudo apt-get install debhelper gcj-4.4-base gcj-jdk m4 debiandoc-sgml python-docutils cdbs (these are the dependencies for step 3 and need to be installed first)
  3. sudo apt-get -b source gcc-defaults gcc++ python-defaults ruby-defaults
  4. sudo apt-get update
  5. sudo apt-get dselect-upgrade (check for any updates to the files you have just installed, always a good thing!)
  6. sudo apt-get autoremove (this removed 85.2MB for me)
  7. at this point I did a complete shutdown and created a snapshot in VirtualBox. current Virtual HDD file was 4.72GB before I took the snapshot. (in case I messed something up in the next part, as we have accomplished a good bit of work at this stage)

Now that all of your prerequisites have been installed, let’s install our development environment! (finally)

  1. go to http://developer.android.com/sdk/adding-components.html and download the android SDK to /opt
  2. using dolphin (or your favorite GUI folder browser) find this file and right click on it, select extract here
  3. cd android-sdk-linux_x86/tools
  4. sudo ./android
  5. goto settings first and check the box for “force https://”
  6. select available packages click the down arrow to the left of the web address shown.
  7. check the boxes for: SDK 1.6 API 4 R2 / SDK 2.1 API 7 R1 / Google API 1.6 / Google API 2.1 (this will let you code for Android 1.6 (more of these currently than any other OS version) and 2.1 devices (the newest available) and the google API’s will let you access the preinstalled google apps that come with android and their resources (google maps and voice command and such) I also recommend the samples and documentation files if you are new to coding for Android.
  8. click “install selected”
  9. click “accept all”
  10. click “install” (at this point it will begin installing, you can wait, or continue on to my next step while it does this, personally I let it run, and went to get something to eat!! make sure you check the details before closing, my 1.6 environment did not install with the error: finished with wrong size, expected 63422901 bytes received 4828132 bytes, this also caused the google APIs for 1.6 to fail and I had to re-attempt to install 1.6, everything worked the second time)
  11. cd ~
  12. vi .bashrc
  13. press the following “jjjO” (this will move you down 3 lines, insert a new line and allow you to start editing, then just copy and past the following 2 lines)
  14. export JAVA_HOME=/usr/lib/jvm/java-sun
  15. export PATH=$PATH:$JAVA_HOME:/opt/android-sdk/
  16. [esc] “wq!
  17. cd ~/Downloads/android/environment/system
  18. sudo wget http://www.appcelerator.com/download-linux32 (this should get you the “Titanium Developer.tgz” file)
  19. use dolphin again to right click and “extract here”
  20. now you should have a “Titanium Developer-1.2.1″ directory
  21. cd /opt/titanium/runtime/linux/1.0.0 (need to fix some incompatibilities that I found on the Titanium Developers forum)
  22. sudo mkdir backup
  23. sudo mv libgobject-2.0.* backup/
  24. sudo mv libglib-2.0.* backup/
  25. sudo mv libgio-2.0.* backup/
  26. sudo mv libgthread-2.0.* backup/
  27. cd ~/Downloads/android/environment/system/Titanium\ Developer-1.2.1/
  28. ./Titanium\ Developer (I have tried both with and without sudo, but it throws an error instead of running. I have posted a question on the Titanium Developers forum and linked it to here, so hopefully someone can help me out.)

Now that 32-bit is working, I’ll give the x64 version another shot this weekend. Hope I did not upset too many people over at the forums with my first post! but neither google nor bing came up with that forum post while I was searching…

Tagged with:
 
13 visitors online now
3 guests, 10 bots, 0 members
Max visitors today: 26 at 11:53 am PST
This month: 26 at 02-09-2012 11:53 am PST
This year: 29 at 01-11-2012 02:49 pm PST
All time: 1100 at 08-08-2011 08:11 pm PDT
View in: Mobile | Standard