IPC Final
Been having some problems with my main OSX86 installation, so looking to fix these by installing IPC final
Torrent Software Crashes
I'm speculating this is due to my Time Machine fix of applying IONetworkingFamily.kext version 1.6.0. This seems to be confirmed by the fact that my alternate install works fine with Transmission and UTorrent.
If I have to choose then Time Machine will go - haven't really learned how to use it.
Voodoo Kernel
I'd quite like to try the Voodoo kernel - I think its such a good project.
Settings
Some new stuff
- - Language Translations
- Kernels
- + 9.5.0 Voodoo Kernel
- Fixes and Patches
- + Seatbelt.kext 10.5.5
- DSDT Patches
- + Patch DSDT
- Alternate Bootloaders
- + Chameleon with piccy
- + Applications (install all)
osx86 migrating user account
I keep my main user account on a seperate partition. To get it back on a new osx installation I have to do ...
Before you do any of this make sure you've tested the installation
Get Account Back
In System Preferences | Accounts
- create a new admin account with user name Andrew Premdas
- right click on account to select 'advanced options'
- change home directory to /Volumes/users/andy
- disable automatic login, or set it to new account
Account Functionality
Not enough to get the account back, want to get it working as before - lots to do here.
Terminal Colors
These depend on SIMBL plugin, what I did was to copy relevant files from previous working distribution to same location in new distribution. Most of the files I keep in my account, however the following have to be in the system to work
/Library/InputManagers ...
So as root you need to copy them from an old system to the new one e.g.
sudo cp -R /Volumes/Kalway/Library/InputManagers /Library
TextMate
Git
Gems
iPC first boot and problems
We are now ready to boot our new osx86 installation. Choose the correct drive using you bios then when you get to the boot menu press any key. Select correct partition. IMPORTANT set boot flags to -f -v
Boot Flags
-f this tells OSX to load all kext files individually (normally OSX caches them to save time). You only really need to do this on first boot
-v this tells OSX to show you boot messages, instead of showing default grey screen. This is really essential if your having problems.
OSX Initial Setup
Keyboard Identification
OSX fails to identify keyboard just press OK. When it asks you to press key next to left shift press lots of keys - this will cause keyboard identification to fail (a good thing). Now choose US Keyboard, UK keymapping.
Forms
You can ignore registration form (just don't fill in details). Create a user as noraml
Problems
GetHostUUIDString: unable to determine UUID for host. Error: 35
This error is a real pain, it occurs all over the place, but is supposed to have been fixed by the ethernet string in EFI. I had to fix it by patching /Library/Preferences/SystemConfiguration/NetworkInterfaces.plist as suggested here and here
use PList Edit Pro to edit this file
sudo pledit /Library/Preferences/SystemConfiguration/NetworkInterfaces.plistreboot and use
Consoleto see that errors have gone
Orange Drive Icons
This happens because OSX has not properly recognised your drives as SATA (thinks they're external). Fix by applying IOAHCIFamily.kext using UInstaller.
Time Machine Error
TimeMachine won't let you choose a drive citing inability to find network interface to drive. This is fixed by replacing IONetworkingFamily.kext using UInstaller. Replace existing 1.6.1 with 1.6.0 - requires reboot.
Osx86 Overview
Running a hackintosh as my main desktop involves keeping on top of quite alot of knowledge, which I'm prone to forget. This combined with the rapid development of hackintosh technology and the vastness of the osx86 forums means I need to keep more documentation about what I'm doing. Here I'll do an overview
Multiple Drives, Multiple Installations
Ideally you need to have more than one drive and more than one partition on each drive to work with. This is so you can maintain a working installation you can boot to when you bork your other installations. All of the following are HFS partitions (so we can put really big files e.g. disk images on them)
- Spare - used to store disk images and as a dumping ground
- osx - aims to be my main osx86 installation
- osx-alternate - aims to be my secondary osx86 installation
- osx-alternate-x - another alternative on seperate disk
The main reason for this is speed. Booting an OSX DVD is very slow, so we want to do everything on hard disk. The nature of hackintosh installation is that you will require alot of reboots before you get things correct, there is also a fair chance you'll bork an entire drive and not be able to boot from it.
Useful Tools
Universal OSx86 Installer known as "UInstaller" is the main tool of choice, though its so powerful you have to be very careful with it. This should be installed on all you osx installations
PList Edit Pro - helpful for editing plists, particularly the command line tool which is installed on first usage
Booting Drives
If you've borked a drive and can't boot it use UInstaller to install PC_EFI to volume (currently v9 Chameleon 1.0.12). This should get you back to at least having a boot menu
Updating hackintosh
A Long Awaited Update
I've put of updating my hackintosh for ages, but having finally got my replacement raptor from Western Digital, I've bitten the bullet, and in the processed destroyed my old desktop account!!
The osx86 distro I'm using is ipc, see also osx86 forums
The best thing about this distribution is you can just run the iso from a hard disk and install directly to a partition. This is very quick. The worst things about the distro is that its a beta, its cutting edge (10.5.6), it has loads of options and little documentation and it has some bugs.
However I've been able to get it working as follows
Simplest IPC Installation
Run iso and do following with settings
- deselect Language Translations
- Drivers | NVidia | NVdarwin 256 MB (works with 2 monitors - nvinject doesn't)
- Fixes and Patches | DSDT | Patch DSDT
The other setting which I've tried and think I should use is
- Fixes and Patches | Shutdown/Restart
Shutdown is now working on this install, but it seems slow
Install the above to an "empty" partition and then boot.
Setup
Have to
- get through the installation garbage
- get networking working
- migrate settings
Because we are migrating, the initial account you create should be disposable and not clash with an account being migrated across.
Modifying Network Kext
Support for both my adaptors is broken in this distro, so I had to modify the 'Info.plist' of the AppleYukon2 plugin inside the IONetworkingFamily. This should be included in next update, so I'll not detail.
see post 4
Capistrano and Git - Using Same Box for GIT and Deployment
Been a pain getting my git-server and web-server to communicate via ssh as they are the same box. This is partly to do with the fact that my git user is very restricted
I have two users on my server
- Deploy - who is responsible for deploying applications
- Git - who is responsible for Git things
Using capistrano my deploy user has to get the latest src from the git user. Using ssh to do this kept giving me ssh errors.
In the end I had to create a key pair for deploy and put the public key in the git users authorized keys file. Because I could not log in as the git user I had to do this as root.
mv /home/deploy/.ssh/id-rsa.pub /home/git/.ssh/deploy.pub
then backup the authorized keys file and then change permissions so I can write to it.
cd /home/git/.ssh
cp authorized-keys authorized-keys.old
chmod 777 authorized-keys # give all access
cat deploy.pub >> authorized keys # must use double arrow or will overwrite not append!!
chmod 600 authorized-keys # has to have minimal permissions or ssh will complain
Warning
Instructions above are very rough and probably not totally accurate be careful
Update
May well have been able to do this using
set :ssh_options, { :forward_agent => true }
Which forwards ssh keys from the local machine through the web-server to the git-server
Passenger - Introduction and Setup
Category: sysadmin
Passenger aka mod-rails is an apache module for rails deployment. This documents how I set this up on my Ubuntu server.
Get Passenger
I used gem to install passenger. Running as root
gem install passenger
This installed passenger 1.0.5. To then setup passenger I ran
passenger-install-apache2-module
This runs an installation program that is really very good. The first thing it did was check dependencies. I was missing a couple, and my initial attempt at installing the missing packages failed. So I had to update my system. Again as root
apt-get update
apt-get upgrade
After that installing the missing packages worked fine.
Changes from Apache Upgrade
Before I continue, I have to deal with the changes the upgrade to Apache caused. The upgrade introduced an envvars file to the apache configuration and changed the default config file to use these new environment variables. Accepting these changes meant I had to put back a bit of config into apache2.conf
server-name little-un
Loading Passenger
Re-running passenger setup found all dependencies and then provided 3 lines of config to put into my apache configuration
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-1.0.5/ext/apache2/mod_passenger.so
RailsSpawnServer /usr/lib/ruby/gems/1.8/gems/passenger-1.0.5/bin/passenger-spawn-server
RailsRuby /usr/bin/ruby1.8
I put the first line in /etc/apache2/mods-available/mod_passenger.load and the others in /etc/apache2/mods-available/mod_passenger.conf. Then I enabled the mod, tested the config and restarted apache
a2enmod mod_passenger
apache2ctl configtest
apache2ctl restart
Finally I tested that my current websites were working OK
Be Broadband
So I'm moving to Be and hoping that my new service will have the download speed to get You Tube videos quickly, and the upload speed to support my websites. Running a home server is a little bit daunting, because of security and access issues. Really need to have a careful think about what should be available.
One geeky thing about Be is that because its so fast (potentially), there is quite alot of benefit from tweaking your connection. So I'm learning about BT sockets, and extensions. Another thing to consider is router placement. I'll have to see whether a lower central placement in the house can still cover the back garden, and whether coverage at the front will be better. Finally having two routers (Be Box) and old router offers scope for comparison.
OSX CUPS Client
OSX comes with Cups installed, so you can connect on localhost:631 and add the printer on little-un, using Add Printer. However browsing and discovery of printers doesn't work, so you have to get the correct address
Finding Correct Printer path
Log into the CUPS interface on your linux box. (My path was http://192.168.0.2:631/printers/) Right click the "Print test page" button and "Copy Link Location"
Use this to create your correct path (remove cruft at end first)
Mine ended up being
http://192.168.0.2:631/printers/Kyocera_FS-1020D_USB_1
With the correct path the printer installs easily and works from applications. You can also see the printer in System Preferences | Print & Fax, so you don't have to use the web interface anymore.
Only took me 4hrs
Printer Server
Aim is for little-un to be printer server for mac, windows and linux clients. Need to install Cups and Samba to do this.
Cups installation
sudo apt-get install cupsys cupsys-client
documentation in
*/usr/share/doc/libcupsys2
sudo gunzip /usr/share/doc/libcupsys2/README.txt.gzsudo gunzip /usr/share/doc/libcupsys2/README.Debian.gz
Cups configuration
Used lynx on localhost:631 to get to web interface of Cups then turned on remote administration. Somehow config file got corrupted. Detected this by
- Editing
/etc/cups/cupsd.confand setting the LogLevel (on line 1) to debug tail -f /var/log/cups/error_log
Log showed error line so fixed and restarted /etc/init.d/cupsys start. After successful restart found that remote admin is working.
Connecting Printer
Plugged in printer to usb port. Used dmesg to confirm that system had recognised printer. Configured printer using web admin on the server using Lynx. Used this to setup remote administration, however wouldn't save because config had faulty DefaultAuthType none. Set this to DefaultAuthType basic. Now can install printer driver.
Installing Printer Driver
Did this through web interface little-un:631 you have to fill in a couple of forms. The printer was detected automatically. I chose to use a ppd driver which I got from linuxprintingorg
Installing Clients
[Cups Client on OSX]