Can't format SD card to boot Angstrom

Hi, guys!

My question isn't directly connected with BeagleBoard, but I'm a real
noob in this matter. And excuse me for my rude language, english isn't
my native.
That is my problem:

I have a BeagleBoard (at university, an elective course) and SD card
(2 Gb) to boot from it (Angstrom). I read Beginners Guide
http://elinux.org/BeagleBoardBeginners
and tried to format SD-card using fdisk (I have Xubuntu 11.10 on
VirtualBox). But it fails to step in creating a boot partition.
Example, my console out:

fdisk /dev/sdb
Command (m for help): o
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): p

Disk /dev/sdb: 1967 MB, 1967128576 bytes
61 heads, 62 sectors/track, 1015 cylinders, total 3842048 sectors
Units = sectors of 1 * 512 = 512 bytes
... #any other info

Command (m for help): х

Expert command (m for help): h
Number of heads (1-256, default 61): 255

Expert command (m for help): s
Number of sectors (1-63, default 62): 63

Expert command (m for help): c
Number of cylinders (1-1048576, default 1015): 239

Expert command (m for help): r

Command (m for help): n
Command action
  e extended
  p primary partition (1-4)
p
Partition number (1-4): 1
First sector (2048-3842047, default 2048):

And then I stop. I must enter '1', but it's an incorrect value (out of
range).
If I enter 2048 (and do the next steps to load Angstrom on SD card),
Angstrom don't boot.

I don't know how to solve this problem.

so the fdisk in util-linux-ng post 2.16 (2.18, 2.19, 2.20, etc) no
longer uses cylinders by default, so you need to add

fdisk -c=dos -u=cylinders <drive>

to set old dos mode and units as cylinders

Regards,

Thank you, it really helped me.