Nevertheless, I, Jay Jaeckel, hereby certify that this transcript, as shown here, substantially and correctly shows what actually happened.
Log in (as user jeremy).
Start a terminal window.
Before doing any work with the new disk, first examine the
state of some things so far.
Note that none of the following commands show any mention
of /dev/sdb (yet):
jeremy@debian5vm: /home/jeremy $ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 2395540 1688872 584980 75% /
tmpfs 258148 0 258148 0% /lib/init/rw
udev 10240 688 9552 7% /dev
tmpfs 258148 0 258148 0% /dev/shm
/dev/sda6 5534416 143572 5109712 3% /home
jeremy@debian5vm: /home/jeremy $ mount
/dev/sda1 on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
procbususb on /proc/bus/usb type usbfs (rw)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
/dev/sda6 on /home type ext3 (rw)
none on /proc/fs/vmblock/mountPoint type vmblock (rw)
jeremy@debian5vm: /home/jeremy $ /sbin/swapon -s
Filename Type Size Used Priority
/dev/sda5 partition 329292 0 -1
jeremy@debian5vm: /home/jeremy $ cat /etc/fstab
# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
/dev/sda1 / ext3 errors=remount-ro 0 1
/dev/sda6 /home ext3 defaults 0 2
/dev/sda5 none swap sw 0 0
/dev/hdc /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto 0 0
Begin partitioning the new disk and creating the file system
on one partition and swap area on another.
Do all this as root user.
jeremy@debian5vm: /home/jeremy $ su -
Password:
(SUPER-USER!) root@debian5vm: /root #
First, observe that fdisk sees that the new disk /dev/sdb is there and its geometry is known, but it is not partitioned:
(SUPER-USER!) root@debian5vm: /root # fdisk -l
Disk /dev/sda: 15.0 GB, 15032385536 bytes
255 heads, 63 sectors/track, 1827 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0002ee7c
Device Boot Start End Blocks Id System
/dev/sda1 * 1 303 2433816 83 Linux
/dev/sda2 304 1044 5952082+ 5 Extended
/dev/sda5 304 344 329301 82 Linux swap / Solaris
/dev/sda6 345 1044 5622718+ 83 Linux
Disk /dev/sdb: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000
Disk /dev/sdb doesn't contain a valid partition table.
Note the /dev directory already has sdb, but no sdb1 or sdb2 — Will these get created automatically somewhere along the way, or will I have to create them manually?
(SUPER-USER!) root@debian5vm: /root # ls -al /dev/sd*
brw-rw---- 1 root disk 8, 0 2011-02-27 21:35 /dev/sda
brw-rw---- 1 root disk 8, 1 2011-02-27 21:35 /dev/sda1
brw-rw---- 1 root disk 8, 2 2011-02-27 21:35 /dev/sda2
brw-rw---- 1 root disk 8, 5 2011-02-27 21:35 /dev/sda5
brw-rw---- 1 root disk 8, 6 2011-02-27 21:36 /dev/sda6
brw-rw---- 1 root disk 8, 16 2011-02-27 21:35 /dev/sdb
Begin fdisk to create the partitions on /dev/sdb — I am using fdisk rather than cfdisk because it is easier to make a transcript of the session:
(SUPER-USER!) root@debian5vm: /root # fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x22f1f1ee.
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): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
Create the first partition, /dev/sdb1 to be the swap area. The size of 130 cylinders is chosen to be about half the total available space of 261 cylinders:
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-261, default 1): 1
Last cylinder or +size or +sizeM or +sizeK (1-261, default 261): 130
Command (m for help): p
Disk /dev/sdb: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0d3badfa
Device Boot Start End Blocks Id System
/dev/sdb1 1 130 1044193+ 83 Linux
Note, the partition was created as a data (type 83) partition. Now change it to a swap (type 82) partition:
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 82
Changed system type of partition 1 to 82 (Linux swap / Solaris)
Command (m for help): p
Disk /dev/sdb: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0d3badfa
Device Boot Start End Blocks Id System
/dev/sdb1 1 130 1044193+ 82 Linux swap / Solaris
Create the second partition, /dev/sdb2 to be a data file system. The size is chosen to take up the remainder of the disk:
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (131-261, default 131): 131
Last cylinder or +size or +sizeM or +sizeK (131-261, default 261): 261
Command (m for help): p
Disk /dev/sdb: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0d3badfa
Device Boot Start End Blocks Id System
/dev/sdb1 1 130 1044193+ 82 Linux swap / Solaris
/dev/sdb2 131 261 1052257+ 83 Linux
Write the partition table to the disk, and exit:
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
Now fdisk -l sees the partitions on the new disk. (Compare with the fdisk -l done earlier.)
(SUPER-USER!) root@debian5vm: /root # fdisk -l
Disk /dev/sda: 15.0 GB, 15032385536 bytes
255 heads, 63 sectors/track, 1827 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0002ee7c
Device Boot Start End Blocks Id System
/dev/sda1 * 1 303 2433816 83 Linux
/dev/sda2 304 1044 5952082+ 5 Extended
/dev/sda5 304 344 329301 82 Linux swap / Solaris
/dev/sda6 345 1044 5622718+ 83 Linux
Disk /dev/sdb: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0d3badfa
Device Boot Start End Blocks Id System
/dev/sdb1 1 130 1044193+ 82 Linux swap / Solaris
/dev/sdb2 131 261 1052257+ 83 Linux
The cfdisk program has options to display the partition table in a variety of different formats, including by sectors and even a raw hex dump. Here is what some of these listings look like:
(SUPER-USER!) root@debian5vm: /root # cfdisk /dev/sdb
cfdisk (util-linux-ng 2.13.1.1)
Disk Drive: /dev/sdb
Size: 2147483648 bytes, 2147 MB
Heads: 255 Sectors per Track: 63 Cylinders: 261
Name Flags Part Type FS Type [Label] Size (MB)
------------------------------------------------------------------------------
sdb1 Primary Linux swap / Solaris 1069.29
sdb2 Primary Linux 1077.52
Partition table displayed in "Table" format:
Partition Table for /dev/sdb
---Starting--- ----Ending---- Start Number of
# Flags Head Sect Cyl ID Head Sect Cyl Sector Sectors
-- ----- ---- ---- ---- ---- ---- ---- ---- ----------- -----------
1 0x00 1 1 0 0x82 254 63 129 63 2088387
2 0x00 0 1 130 0x83 254 63 260 2088450 2104515
3 0x00 0 0 0 0x00 0 0 0 0 0
4 0x00 0 0 0 0x00 0 0 0 0 0
Partition table displayed in "Sector" format:
Partition Table for /dev/sdb
First Last
# Type Sector Sector Offset Length Filesystem Type (ID) Flag
-- ------- ----------- ----------- ------ ----------- -------------------- ----
1 Primary 0 2088449 63 2088450 Linux swap / So (82) None
2 Primary 2088450 4192964 0 2104515 Linux (83) None
Partition table displayed in "Raw" (Hex dump) format
(This is a dump of Sector 0 of the disk — the
partition data is near the end of this):
Disk Drive: /dev/sdb
Sector 0:
0x000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x1A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x1B0: 00 00 00 00 00 00 00 00 FA AD 3B 0D 00 00 00 01
0x1C0: 01 00 82 FE 3F 81 3F 00 00 00 C3 DD 1F 00 00 00
0x1D0: 01 82 83 FE 7F 04 02 DE 1F 00 C3 1C 20 00 00 00
0x1E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x1F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 AA
Having created the partitions, now we are ready to create the ext3 file system on the second partition, /dev/sdb2
(SUPER-USER!) root@debian5vm: /mnt # mkfs.ext3 /dev/sdb2
mke2fs 1.41.3 (12-Oct-2008)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
65808 inodes, 263064 blocks
13153 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=272629760
9 block groups
32768 blocks per group, 32768 fragments per group
7312 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 24 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
Device files for /dev/sdb1 and /dev/sdb2 have magically appeared somewhere in all the above steps:
(SUPER-USER!) root@debian5vm: /root # ls -al /dev/sd*
brw-rw---- 1 root disk 8, 0 2011-02-27 21:35 /dev/sda
brw-rw---- 1 root disk 8, 1 2011-02-27 21:35 /dev/sda1
brw-rw---- 1 root disk 8, 2 2011-02-27 21:35 /dev/sda2
brw-rw---- 1 root disk 8, 5 2011-02-27 21:35 /dev/sda5
brw-rw---- 1 root disk 8, 6 2011-02-27 21:36 /dev/sda6
brw-rw---- 1 root disk 8, 16 2011-02-27 21:59 /dev/sdb
brw-rw---- 1 root disk 8, 17 2011-02-27 21:59 /dev/sdb1
brw-rw---- 1 root disk 8, 18 2011-02-27 22:12 /dev/sdb2
Create a mount-point directory /mnt/sdb2 :
(SUPER-USER!) root@debian5vm: /root # cd /mnt
(SUPER-USER!) root@debian5vm: /mnt # ls -al
total 16
drwxr-xr-x 4 root root 4096 2011-02-03 09:28 .
drwxr-xr-x 21 root root 4096 2010-11-10 09:51 ..
drwxr-xr-x 2 root root 4096 2011-02-03 09:14 cdrom
drwxr-xr-x 2 root root 4096 2011-02-03 09:28 hgfs
(SUPER-USER!) root@debian5vm: /mnt # mkdir sdb2
(SUPER-USER!) root@debian5vm: /mnt # ls -al
total 20
drwxr-xr-x 5 root root 4096 2011-02-27 22:15 .
drwxr-xr-x 21 root root 4096 2010-11-10 09:51 ..
drwxr-xr-x 2 root root 4096 2011-02-03 09:14 cdrom
drwxr-xr-x 2 root root 4096 2011-02-03 09:28 hgfs
drwxr-xr-x 2 root root 4096 2011-02-27 22:15 sdb2
(SUPER-USER!) root@debian5vm: /mnt # ls -al sdb2
total 8
drwxr-xr-x 2 root root 4096 2011-02-27 22:15 .
drwxr-xr-x 5 root root 4096 2011-02-27 22:15 ..
Mount the new file system, and observe that there is already a directory (lost+found) there:
(SUPER-USER!) root@debian5vm: /mnt # mount /dev/sdb2 /mnt/sdb2
(SUPER-USER!) root@debian5vm: /mnt # cd sdb2
(SUPER-USER!) root@debian5vm: /mnt/sdb2 # ls -al
total 24
drwxr-xr-x 3 root root 4096 2011-02-27 22:12 .
drwxr-xr-x 5 root root 4096 2011-02-27 22:15 ..
drwx------ 2 root root 16384 2011-02-27 22:12 lost+found
(SUPER-USER!) root@debian5vm: /mnt # cd /mnt
(SUPER-USER!) root@debian5vm: /mnt # df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 2395540 1688880 584972 75% /
tmpfs 258148 0 258148 0% /lib/init/rw
udev 10240 696 9544 7% /dev
tmpfs 258148 0 258148 0% /dev/shm
/dev/sda6 5534416 143572 5109712 3% /home
/dev/sdb2 1035692 34108 948972 4% /mnt/sdb2
(SUPER-USER!) root@debian5vm: /mnt # mount
/dev/sda1 on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
procbususb on /proc/bus/usb type usbfs (rw)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
/dev/sda6 on /home type ext3 (rw)
none on /proc/fs/vmblock/mountPoint type vmblock (rw)
/dev/sdb2 on /mnt/sdb2 type ext3 (rw)
Edit /etc/fstab to add a line to define and auto-mount /dev/sdb2 when the system is booted:
(SUPER-USER!) root@debian5vm: /mnt # vi /etc/fstab
# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
/dev/sda1 / ext3 errors=remount-ro 0 1
/dev/sda6 /home ext3 defaults 0 2
/dev/sda5 none swap sw 0 0
/dev/sdb2 /mnt/sdb2 ext3 defaults 0 2
/dev/hdc /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto 0 0
Working with swap partitions and files:
Save that for another day. Maybe tomorrow.
Ditto for those shell scripts to mount and unmount
/dev/sdb2 and the swap partition.
Tomorrow. Or some day Real Soon Now.
Upon re-booting the system, observe that the new file system /dev/sdb2 is automatically mounted:
jeremy@debian5vm: /home/jeremy $ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 2395540 1689092 584760 75% /
tmpfs 258148 0 258148 0% /lib/init/rw
udev 10240 696 9544 7% /dev
tmpfs 258148 0 258148 0% /dev/shm
/dev/sda6 5534416 143572 5109712 3% /home
/dev/sdb2 1035692 34108 948972 4% /mnt/sdb2
jeremy@debian5vm: /home/jeremy $ mount
/dev/sda1 on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
procbususb on /proc/bus/usb type usbfs (rw)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
/dev/sda6 on /home type ext3 (rw)
/dev/sdb2 on /mnt/sdb2 type ext3 (rw)
none on /proc/fs/vmblock/mountPoint type vmblock (rw)
jeremy@debian5vm: /home/jeremy $ ls -al /mnt/sdb2
total 24
drwxr-xr-x 3 root root 4096 2011-02-27 22:24 .
drwxr-xr-x 5 root root 4096 2011-02-27 22:15 ..
drwx------ 2 root root 16384 2011-02-27 22:24 lost+found
jeremy@debian5vm: /home/jeremy $