Reno HDTV Moved
All of my Reno HDTV notes have been moved to the renohdtv.com domain. The old links will still work and redirect to the new location.
All of my Reno HDTV notes have been moved to the renohdtv.com domain. The old links will still work and redirect to the new location.
I have a Sun SPARCStation that runs Solaris. I need to install shftware on it, which includes some stuff that needs to be compiled with specific options or features. However, the sparc doesn’t have enough drive space in /, /usr, or /opt to install a compiler and all its related goodness. What is one to do?
That’s right: we need to make a cross compiler. I have a Linux box with more than enough drive space, so this is the natural option. Here’s a quick and dirty guide to making and using a cross compiler, using Red Hat Linux. However, this procedure can be adopted to any other platform.
We will need the following:
* binutils
* gcc
* Solaris headers/libraries
You can get the source for binutils and gcc online, but you’ll need access to a Solaris box (presumably the one you want to cross compile stuff for) to get copies of the headers and libraries. Sorry, but this stuff isn’t freely available online.
Grab the Solaris stuff into a tar file (the devel packages were installed on the Solaris box you’re doing this to, right?) with the following command:
$ tar -cf solarislibs.tar /lib /usr/lib /usr/include /usr/ccs/lib
Mine turned out to be around 24 megs gzipped. Copy this to your target machine. Now we need GCC and binutils. You will want to create a new directory to do all this work in; I created a directory called “solaris-cross-compiler” in my home to stuff everything into.
Grab the binutils source:
$ export CVSROOT=”:pserver:anoncvs@sources.redhat.com:/cvs/src”
$ cvs login
$ cvs -z3 co binutils
Once it’s done, grab the GCC source:
$ export CVS_RSH=”ssh”
$ export CVSROOT=”:ext:anoncvs@savannah.gnu.org:/cvsroot/gcc”
$ cvs -z3 co gcc
I used CVS, but you can get the source any way you see fit. Now that we have the source for binutils and gcc, and the tar file with the Solaris headers and libraries, we’re ready for some cross compiling action!
The binutils package needs to be built first: it has the assembler and stuff in it. Build it something like this:
$ cd src
$ ./configure –prefix=/usr/local/solaris8-cross-comp –target=sparc-sun-solaris2.8
$ make
$ make install
Assuming all went well, it’s time to install the Solaris libraries and headers to compile (and compile with) GCC.
$ cd /usr/local/solaris8-cross-comp
$ mkdir sysroot
$ cd sysroot
$ cp whatever/path/you/saves/it/to/solarislibs.tar.gz .
$ tar -xzf solarislibs.tar.gz
Now, go back to whatever dierctory you put the GCC sources and do the following:
$ mkdir gcc-build
$ cd gcc-build
$ export PATH=/usr/local/solaris8-cross-comp/bin:$PATH
$ ../gcc/configure –prefix=/usr/local/solaris8-cross-comp –target=sparc-sun-solaris2.8 –with-gnu-as –with-gnu-ld –with-sysroot=/usr/local/solaris8-cross-comp/sysroot –enable-languages=c,c++,objc
$ make
$make install
A early morning (as in 2:30am Pacific Time) power outage, coupled with the inaction of my pager, resulted in a multiple hour outage of the Roller Network. I sincerely apologize for the service outage. I intend to obtain a larger capacity UPS shortly that will prevent power failures from being a problem.
I’d almost forgotten about this:
roller-c3640 uptime is 1 year, 1 week, 4 days, 17 hours, 23 minutes
System returned to ROM by power-on
System restarted at 19:27:12 PDT Mon May 12 2003
roller-cat2900 uptime is 1 year, 1 week, 4 days, 17 hours, 21 minutes
System returned to ROM by power-on
System restarted at 19:25:38 PDT Mon May 12 2003
I’ve called up Charter Cable and asked for their HD package to review for Reno HDTV. The cable guy is scheduled to come by on May 18th sometime between 11am and 2pm.
As a side note, the minimum required package is Basic Expanded Cable plus HDTV, which was quoted to me as $67/mo. They currently have a special 30-day no risk offer on new service; if you don’t like it, they’ll refund your money (less taxes) if you cancel within 30 days.
In response to the populatiry of my HDTV in Reno page, I’ve registered the domain name “renohdtv.com” as something easier to tell your friends about.
RPM is great for maintaining packages on multiple systems – until something goes wrong and the database gets corrupted. Here’s a quick and easy way to rebuild a corrupt RPM database:
$ rm -f /var/lib/rpm/__db*
$ rpm –rebuilddb
I got a report on Charter’s HDTV service from a reader the other day, so I’ve updated the Reno HDTV page with that information plus some new stuff.