NSLU2-Linux
view · edit · print · history

HowTo.AttachAFAT32FormattedDrive History

Hide minor edits - Show changes to markup

September 20, 2008, at 10:55 AM by MarkHu --
Added lines 1-2:

Note: this page was initially written back in 2005 about earlier versions of UnSlung?. You should scroll down and read updates before trying anything.

April 27, 2006, at 08:54 AM by Liviu Ionescu -- FAT32 file size limit warning
Added lines 16-17:

[WARNING: please note that FAT32 has a file size limit of 4GB, so if you plan to use your large USB drive to backup DVD iso images, or virtual machine images, the Windows client will give a confusing error, Samba will complain in the log files and no file will be created (ilg)].

April 18, 2006, at 09:33 PM by Apu -- problem solution
Changed lines 355-357 from:

yes, that's right. I also have a 160 GB drive (it has one big FAT32? partition) and with the linksys r63 firmware, I can hotplug it in and out as many times as I want -- it'll always get mounted. Today I tried the latest Unslung-6.7-alpha which is based on linksys r63 -- and FAT32? didn't work. It said "not formatted". Now I am using r63 again. [Apu]

to:

yes, that's right. I also have a 160 GB drive (it has one big FAT32? partition) and with the linksys r63 firmware, I can hotplug it in and out as many times as I want -- it'll always get mounted. Today I tried the latest Unslung-6.x which is based on linksys r63 -- and FAT32? didn't work. It said "not formatted". Now I am using r63 again. [Apu]

UPDATE: I managed to resolve this issue. Turned out that it was related to Language Support. Make sure you read this. [Apu]

March 19, 2006, at 01:13 AM by apu -- correction
Changed line 355 from:

yes, that's right. I also have a 160 GB drive and with the linksys r63 firmware, I can hotplug it in and out as many times as I want -- it'll always get mounted. Today I tried the latest Unslung-6.7-alpha which is based on linksys r63 -- and FAT32? didn't work. It said "not formatted". Now I am using r63 again. [Apu]

to:

yes, that's right. I also have a 160 GB drive (it has one big FAT32? partition) and with the linksys r63 firmware, I can hotplug it in and out as many times as I want -- it'll always get mounted. Today I tried the latest Unslung-6.7-alpha which is based on linksys r63 -- and FAT32? didn't work. It said "not formatted". Now I am using r63 again. [Apu]

March 19, 2006, at 01:11 AM by apu -- additonal comment
Added lines 353-355:

yes, that's right. I also have a 160 GB drive and with the linksys r63 firmware, I can hotplug it in and out as many times as I want -- it'll always get mounted. Today I tried the latest Unslung-6.7-alpha which is based on linksys r63 -- and FAT32? didn't work. It said "not formatted". Now I am using r63 again. [Apu]

December 13, 2005, at 04:10 AM by RajuS --
Changed lines 344-345 from:

hdd_1_1_1 --> First partition on the HD

to:

hdd_1_1_1 -> First partition on the HD

Added line 347:
Changed lines 349-350 from:

hdd_1_1_4 --> Fourth partition on the HD

to:

hdd_1_1_4 -> Fourth partition on the HD

December 13, 2005, at 04:07 AM by RajuS --
Changed lines 336-349 from:
to:

--MSchnell?

---

Linksys Firmware 2.3.63 Supports FAT32?

December 12, 2005

I loaded the latest firmware from LinkSys?, which supports FAT32? (and NTFS). I had an existing 160 GB partition with 3 FAT32? and 1 NTFS partition. While the NSLU2 was up and running, I plugged in the drive and within a minute all the partitions were mounted. I went to \\192.168.1.77 and saw each partition available as a share

hdd_1_1_1 --> First partition on the HD hdd_1_1_2 hdd_1_1_3 hdd_1_1_4 --> Fourth partition on the HD

--RajuS?

October 03, 2005, at 10:26 AM by mschnell --
Changed lines 332-333 from:

The new Linksys firmware feature suggests - and maybe even helps - to update the Unslung distribution to support FAT32? right after the standard installation.

to:

The new Linksys firmware feature suggests - and maybe even helps - to update the Unslung distribution to support FAT32? in the standard installation.

October 03, 2005, at 10:24 AM by mschnell --
Changed lines 328-329 from:

(As my primary interest in Unslung was to enable FAT32? I did not yet take the plunge here, though I greatly apprecite the project and would like to migrate some day soon and take a more thourogh look at the free Linux on the nice little box.)

to:

(As my primary interest in Unslung was to enable FAT32? I did not yet take the plunge here, though I greatly apprecite the project and would like to migrate some day soon and take a deeper look at the free Linux on the nice little box.)

October 03, 2005, at 10:17 AM by mschnell --
Changed lines 330-331 from:

Reading these pages, using FAT32? with Unslung seems not be be aS EASY AS I hoped :( .

to:

Reading these pages, using FAT32? with Unslung seems not be be as easy as I hoped :( .

October 03, 2005, at 10:15 AM by mschnell -- Linksys Firmware 2.3.63 supports FAT32 hard disks
Added lines 321-336:

Linksys Firmware 2.3.63 supports FAT32? hard disks

October, 3, 2005

The newest Firmware release from Linksys now supports FAT32? (and NTFS and - of course - EXT3?) hard disks at both USB ports, right out of the box.

(As my primary interest in Unslung was to enable FAT32? I did not yet take the plunge here, though I greatly apprecite the project and would like to migrate some day soon and take a more thourogh look at the free Linux on the nice little box.)

Reading these pages, using FAT32? with Unslung seems not be be aS EASY AS I hoped :( .

The new Linksys firmware feature suggests - and maybe even helps - to update the Unslung distribution to support FAT32? right after the standard installation.

Any comments from the "powers that be" ?

--MSchnell?

August 10, 2005, at 02:31 AM by rwhitby --
Changed lines 18-19 from:

I followed the RamHackU2? Project How-To procedures to boot from the flash stick, giving me telnet access.

to:

I followed the RamHackU2 Project How-To procedures to boot from the flash stick, giving me telnet access.

June 11, 2005, at 08:31 PM by tman --
Changed lines 5-6 from:
  1. Some other reason you don't want to format it to the NSLU format (ext3) (e.g. it's a hard-drive based MP3? player and won't work if you format it to ext3!)
to:
  1. Some other reason you don't want to format it to the NSLU2 format (ext3) (e.g. it's a hard-drive based MP3 player and won't work if you format it to ext3!)
June 11, 2005, at 08:30 PM by tman --
Changed lines 4-6 from:
  1. You have so much data on the drive you can't store it somewhere else to let the NSLU2 format the disk
  2. Some other reason you don't want to format it to the NSLU format (ext3) (e.g. it's a hard-drive based mp3 player and won't work if you format it to ext3!)
to:
  1. You have so much data on the drive you can't store it somewhere else to let the NSLU2 format the disk.
  2. Some other reason you don't want to format it to the NSLU format (ext3) (e.g. it's a hard-drive based MP3? player and won't work if you format it to ext3!)
Changed lines 9-10 from:

Yes. Now, you need to get telnet access to the box. You have 2 basic threads of options:

to:

Yes. Now, you need to get telnet access to the box. You have 2 basic choices:

Changed lines 14-19 from:

Either way you need to get to a point where you have telnet access. I was in the position where I had a large and mostly full FAT32 USB drive, and a 64Mb USB stick.

If, during these procedures or examples, you come across errors or problems, refer to the excellent in-depth reference How To Mount FAT File Systems for more details and tips on how the problem might be solved.

I followed the RamHackU2? Project How-To procedures to boot from the flash stick, giving me telnet access.

to:

Either way you need to get to a point where you have telnet access. I was in the position where I had a large and mostly full FAT32 USB drive, and a 64MB USB stick.

If, during these procedures or examples, you come across errors or problems, refer to the excellent in-depth reference How To Mount FAT File Systems for more details and tips on how the problem might be solved.

I followed the RamHackU2? Project How-To procedures to boot from the flash stick, giving me telnet access.

Changed lines 42-45 from:

Question: I have three vfat partitions on the drive. Normally I would mount /dev/sda5 and /dev/sda6 just as described above, but there are no such devices on the slug. Can anyone fill in how to make the device nodes?. Thanks! -jsilence

Hello jsilence, I managed to get access to my forth partition on my drive with the command "mknod /dev/sda4 b 8 4". In uNSLUng-3.16-beta this is no longer nessasary. But maybe it will help you! Conzi

to:

Question: I have three VFAT partitions on the drive. Normally I would mount /dev/sda5 and /dev/sda6 just as described above, but there are no such devices on the slug. Can anyone fill in how to make the device nodes?. Thanks! -jsilence

Hello jsilence, I managed to get access to my fourth partition on my drive with the command "mknod /dev/sda4 b 8 4". In uNSLUng-3.16-beta this is no longer nessasary. But maybe it will help you! Conzi

Changed lines 53-61 from:

drwxrwx--- 6 guest everyone 32768 Nov 20 2003 Backup
drwxrwx--- 168 guest everyone 32768 Nov 20 2003 Download
drwxrwx--- 37 guest everyone 32768 Nov 20 2003 Install
drwxrwx--- 2 guest everyone 32768 Nov 20 2003 Movies
drwxrwx--- 4 guest everyone 32768 Nov 20 2003 Music
drwxrwx--- 18 guest everyone 32768 Nov 20 2003 Pictures
drwxrwx--- 6 guest everyone 32768 Nov 21 2003 Recycled
drwxrwx--- 3 guest everyone 32768 Jan 1 2004 System Volume Information

to:
 drwxrwx---    6 guest    everyone    32768 Nov 20  2003 Backup
 drwxrwx---  168 guest    everyone    32768 Nov 20  2003 Download
 drwxrwx---   37 guest    everyone    32768 Nov 20  2003 Install
 drwxrwx---    2 guest    everyone    32768 Nov 20  2003 Movies
 drwxrwx---    4 guest    everyone    32768 Nov 20  2003 Music
 drwxrwx---   18 guest    everyone    32768 Nov 20  2003 Pictures
 drwxrwx---    6 guest    everyone    32768 Nov 21  2003 Recycled
 drwxrwx---    3 guest    everyone    32768 Jan  1  2004 System Volume Information 
Changed lines 63-64 from:

6) Great, so we have the drive installed, but if you attach to the SLUG from the windows computer you will not see any share exposed. We now need to configure the SAMBA server to share out our newly mounted drive. So the first thing to do is to edit the configuration file. I did this by copying the file to the flash drive and editing it using textpad (http://www.textpad.com) in windows which nicely preserves the CR which UNIX uses.

to:

6) Great, so we have the drive installed, but if you attach to the SLUG from the Windows computer you will not see any share exposed. We now need to configure the SAMBA server to share out our newly mounted drive. So the first thing to do is to edit the configuration file. I did this by copying the file to the flash drive and editing it using textpad (http://www.textpad.com) in Windows which nicely preserves the CR which UNIX uses.

Changed lines 82-83 from:

7) OK, now we have updated the configuration file, but we have to restart SAMBA to reload the configuration. We can do this easily by executing the start up script which will kill all the existing processes and restart the SAMBA processes.

to:

7) OK, now we have updated the configuration file, but we have to restart Samba to reload the configuration. We can do this easily by executing the start up script which will kill all the existing processes and restart the Samba processes.

Changed lines 115-116 from:

Using unslung v3.16 beta some of the above info is outdated.

to:

Using Unslung v3.16 beta some of the above info is outdated.

Changed lines 119-120 from:

1. Install unslung firmware

to:

1. Install Unslung firmware

Changed lines 145-146 from:

8. Use smbpasswd -a to create the samba users you need (skip if you do not want to enable security on your share)

to:

8. Use smbpasswd -a to create the Samba users you need (skip if you do not want to enable security on your share)

Changed lines 185-186 from:

Also, if your USB drive has multiple partitions the FAT32? partition may have an unexpected name, especially when it's a logical drive inside an extended partition. In my case it was sda5 (you can find out what it is by doing "fdisk -l /dev/sda"). The unslung firmware only creates device nodes up to sda4 (or perhaps only for primary partitions), so you still may have to create sda5 node yourself (and they will be gone after reboot too). To automate this you can place the mknod command into rc.local before the mount command:

to:

Also, if your USB drive has multiple partitions the FAT32? partition may have an unexpected name, especially when it's a logical drive inside an extended partition. In my case it was sda5 (you can find out what it is by doing "fdisk -l /dev/sda"). The Unslung firmware only creates device nodes up to sda4 (or perhaps only for primary partitions), so you still may have to create sda5 node yourself (and they will be gone after reboot too). To automate this you can place the mknod command into rc.local before the mount command:

Changed line 202 from:

I wanted to have my drive be both compatible when plugged into a Windows box and fully unslinged to enable me to use several packages. To do this, I started with a new drive, so I didn't have any concerns about keeping data. I also don't care about samba security, and this only deals with a drive plugged into Disk 1. Here are the main steps:

to:

I wanted to have my drive be both compatible when plugged into a Windows box and fully unslinged to enable me to use several packages. To do this, I started with a new drive, so I didn't have any concerns about keeping data. I also don't care about Samba security, and this only deals with a drive plugged into Disk 1. Here are the main steps:

Changed line 320 from:
   mknod /dev/sdb7 b 8 23
to:
   mknod /dev/sdb7 b 8 23
June 11, 2005, at 04:36 PM by Dries --
Changed lines 256-257 from:

Let's update the samba config file first. First we need to find it. cd to /etc/samba and do a ls -l. We are looking for smb.conf. In my system, it was linked to /share/hdd/conf/share/smb.conf. Go get this file and cp it to your /share/hdd/data/public directory so you can see and edit it on your Windows box. Open it up and a UNIX aware text editor. I use UltraEdit?, but it sounds like textpad, mentioned above will also work. Add the following to the bottom of the smb.conf file:

to:

Let's update the samba config file first. First we need to find it. cd to /etc/samba and do a ls -l. We are looking for smb.conf. In my system, it was linked to /share/hdd/conf/share/smb.conf. Go get this file and cp it to your /share/hdd/data/public directory so you can see and edit it on your Windows box. Open it up and a UNIX aware text editor. I use UltraEdit?, but it sounds like textpad, mentioned above will also work.

In my case, the file was not editable from the windows box because only root had r/w access to it. In this case, change the file permissions (chmod) so that everybody can read and write to the file.

Add the following to the bottom of the smb.conf file:

April 13, 2005, at 09:20 PM by MattMcNeill --
Added line 16:

If, during these procedures or examples, you come across errors or problems, refer to the excellent in-depth reference http://www.nslu2-linux.org/wiki/HowTo/MountFATFileSystems How To Mount FAT File Systems for more details and tips on how the problem might be solved.

April 05, 2005, at 01:46 PM by phoenich --
Added line 246:

(There's another experience regarding mknod below)

Added line 269:
Added lines 283-315:

Update: Experience with mknod

April 6, 2005

I have a 200 GB hdd and my partition is quite complex compared with the previous example. Though the principle is the same, I use the mknod differently. This is my setup:

   # fdisk -l /dev/sdb

   Disk /dev/sdb: 255 heads, 63 sectors, 24321 cylinders
   Units = cylinders of 16065 * 512 bytes

      Device Boot    Start       End    Blocks   Id  System
   /dev/sdb1             1      1184   9510448+  83  Linux
   /dev/sdb2          1276     24321 185116995    f  Win95 Ext'd (LBA)
   /dev/sdb3          1210      1275    530145   82  Linux swap
   /dev/sdb4          1185      1209    200812+  83  Linux
   /dev/sdb5          1276      8924  61440561    b  Win95 FAT32?
   /dev/sdb6          8925     16573  61440561    b  Win95 FAT32?
   /dev/sdb7         16574     24321  62235778+   b  Win95 FAT32?

   # ls -l /dev/sdb*
   brw-rw-r--    1 root     root       8,  16 Jan  1  1970 /dev/sdb
   brw-rw-r--    1 root     root       8,  17 Jan  1  1970 /dev/sdb1
   brw-rw-r--    1 root     root       8,  18 Jan  1  1970 /dev/sdb2
   brw-rw-r--    1 root     root       8,  19 Jan  1  1970 /dev/sdb3
   brw-rw-r--    1 root     root       8,  20 Jan  1  1970 /dev/sdb4

From the ls -l /dev/sdb*, my sdb4 has major of 8 and minor of 20. So when I make a new node for my sdb5, sdb6, sdb7 I will use the major of 8 (for 3 of them) and minor of 21, 22, 23 respectively.

   mknod /dev/sdb5 b 8 21
   mknod /dev/sdb6 b 8 22
   mknod /dev/sdb7 b 8 23
April 02, 2005, at 08:34 PM by jwhite --
Changed line 248 from:
   mount -t vfat /dev/sda1 /share/hddvfat
to:
   mount -t vfat /dev/sda5 /share/hddvfat
March 31, 2005, at 05:02 PM by Bill --
Added lines 194-280:

A Personal Story

March 31, 2005
Based on firmware: V2.3R25-uNSLUng-standard-3.18-beta

Background:

I wanted to have my drive be both compatible when plugged into a Windows box and fully unslinged to enable me to use several packages. To do this, I started with a new drive, so I didn't have any concerns about keeping data. I also don't care about samba security, and this only deals with a drive plugged into Disk 1. Here are the main steps:

  1. uNSLUng Initialization
  2. PartitionMagic?
  3. uNSLUng FAT32? Setup

I will go through each of these.

uNSLUng Initialization

First, you must do a full install of uNSLUng. This included letting the Linksys firmware format your drive, updating to the uNSLUng firmware and finally running the unsling command. This is all documented in the README that comes with the uNSLUng firmware. After you have done all of this, make sure you can still access the drives from your Windows box (over the network) and telnet into your slug.

PartitionMagic?

Plug your freshly formated drive into your Windows box. No new drives will appear. Run PartitionMagic? (I used version 8.0). You should see the drive in the list. Right now it has three partitions; two Linux Ext3 and a Linux Swap. The first, and largest, is the data partition. The second is the conf, and the third just for swap. We are going to make the data partition smaller and create a new FAT32? partition. Right-click on the first partition and choose Resize/Move... When it comes up, you can make it smaller a number of ways, dragging the graph or with the text boxes. I chose to put the free space after the data partition, and it worked for me. When you are done, click OK. Right click in the newly created gray area and choose Create... Use this to make a new FAT32? (make sure it isn't another type!) partition. (Note: I used a 250GB drive and found that PartitionMagic? would only make a partition up to 196,600.1MB in size. So, I reduced the data partition down to only about 40GB and also made the conf partition slightly larger (to 1gb) so I can add more packages). When you have every thing looking good, click Apply. When done, PartitionMagic? should mount this drive in Windows. Go ahead and copy a small file to it. We will use this latter to make sure the drive is mounted on our slug.

uNSLUng FAT32? Setup

Now that the FAT32? partition is made, we need to mount it. Get your slug up and running with telnet enabled and the drive attached (I highly recommend you use the March 29 information in ChangePasswordsFromTheCommandLine so you don't have to remove your drive and reboot every time you want to telnet). First, lets create a mount point for it:

# mkdir /share/hddvfat

Now, let's find out where our new partition is. Run this command:

   fdisk -l /dev/sda

Here is the output I received:

   Disk /dev/sda: 255 heads, 63 sectors, 30401 cylinders
   Units = cylinders of 16065 * 512 bytes

      Device Boot    Start       End    Blocks   Id  System
   /dev/sda1             1      5200  41768968+  83  Linux
   /dev/sda2         30264     30394   1052257+  83  Linux
   /dev/sda3         30395     30401     56227+  82  Linux swap
   /dev/sda4          5201     30263 201318547+   f  Win95 Ext'd (LBA)
   /dev/sda5          5201     30263 201318516    b  Win95 FAT32?

   Partition table entries are not in disk order

As you can see, I have my data (sda1), conf (sda2), swap (sda3), and the two Win95 partitions. Why are there two? Well, Windows needs a extended partition to enclose the FAT32? partition. Note they have the same Start and End blocks. We are interested in the Win95 FAT32? partition, which landed at /dev/sda5 here.

As there is not device node for /dev/sda5, we will need to create one:

   mknod /dev/sda5 b 8 5

With that done, we can now mount the drive:

   mount -t vfat /dev/sda1 /share/hddvfat

This should be successful (no output from mount is good). cd over to /share/hddvfat and do a ls -l. You should see the file you copied when it was attached to your Windows box. cd back to root.

Now, even though it is mounted, it will be gone after a boot, and it isn't shared through samba right now, so you can't see it on your Windows box. To change this we need to add a couple of diversion scripts and update a config file.

Let's update the samba config file first. First we need to find it. cd to /etc/samba and do a ls -l. We are looking for smb.conf. In my system, it was linked to /share/hdd/conf/share/smb.conf. Go get this file and cp it to your /share/hdd/data/public directory so you can see and edit it on your Windows box. Open it up and a UNIX aware text editor. I use UltraEdit?, but it sounds like textpad, mentioned above will also work. Add the following to the bottom of the smb.conf file:

   [FATDISK]
   valid users=@"administrators",@"everyone"
   comment=
   path=/share/hddvfat/
   public=yes
   read only=yes
   write list=@"administrators",@"everyone"

Save that file. Now, from root, lets create a new directory /myconf. Copy the edited smb.conf file into this directory. Now, if you don't have a /unslung directory, create it now. In /unslung, make a file rc.local with the following:

   #! /bin/sh
   mknod /dev/sda5 b 8 5
   /bin/mount -t vfat /dev/sda5 /share/hddvfat > /dev/null
   return 1

Now, if your device came up at a different location than /dev/sda5, make the changes. Now, we need to make a new file rc.samba with the following:

   #!/bin/sh

   rm -f /etc/samba/smb.conf
   ln -s /myconf/smb.conf /etc/samba/smb.conf
   return 1

Reboot your slug, and you should have the new share FATDISK now visible on your Windows box!

March 31, 2005, at 10:13 AM by Bill --
Changed line 193 from:
to:

I belive the partitions for the mount command should be /dev/sda5 and /dev/sdb5 in the rc.local. --Bill

March 22, 2005, at 09:16 AM by igor --
Deleted line 192:

An interesting benefit of using FAT32? partition - if you're using DAAP server and you happen to have songs with non-english tags (created under Windows), they will show up as garbage if your MP3s? are stored on EXT3? partition. I am not sure why that happens - non-english file names on EXT3? partition appear fine in a telnet window from Windows, so it appears to be a MT-DAAPD specific issue. As you have guessed, if the files are stored on FAT32? partition the problem goes away (ironically, their names appear as garbage in telnet window from Windows.)

March 22, 2005, at 03:41 AM by igor --
Changed lines 160-161 from:

Update

to:

Update

Deleted line 162:

March 22, 2005, at 03:40 AM by igor --
Changed line 184 from:

Also, if your USB drive has multiple partitions the FAT32? partition may have an unexpected name, especially when it's a logical drive inside an extended partition. In my case it was sda5 (you can find out what it is by doing "fdisk -l /dev/sda"). The unslung firmware only creates device nodes up to sda4, so you still have to create sda5 node yourself (and they will be gone after reboot too). To automate this you can place the mknod command into rc.local before the mount command:

to:

Also, if your USB drive has multiple partitions the FAT32? partition may have an unexpected name, especially when it's a logical drive inside an extended partition. In my case it was sda5 (you can find out what it is by doing "fdisk -l /dev/sda"). The unslung firmware only creates device nodes up to sda4 (or perhaps only for primary partitions), so you still may have to create sda5 node yourself (and they will be gone after reboot too). To automate this you can place the mknod command into rc.local before the mount command:

March 22, 2005, at 03:38 AM by igor --
Changed line 166 from:
  1. !/bin/sh
to:
    #!/bin/sh
Changed lines 168-176 from:

cat <<! >>/opt/etc/smb.conf [FATDISK] valid users=@"administrators",@"everyone" comment= path=/share/hddvfat/ public=yes read only=yes write list=@"administrators",@"everyone"

to:
    cat <<! >>/opt/etc/smb.conf
    [FATDISK]
    valid users=@"administrators",@"everyone"
    comment=
    path=/share/hddvfat/
    public=yes
    read only=yes
    write list=@"administrators",@"everyone"
    !
Changed lines 178-182 from:

rm -f /etc/samba/smb.conf ln -s /opt/etc/smb.conf /etc/samba/smb.conf rm -f /etc/samba/smbpasswd ln -s /opt/etc/smbpasswd /etc/samba/smbpasswd return 1

to:
    rm -f /etc/samba/smb.conf
    ln -s /opt/etc/smb.conf /etc/samba/smb.conf
    rm -f /etc/samba/smbpasswd
    ln -s /opt/etc/smbpasswd /etc/samba/smbpasswd
    return 1 
March 22, 2005, at 03:38 AM by igor --
Changed lines 186-191 from:
  1. ! /bin/sh

mknod /dev/sda5 b 8 5 mknod /dev/sdb5 b 8 6 /bin/mount -t vfat /dev/sda1 /share/hddvfat > /dev/null /bin/mount -t vfat /dev/sdb1 /share/flash > /dev/null return 1

to:
    #! /bin/sh
    mknod /dev/sda5 b 8 5
    mknod /dev/sdb5 b 8 6
    /bin/mount -t vfat /dev/sda1 /share/hddvfat > /dev/null
    /bin/mount -t vfat /dev/sdb1 /share/flash > /dev/null
    return 1
March 22, 2005, at 03:36 AM by igor --
Added lines 159-194:

Update March 21, 2005


The changes to smb.conf made according to the previous update will acually be lost after reboot. Apparently the file is being copied over from somewhere else. I've bypassed the problem by adding the new section to the file inline in the rc.samba:

  1. !/bin/sh

cat <<! >>/opt/etc/smb.conf [FATDISK] valid users=@"administrators",@"everyone" comment= path=/share/hddvfat/ public=yes read only=yes write list=@"administrators",@"everyone"

rm -f /etc/samba/smb.conf ln -s /opt/etc/smb.conf /etc/samba/smb.conf rm -f /etc/samba/smbpasswd ln -s /opt/etc/smbpasswd /etc/samba/smbpasswd return 1

Also, if your USB drive has multiple partitions the FAT32? partition may have an unexpected name, especially when it's a logical drive inside an extended partition. In my case it was sda5 (you can find out what it is by doing "fdisk -l /dev/sda"). The unslung firmware only creates device nodes up to sda4, so you still have to create sda5 node yourself (and they will be gone after reboot too). To automate this you can place the mknod command into rc.local before the mount command:

  1. ! /bin/sh

mknod /dev/sda5 b 8 5 mknod /dev/sdb5 b 8 6 /bin/mount -t vfat /dev/sda1 /share/hddvfat > /dev/null /bin/mount -t vfat /dev/sdb1 /share/flash > /dev/null return 1

An interesting benefit of using FAT32? partition - if you're using DAAP server and you happen to have songs with non-english tags (created under Windows), they will show up as garbage if your MP3s? are stored on EXT3? partition. I am not sure why that happens - non-english file names on EXT3? partition appear fine in a telnet window from Windows, so it appears to be a MT-DAAPD specific issue. As you have guessed, if the files are stored on FAT32? partition the problem goes away (ironically, their names appear as garbage in telnet window from Windows.)

January 29, 2005, at 09:19 AM by thegman --
Changed lines 133-135 from:

6. Create /opt/etc directory (if does not exist)

7. Create rc.samba file in /unslung directory and modify as follows

to:

6. Create rc.samba file in /unslung directory and modify as follows

Added lines 142-143:

7. Create /opt/etc directory (if does not exist)

Changed line 146 from:

9. Edit smb.conf file as neeeded (at the very least you will need to create a share)

to:

9. Edit /etc/samba/smb.conf file as neeeded (at the very least you will need to create a share)

Changed line 156 from:

10. Copy smbpasswd and smb.conf files to /opt/etc

to:

10. Copy /etc/samba/smbpasswd and /etc/samba/smb.conf files to /opt/etc

January 29, 2005, at 09:13 AM by thegman --
Changed lines 133-135 from:

6. Create rc.samba file in /unslung directory and modify as follows

to:

6. Create /opt/etc directory (if does not exist)

7. Create rc.samba file in /unslung directory and modify as follows

Changed lines 142-144 from:
   return 1

7. Create /opt/etc directory (if does not exist)

to:
   return 1 
January 22, 2005, at 11:26 PM by thegman --
Added line 131:
   return 1
January 22, 2005, at 06:55 PM by thegman --
Changed line 111 from:

Some updates!!

to:

Some updates

January 22, 2005, at 06:53 PM by thegman --
Changed line 143 from:

8. Use smbpasswd -a to create the samba users you need

to:

8. Use smbpasswd -a to create the samba users you need (skip if you do not want to enable security on your share)

Changed line 153 from:
  • Please note the above share has no security, it is writeable by everyone.
to:
  • Please note the above share has no security, it is writeable by everyone, to enable security, see www.samba.org
January 22, 2005, at 06:49 PM by thegman --
Added line 158:
January 22, 2005, at 06:49 PM by thegman --
Changed lines 107-158 from:

http://groups.yahoo.com/group/nslu2-linux/message/1466

to:

http://groups.yahoo.com/group/nslu2-linux/message/1466


Some updates!!

Jan 22, 2005

Using unslung v3.16 beta some of the above info is outdated.

Here is a brief outline of the process now.

1. Install unslung firmware

2. Telnet into NSLU

3. Create mount point /share/hddvfat

4. Create /unslung directory (if does not exist)

5. Create rc.local file in /unslung directory and modify as follows

   #! /bin/sh
   /bin/mount -t vfat /dev/sda1 /share/hddvfat > /dev/null
   /bin/mount -t vfat /dev/sdb1 /share/flash > /dev/null

6. Create rc.samba file in /unslung directory and modify as follows

   #!/bin/sh
   rm -f /etc/samba/smb.conf
   ln -s /opt/etc/smb.conf /etc/samba/smb.conf
   rm -f /etc/samba/smbpasswd
   ln -s /opt/etc/smbpasswd /etc/samba/smbpasswd
   return 1

7. Create /opt/etc directory (if does not exist)

8. Use smbpasswd -a to create the samba users you need

9. Edit smb.conf file as neeeded (at the very least you will need to create a share)

   [USB-DRIVE]
   comment=FAT32? USB hard drive
   path=/share/hddvfat/
   public=yes
   read only=no
  • Please note the above share has no security, it is writeable by everyone.

10. Copy smbpasswd and smb.conf files to /opt/etc

11. Reboot NSLU (type "reboot" without the quotes and hit enter)

January 19, 2005, at 08:55 PM by DaveHooper --
Changed line 5 from:
  1. Some other reason you don't want to format it to the NSLU format (ext3)
to:
  1. Some other reason you don't want to format it to the NSLU format (ext3) (e.g. it's a hard-drive based mp3 player and won't work if you format it to ext3!)
January 02, 2005, at 01:08 PM by ConziAtWork --
Added lines 43-44:

Hello jsilence, I managed to get access to my forth partition on my drive with the command "mknod /dev/sda4 b 8 4". In uNSLUng-3.16-beta this is no longer nessasary. But maybe it will help you! Conzi

November 27, 2004, at 03:24 PM by jsilence --
Added lines 41-42:

Question: I have three vfat partitions on the drive. Normally I would mount /dev/sda5 and /dev/sda6 just as described above, but there are no such devices on the slug. Can anyone fill in how to make the device nodes?. Thanks! -jsilence

October 10, 2004, at 12:40 PM by tman --
Changed line 17 from:

I followed the RamHackU2?.HomePage Project How-To procedures to boot from the flash stick, giving me telnet access.

to:

I followed the RamHackU2.HomePage RamHackU2? Project How-To procedures to boot from the flash stick, giving me telnet access.

October 10, 2004, at 12:40 PM by tman --
Changed line 17 from:

I followed the http://www.nslu2-linux.org/wiki/Main/RamHackU2 RamHackU2 Project How-To procedures to boot from the flash stick, giving me telnet access.

to:

I followed the RamHackU2?.HomePage Project How-To procedures to boot from the flash stick, giving me telnet access.

September 25, 2004, at 04:45 PM by MattMcN --
Added lines 86-87:

Note: The web interface will not register the drive as 'installed'. This should be expected. This procedure basically sidesteps the web configuration which does not deal with FAT32? drives. Therefore you will need to be careful not to format the drive etc by trying to 'install' it through the web interface. If it ain't broke - don't fix it!

September 25, 2004, at 01:10 PM by rwhitby --
Changed line 17 from:

I followed the http://www.nslu2-linux.org/wiki/Main/RamHackU2 RomHackU2 Project How-To procedures to boot from the flash stick, giving me telnet access.

to:

I followed the http://www.nslu2-linux.org/wiki/Main/RamHackU2 RamHackU2 Project How-To procedures to boot from the flash stick, giving me telnet access.

September 19, 2004, at 06:11 AM by ka6sox --
Changed line 66 from:

comment=FAT32? USB formatted drive \\

to:

comment=FAT32 USB formatted drive \\

September 19, 2004, at 06:09 AM by ka6sox --
Added line 10:
September 19, 2004, at 05:02 AM by ka6sox --
Changed lines 7-8 from:

So is it possible?
*Yes. Now, you need to get telnet access to the box. You have 2 basic threads of options:

to:

So is it possible?

Yes. Now, you need to get telnet access to the box. You have 2 basic threads of options:

Changed lines 13-16 from:

Either way you need to get to a point where you have telnet access. I was in the position where I had a large and mostly full FAT32 USB drive, and a 64Mb USB stick. I followed the http://www.nslu2-linux.org/wiki/Main/RamHackU2 RomHackU2 Project How-To procedures to boot from the flash stick, giving me telnet access.

to:

Either way you need to get to a point where you have telnet access. I was in the position where I had a large and mostly full FAT32 USB drive, and a 64Mb USB stick.

I followed the http://www.nslu2-linux.org/wiki/Main/RamHackU2 RomHackU2 Project How-To procedures to boot from the flash stick, giving me telnet access.

September 19, 2004, at 04:59 AM by ka6sox --
Changed lines 7-8 from:

So is it possible? Yes. Now, you need to get telent access to the box. You have 2 basic threads of options:

to:

So is it possible?
*Yes. Now, you need to get telnet access to the box. You have 2 basic threads of options:

September 19, 2004, at 04:57 AM by ka6sox --
Changed line 8 from:
  1. You only have 1 USB enclosure (formatted FAT32?) but you have a USB Flash stick.
to:
  1. You only have 1 USB enclosure (formatted FAT32) but you have a USB Flash stick.
September 19, 2004, at 04:57 AM by ka6sox --
Changed line 11 from:

Either way you need to get to a point where you have telnet access. I was in the position where I had a large and mostly full FAT32? USB drive, and a 64Mb USB stick. I followed the RamHackU2? Project How-To (not sure how to create the wiki link) procedures to boot from the flash stick, giving me telnet access.

to:

Either way you need to get to a point where you have telnet access. I was in the position where I had a large and mostly full FAT32 USB drive, and a 64Mb USB stick. I followed the http://www.nslu2-linux.org/wiki/Main/RamHackU2 RomHackU2 Project How-To procedures to boot from the flash stick, giving me telnet access.

Changed line 21 from:

2) Now plug in your FAT32? drive. In my case I had to plug it into "Disk 1" since the USB drive only plugs into "Disk 2".

to:

2) Now plug in your FAT32 drive. In my case I had to plug it into "Disk 1" since the USB drive only plugs into "Disk 2".

Changed line 29 from:

4) We now need to mount the FAT32? drive so that its files and folders are attached where we just created the mount point.

to:

4) We now need to mount the FAT32 drive so that its files and folders are attached where we just created the mount point.

Changed line 56 from:

Now edit the configuration file and add a new section at the bottom as follows - you can replace the "FAT32HDD?" with a name of your choosing for the SAMBA share:

to:

Now edit the configuration file and add a new section at the bottom as follows - you can replace the "FAT32HDD" with a name of your choosing for the SAMBA share:

Changed line 58 from:

[FAT32HDD?] \\

to:

[FAT32HDD] \\

Changed line 78 from:

Note: It will all be lost when the NSLU2 reboot, and you will have to do it all again. You may be able to write a script with a Hard-Drive plugged into "Disk 1", but I have found that the flash drive hack does not work if the NSLU2 boots with the FAT32? drive plugged into "Disk 1" - I have to plug it in after the boot has finished. Don't know why.

to:

Note: It will all be lost when the NSLU2 reboot, and you will have to do it all again. You may be able to write a script with a Hard-Drive plugged into "Disk 1", but I have found that the flash drive hack does not work if the NSLU2 boots with the FAT32 drive plugged into "Disk 1" - I have to plug it in after the boot has finished. Don't know why.

September 18, 2004, at 08:26 PM by MattMcN --
Changed line 1 from:

Taken verbatim from http://groups.yahoo.com/group/nslu2-linux/message/1306 by Chris Pikus

to:

So you have a Windows formatted USB drive and one of the following applies:

Changed lines 3-5 from:

Try "mknod /dev/sda4 b 8 4" to create an entry in the device table. This will create a block device driver of Major ID 8 and minor ID 4. The other three partitions, /dev/sda1, sda2, sda3, are minor devices 1, 2 & 3 respectively so you'll want the 4th partition to have minor number 4.

to:
  1. You dont want to format the drive so that it couldn't be read on a Windows box
  2. You have so much data on the drive you can't store it somewhere else to let the NSLU2 format the disk
  3. Some other reason you don't want to format it to the NSLU format (ext3)
Changed lines 7-9 from:

Do an "ls -l /dev/sda*" to make sure that the major/minor numbers match what I wrote for your system.

to:

So is it possible? Yes. Now, you need to get telent access to the box. You have 2 basic threads of options:

  1. You only have 1 USB enclosure (formatted FAT32?) but you have a USB Flash stick.
  2. You have another USB hard-drive which you have already installed as disk 1 on your USB drive
Changed line 11 from:

Now that you've got an entry in the /dev directory, it's time to see if you can use it. I went to /proc and did a "cat /proc/filesystems" to see what was supported. Apparently they only support EXT2?, EXT3? and VFAT. VFAT can handle FAT32? filesystems.

to:

Either way you need to get to a point where you have telnet access. I was in the position where I had a large and mostly full FAT32? USB drive, and a 64Mb USB stick. I followed the RamHackU2? Project How-To (not sure how to create the wiki link) procedures to boot from the flash stick, giving me telnet access.

Changed lines 13-33 from:

You'll also need a mount point -- i.e. an empty directory to serve as the "top" of the drive. You can either use one of the three sub-directories in the /mnt directory, or create your own in the /share directory. I'd prefer the latter since it's consistent with the other disk mounting points. So "mkdir /share/iTunes"

to:

1) Telnet into the NSLU2 as root:

> telnet 192.168.1.77
> login: root
> pass: *******


2) Now plug in your FAT32? drive. In my case I had to plug it into "Disk 1" since the USB drive only plugs into "Disk 2".


3) Now we need to create the mount point. Let's call it "hddvfat".

# mkdir /share/hddvfat


4) We now need to mount the FAT32? drive so that its files and folders are attached where we just created the mount point.

# mount -t vfat /dev/sda1 /share/hddvfat

Note: use "sda1" if you have your drive attached to the "Disk 1" USB port. If the drive is attached to "Disk 2", then you may need to use "sdb1" instead.

Changed lines 35-40 from:

Finally, you have to mount your partition. Do this via: "mount -t vfat /dev/sda4 /share/iTunes"

to:

5) OK we should now have the drive attached. Test this by typing the following:

# ls -l /share/hddvfat

You should get some output like the following:

Changed lines 42-49 from:

Just for kicks, I thought I'd try out a USB flash drive I had sitting around. I plugged it in, and it mounted/unmounted it via "mount -t vfat /dev/sdb1 /mnt/tmpmnt" and everything works fine.

to:

drwxrwx--- 6 guest everyone 32768 Nov 20 2003 Backup
drwxrwx--- 168 guest everyone 32768 Nov 20 2003 Download
drwxrwx--- 37 guest everyone 32768 Nov 20 2003 Install
drwxrwx--- 2 guest everyone 32768 Nov 20 2003 Movies
drwxrwx--- 4 guest everyone 32768 Nov 20 2003 Music
drwxrwx--- 18 guest everyone 32768 Nov 20 2003 Pictures
drwxrwx--- 6 guest everyone 32768 Nov 21 2003 Recycled
drwxrwx--- 3 guest everyone 32768 Jan 1 2004 System Volume Information

Changed lines 52-64 from:

Update 17/09/2004

to:

6) Great, so we have the drive installed, but if you attach to the SLUG from the windows computer you will not see any share exposed. We now need to configure the SAMBA server to share out our newly mounted drive. So the first thing to do is to edit the configuration file. I did this by copying the file to the flash drive and editing it using textpad (http://www.textpad.com) in windows which nicely preserves the CR which UNIX uses.

# cp /etc/samba/smb.conf /share/flash/data/

Now edit the configuration file and add a new section at the bottom as follows - you can replace the "FAT32HDD?" with a name of your choosing for the SAMBA share:

[FAT32HDD?]
valid users=@"administrators",@"everyone"
comment=FAT32? USB formatted drive
path=/share/hddvfat/
public=yes
read only=yes
write list=@"administrators",@"everyone"

Changed line 66 from:

Taken verbatim from http://groups.yahoo.com/group/nslu2-linux/message/1466 by stopcastingporosity

to:

Once this is edited, we need to save it and copy it back:

Changed lines 68-76 from:

BTW - the mknod comand worked and I was able to mount my fat32 partition on my NSLU2. I've even got diversion scripts to do it whenever the device boots up and start mt-daapd reading from a subdirectory of the fat32 partition.

to:

# cp /share/flash/data/smb.conf /etc/samba/


7) OK, now we have updated the configuration file, but we have to restart SAMBA to reload the configuration. We can do this easily by executing the start up script which will kill all the existing processes and restart the SAMBA processes.

# /etc/rc.d/rc.samba


That should be it! Connect to your slug again and see if the new share is visible!

Added line 78:

Note: It will all be lost when the NSLU2 reboot, and you will have to do it all again. You may be able to write a script with a Hard-Drive plugged into "Disk 1", but I have found that the flash drive hack does not work if the NSLU2 boots with the FAT32? drive plugged into "Disk 1" - I have to plug it in after the boot has finished. Don't know why.

Changed lines 83-95 from:

http://groups.yahoo.com/group/nslu2-linux/message/275 http://groups.yahoo.com/group/nslu2-linux/message/277 http://groups.yahoo.com/group/nslu2-linux/message/298 http://groups.yahoo.com/group/nslu2-linux/message/527 http://groups.yahoo.com/group/nslu2-linux/message/528 http://groups.yahoo.com/group/nslu2-linux/message/530 http://groups.yahoo.com/group/nslu2-linux/message/534 http://groups.yahoo.com/group/nslu2-linux/message/539 http://groups.yahoo.com/group/nslu2-linux/message/298 http://groups.yahoo.com/group/nslu2-linux/message/1200 http://groups.yahoo.com/group/nslu2-linux/message/1305 http://groups.yahoo.com/group/nslu2-linux/message/1306 http://groups.yahoo.com/group/nslu2-linux/message/1466

to:

http://groups.yahoo.com/group/nslu2-linux/message/275
http://groups.yahoo.com/group/nslu2-linux/message/277
http://groups.yahoo.com/group/nslu2-linux/message/298
http://groups.yahoo.com/group/nslu2-linux/message/527
http://groups.yahoo.com/group/nslu2-linux/message/528
http://groups.yahoo.com/group/nslu2-linux/message/530
http://groups.yahoo.com/group/nslu2-linux/message/534
http://groups.yahoo.com/group/nslu2-linux/message/539
http://groups.yahoo.com/group/nslu2-linux/message/298
http://groups.yahoo.com/group/nslu2-linux/message/1200
http://groups.yahoo.com/group/nslu2-linux/message/1305
http://groups.yahoo.com/group/nslu2-linux/message/1306
http://groups.yahoo.com/group/nslu2-linux/message/1466

September 17, 2004, at 11:30 AM by MattMcN --
Changed line 1 from:

Taken verbatim from http://groups.yahoo.com/group/nslu2-linux/message/1306 by Chris Pikus

to:

Taken verbatim from http://groups.yahoo.com/group/nslu2-linux/message/1306 by Chris Pikus

Added lines 15-23:

Update 17/09/2004

Taken verbatim from http://groups.yahoo.com/group/nslu2-linux/message/1466 by stopcastingporosity

BTW - the mknod comand worked and I was able to mount my fat32 partition on my NSLU2. I've even got diversion scripts to do it whenever the device boots up and start mt-daapd reading from a subdirectory of the fat32 partition.


Added line 38:

http://groups.yahoo.com/group/nslu2-linux/message/1466

September 14, 2004, at 03:21 AM by StE --
Changed line 11 from:

Finally, you have to mount your partition. Do this via: "mount -t vfat /dev/sda4/share/iTunes"

to:

Finally, you have to mount your partition. Do this via: "mount -t vfat /dev/sda4 /share/iTunes"

September 13, 2004, at 08:37 PM by MattMcN --
Changed line 1 from:

Taken verbatim from http://groups.yahoo.com/group/nslu2-linux/message/1305 by Chris Pikus

to:

Taken verbatim from http://groups.yahoo.com/group/nslu2-linux/message/1306 by Chris Pikus

Changed lines 27-28 from:

http://groups.yahoo.com/group/nslu2-linux/message/1305

to:

http://groups.yahoo.com/group/nslu2-linux/message/1305 http://groups.yahoo.com/group/nslu2-linux/message/1306

September 13, 2004, at 08:28 PM by MattMcN --
Changed lines 1-27 from:
to:

Taken verbatim from http://groups.yahoo.com/group/nslu2-linux/message/1305 by Chris Pikus

Try "mknod /dev/sda4 b 8 4" to create an entry in the device table. This will create a block device driver of Major ID 8 and minor ID 4. The other three partitions, /dev/sda1, sda2, sda3, are minor devices 1, 2 & 3 respectively so you'll want the 4th partition to have minor number 4.

Do an "ls -l /dev/sda*" to make sure that the major/minor numbers match what I wrote for your system.

Now that you've got an entry in the /dev directory, it's time to see if you can use it. I went to /proc and did a "cat /proc/filesystems" to see what was supported. Apparently they only support EXT2?, EXT3? and VFAT. VFAT can handle FAT32? filesystems.

You'll also need a mount point -- i.e. an empty directory to serve as the "top" of the drive. You can either use one of the three sub-directories in the /mnt directory, or create your own in the /share directory. I'd prefer the latter since it's consistent with the other disk mounting points. So "mkdir /share/iTunes"

Finally, you have to mount your partition. Do this via: "mount -t vfat /dev/sda4/share/iTunes"

Just for kicks, I thought I'd try out a USB flash drive I had sitting around. I plugged it in, and it mounted/unmounted it via "mount -t vfat /dev/sdb1 /mnt/tmpmnt" and everything works fine.

References

http://groups.yahoo.com/group/nslu2-linux/message/275 http://groups.yahoo.com/group/nslu2-linux/message/277 http://groups.yahoo.com/group/nslu2-linux/message/298 http://groups.yahoo.com/group/nslu2-linux/message/527 http://groups.yahoo.com/group/nslu2-linux/message/528 http://groups.yahoo.com/group/nslu2-linux/message/530 http://groups.yahoo.com/group/nslu2-linux/message/534 http://groups.yahoo.com/group/nslu2-linux/message/539 http://groups.yahoo.com/group/nslu2-linux/message/298 http://groups.yahoo.com/group/nslu2-linux/message/1200 http://groups.yahoo.com/group/nslu2-linux/message/1305

view · edit · print · history · Last edited by MarkHu.
Based on work by Liviu Ionescu, Apu, apu, RajuS, mschnell, rwhitby, tman, Dries, MattMcNeill, phoenich, jwhite, Bill, igor, thegman, DaveHooper, ConziAtWork, jsilence, MattMcN, ka6sox, and StE.
Originally by MattMcN.
Page last modified on September 20, 2008, at 10:55 AM