NetAdminTools.com
 
SignalQ Sites:
NetAdminTools - Coprolite - NoNIC - SpotBridge - NAW
RoboCoop - AreWeDown - SolarPower - SysAdminTools
Xfig - Gold Loaf - GeekPapa - FixGMC - MCJ - FixRambler
Categories:
GNU/Linux | Homebrew designs | Perl | Administration | Backup/Recovery | Bugs/Fixes | Certification | Database | Email | File/Print | Hardware | Information Grab Bag | Interoperability | GNU/Linux ABCs | Monitoring | Name Resolution | Network Services | Networking | Remote Control | Security | Desktop | Web | BSD | Solaris | GIAGD | REALbasic

Last 30 Days | Last 60 Days | Last 90 Days | All Articles | RSS | Hail Support


Categories:
·GNU/Linux
·Homebrew designs
·Perl
·Administration
·Backup/Recovery
·Bugs/Fixes
·Certification
·Database
·Email
·File/Print
·Hardware
·Information Grab Bag
·Interoperability
·GNU/Linux ABCs
·Monitoring
·Name Resolution
·Network Services
·Networking
·Remote Control
·Security
·Desktop
·Web
·BSD
·Solaris
·GIAGD
·REALbasic
·All Categories


Connecting a Mac and a GNU/Linux Box with FireWire
Topic: Hardware   Posted:2006-07-08
Printer Friendly: Print

spacer

With a 2.6 Linux kernel, particularly on a modern distribution with udev, it is quite easy to get FireWire to act as the physical network interface between a GNU/Linux box and a Mac. FireWire does have some advantages over USB in some areas, although support for FireWire is dwindling. For more information on FireWire see the wikipedia entry. We will focus on getting a GNU/Linux box ASAP that will accept a complete rsync of the root filesystem of a Mac over FireWire.

To start with, since support is dwindling, the standard kernels for Red Hat and Centos on the latest version don't support FireWire. Recompiling a Red Hat kernel is a possibility, but there is a special procedure and many patches to apply. We have done it, but other things break. For instance, if you use a standard kernel VMware works well. As soon as you change your kernel, VMware has trouble loading the vmnet and vmmon modules. There are workarounds, but it is a PITA. Because of this we run a standard kernel:

[root@sv-1 /]# uname -a
Linux sv-1.networking7by24.com 2.6.9-34.EL #1 Wed Mar 8 00:07:35 
CST 2006 i686 i686 i386 GNU/Linux
[root@sv-1 /]#

One very easy way to get firewire running is to boot with a CentOS LiveCD kernel, available from here:

uname -a
Linux sv-1.networking7by24.com 2.6.9-34.19.EL.livecd.2 #1 
Sat May 6 13:29:18 CDT 2006 i686 i686 i386 GNU/Linux
[root@sv-1 ~]# 

After rebooting, load the eth1394 module:

insmod /lib/modules/2.6.9-34.19.EL.livecd.2/kernel/drivers/ieee1394/eth1394.ko

Look for the interface to show up with dmesg:

[root@sv-1 ~]# dmesg | grep eth2
divert: not allocating divert_blk for non-ethernet device eth2
eth1394: eth2: IEEE-1394 IPv4 over 1394 Ethernet (fw-host0)
[root@sv-1 ~]# 

Configure the interface with an IP address and subnet mask:

[root@sv-1 ~]# ifconfig eth2 10.50.1.1 netmask 255.255.255.0 up
[root@sv-1 ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:07:E9:EE:18:AF  
inet addr:10.50.100.1  Bcast:10.50.100.255  Mask:255.255.255.0
inet6 addr: fe80::207:e9ff:feee:18af/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:333 errors:0 dropped:0 overruns:0 frame:0
TX packets:234 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000 
RX bytes:31726 (30.9 KiB)  TX bytes:33491 (32.7 KiB)
eth2      Link encap:UNSPEC  HWaddr 00-02-3C-00-50-01-78-18-00-00-00-00-00-00-00-00  
inet addr:10.50.1.1  Bcast:10.50.1.255  Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:26 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000 
RX bytes:8258 (8.0 KiB)  TX bytes:0 (0.0 b)
lo        Link encap:Local Loopback  
inet addr:127.0.0.1  Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING  MTU:16436  Metric:1
RX packets:6 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0 
RX bytes:588 (588.0 b)  TX bytes:588 (588.0 b)
[root@sv-1 ~]# 

On the Mac side, simply configure the FireWire port as a network port:



Check it out. An rsync of the Mac root filesystem clocks in at 1,679,401.25 bytes/sec with the z compression option:

srv-5:/Users/usr4 root# rsync -e 'ssh -p 22' -avz --delete --exclude=/dev 
--exclude=/volumes / root@10.50.1.1:/mac/
The authenticity of host '10.50.1.1 (10.50.1.1)' can't be established.
RSA key fingerprint is e5:4b:a8:11:9b:5d:3f:a7:1c:44:07:c1:3d:24:e3:54.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.50.1.1' (RSA) to the list of known hosts.
root@10.50.1.1's password: 
building file list ...
uilding file list ... done
./
.DS_Store
.Spotlight-V100/
.Spotlight-V100/.journalHistoryLog
.Spotlight-V100/.store.db
.Spotlight-V100/ContentIndex.db
.
.
.
usr/standalone/ppc/bootx.xcoff
var -> private/var
xcode_2.2.1_8g1165_018213632.dmg
sent 19434683867 bytes  received 10263460 bytes  1679401.25 bytes/sec
total size is 28655889892  speedup is 1.47
rsync warning: some files vanished before they could be transferred 
(code 24) at /SourceCache/rsync/rsync-24/rsync/main.c(717)
srv-5:/Users/usr4 root# 

That is fast! The destination was a blank directory, so this is pure transfer.





Please read our Terms of Use
Microsoft, Windows, Windows XP, Windows 2003, Windows 2000, and NT are either trademarks or registered trademarks of Microsoft Corporation. NetAdminTools.com is not affiliated with Microsoft Corporation. Linux is a registered trademark of Linus Torvalds, and refers to the Linux kernel. The operating system of most distributions that contain the Linux kernel is GNU/Linux. All logos and trademarks in this site are property of their respective owner. Copyright 1997-2008 NetAdminTools.com

Created by:
MCJ
MCJ CMS