User Tools

Site Tools


operating_systems:linux:debian:flash_card

This is an old revision of the document!


Flash Card

Installation d'une Debian sur une carte flash.

Préparation de la carte

Suppression des partitions

On commence par supprimer les partitions déjà crées sur la carte.

debian:/home/sbolay# fdisk /dev/sdb

  Command (m for help): p
      
  Disk /dev/sdb: 4000 MB, 4000317440 bytes
  124 heads, 62 sectors/track, 1016 cylinders
  Units = cylinders of 7688 * 512 = 3936256 bytes
  Disk identifier: 0xbf7f3f48
  
    Device Boot      Start         End      Blocks   Id  System
  /dev/sdb1   *           1        1013     3893941   83  Linux
  /dev/sdb2            1014        1016       11532   83  Linux
  
  Command (m for help): d 1
  Partition number (1-4): 1
  
  Command (m for help): p
  
  Disk /dev/sdb: 4000 MB, 4000317440 bytes
  124 heads, 62 sectors/track, 1016 cylinders
  Units = cylinders of 7688 * 512 = 3936256 bytes
  Disk identifier: 0x00000000
  
  Device Boot      Start         End      Blocks   Id  System
  /dev/sdb2            1014        1016       11532   83  Linux
  
  Command (m for help): d 1
  Selected partition 2
  
  Command (m for help): p
  
  Disk /dev/sdb: 4000 MB, 4000317440 bytes
  124 heads, 62 sectors/track, 1016 cylinders
  Units = cylinders of 7688 * 512 = 3936256 bytes
  Disk identifier: 0x00000000
  
  Device Boot      Start         End      Blocks   Id  System
  
  Command (m for help): w
  The partition table has been altered!
  
  Calling ioctl() to re-read partition table.
  Syncing disks. 

Une fois les partitions supprimées, on réinitialise la carte à zéro.

debian:/home/sbolay# dd if=/dev/zero of=/dev/sdb

  dd: writing to `/dev/sdb': No space left on device
  7813121+0 records in
  7813120+0 records out
  4000317440 bytes (4.0 GB) copied, 1873.47 s, 2.1 MB/s

Création des partitions

Une fois la carte entièrement réinitialisée, on crée la partition qui accueillera le système.

debian:/home/sbolay# fdisk /dev/sdb

  Command (m for help): p
  
  Disk /dev/sdb: 4000 MB, 4000317440 bytes
  124 heads, 62 sectors/track, 1016 cylinders
  Units = cylinders of 7688 * 512 = 3936256 bytes
  Disk identifier: 0xbf7f3f48
  
  Device Boot      Start         End      Blocks   Id  System
  
  Command (m for help): n
  Command action
     e   extended
     p   primary partition (1-4)
  p
  Partition number (1-4): 1
  First cylinder (1-1016, default 1): 
  Using default value 1
  Last cylinder or +size or +sizeM or +sizeK (1-1016, default 1016): 
  Using default value 1016
  
  Command (m for help): p
  
  Disk /dev/sdb: 4000 MB, 4000317440 bytes
  124 heads, 62 sectors/track, 1016 cylinders
  Units = cylinders of 7688 * 512 = 3936256 bytes
  Disk identifier: 0xbf7f3f48
     Device Boot      Start         End      Blocks   Id  System
  /dev/sdb1               1        1016     3905473   83  Linux
  
  Command (m for help): w
  The partition table has been altered!
  
  Calling ioctl() to re-read partition table.
  Syncing disks.

Formatage de la partition

On crée la partition qui contiendra notre Debian.

debian:/home/sbolay# mkfs.ext3 -v /dev/sdb1

  mke2fs 1.41.3 (12-Oct-2008)
  fs_types for mke2fs.conf resolution: 'ext3', 'default'
  Filesystem label=
  OS type: Linux
  Block size=4096 (log=2)
  Fragment size=4096 (log=2)
  244320 inodes, 976368 blocks
  48818 blocks (5.00%) reserved for the super user
  First data block=0
  Maximum filesystem blocks=1002438656
  30 block groups
  32768 blocks per group, 32768 fragments per group
  8144 inodes per group
  Superblock backups stored on blocks: 
      32768, 98304, 163840, 229376, 294912, 819200, 884736
  
  Writing inode tables: done                            
  Creating journal (16384 blocks): done
  Writing superblocks and filesystem accounting information: done
  
  This filesystem will be automatically checked every 31 mounts or
  180 days, whichever comes first.  Use tune2fs -c or -i to override.

Installation de Debian

Installation de l'image

L'utilitaire 'debootstrap' va installer une image de Debian sur la carte.

debian:/mnt# mount /dev/sdb1 /mnt/cf/

debian:/mnt# debootstrap –arch i386 squeeze /mnt/cf/ http://ftp.ch.debian.org/debian

  ....
  I: Configuring aptitude...
  I: Configuring tasksel-data...
  I: Configuring tasksel...
  I: Base system installed successfully.

Configuration de l'image

debian:/mnt# mount -t proc none /mnt/cf/proc

debian:/mnt# mount -t sysfs nonen /mnt/cf/sys

debian:/mnt# mount -o bind /proc /mnt/cf/proc

debian:/mnt# mount -o bind /dev /mnt/cf/dev

debian:/mnt# mount -o bind /sys /mnt/cf/sys

debian:/mnt# LANG=C chroot /mnt/cf/ /bin/bash

root@debian:/# mount devpts /dev/pts -t devpts

root@debian:/# UUID=$(dumpe2fs /dev/sdb1 | grep 'UUID' | cut -d':' -f2 | sed 's/ [ [:space: ] ]/ /g')

  dumpe2fs 1.41.12 (17-May-2010)

root@debian:/# echo $UUID

  8c14d9c1-48cb-4ac1-b91d-780de47f8b8a

root@debian:/# sed -i “1s/$/\n proc \/proc proc nodev,noexec,nosuid 0 0/” /etc/fstab

root@debian:/# sed -i “1s/$/\n UUID=$UUID \/ ext3 defaults,noatime 0 1/” /etc/fstab

root@debian:/# dpkg-reconfigure tzdata

  Current default time zone: 'Europe/Zurich'
  Local time is now:      Fri Oct 14 17:16:25 CEST 2011.
  Universal Time is now:  Fri Oct 14 15:16:25 UTC 2011.

root@debian:/# vi /etc/network/interfaces

  # Used by ifup(8) and ifdown(8). See the interfaces(5) manpage or
  # /usr/share/doc/ifupdown/examples for more information.
  auto lo
  iface lo inet loopback
  
  auto eth0
  iface eth0 inet dhcp

root@debian:/# cat /etc/fstab

  # UNCONFIGURED FSTAB FOR BASE SYSTEM
  proc /proc proc defaults 0 0
  UUID=8c14d9c1-48cb-4ac1-b91d-780de47f8b8a / ext3 defaults,noatime 0 1
  #/dev/sda1 /         ext3  defaults,noatime 0 1
  tmpfs     /tmp      tmpfs defaults,noatime 0 0
  tmpfs     /var/tmp  tmpfs defaults,noatime 0 0
  tmpfs     /var/run  tmpfs defaults 0 0
  tmpfs     /var/log  tmpfs defaults 0 0
  tmpfs     /var/lock tmpfs defaults 0 0

root@debian:/# vi /etc/hostname

  NiX

root@debian:/# sed -i '1s/$/\ndeb http:\/\/security\.debian\.org\/ squeeze\/updates main/' /etc/apt/sources.list

root@debian:/# sed -i '1s/$/\ndeb-src http:\/\/security\.debian\.org\/ squeeze\/updates main/' /etc/apt/sources.list

root@debian:/# cat /etc/apt/sources.list

  deb http://ftp.ch.debian.org/debian squeeze main
  deb-src http://security,debian.org/ squeeze/updates main
  deb http://security,debian.org/ squeeze/updates main

root@debian:/# aptitude update

root@debian:/# aptitude install locales

root@debian:/# dpkg-reconfigure locales

  Generating locales (this might take a while)...
    fr_CH.ISO-8859-1... done
  Generation complete.

root@debian:/# aptitude install console-data

root@debian:/# aptitude install linux-image-486

root@debian:/# aptitude install grub

root@debian:/# vi /etc/default/grub

  # If you change this file, run 'update-grub' afterwards to update
  # /boot/grub/grub.cfg.
  
  GRUB_DEFAULT=0
  GRUB_TIMEOUT=5
  GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
  #GRUB_CMDLINE_LINUX_DEFAULT="quiet"
  GRUB_CMDLINE_LINUX_DEFAULT="verbose console=ttyS0,38400n8 reboot=bios"
  GRUB_SERIAL_COMMAND="serial --unit=0 --speed=38400"
  GRUB_CMDLINE_LINUX=""
  
  # Uncomment to enable BadRAM filtering, modify to suit your needs
  # This works with Linux (no patch required) and with any kernel that obtains
  # the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
  #GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
  
  # Uncomment to disable graphical terminal (grub-pc only)
  #GRUB_TERMINAL=console
  GRUB_TERMINAL=serial
  
  # The resolution used on graphical terminal
  # note that you can use only modes which your graphic card supports via VBE
  # you can see them in real GRUB with the command `vbeinfo'
  #GRUB_GFXMODE=640x480
  
  # Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
  #GRUB_DISABLE_LINUX_UUID=true
  
  # Uncomment to disable generation of recovery mode menu entries
  #GRUB_DISABLE_LINUX_RECOVERY="true"
  
  # Uncomment to get a beep at grub start
  #GRUB_INIT_TUNE="480 440 1"

debian:/mnt/cf/boot/grub# echo '(hd0) /dev/sdb' > /boot/grub/device.map

root@debian:/# grub-install /dev/sdb

  Installation finished. No error reported.

root@debian:/# update-grub

  Generating grub.cfg ...
  Found linux image: /boot/vmlinuz-2.6.32-5-486
  Found initrd image: /boot/initrd.img-2.6.32-5-486
  done

root@debian:/# sed -i 's/hd1/hd0/g' /boot/grub/grub.cfg

root@debian:/# vi /etc/inittab

  #1:2345:respawn:/sbin/getty 38400 tty1
  #2:23:respawn:/sbin/getty 38400 tty2
  #3:23:respawn:/sbin/getty 38400 tty3
  #4:23:respawn:/sbin/getty 38400 tty4
  #5:23:respawn:/sbin/getty 38400 tty5
  #6:23:respawn:/sbin/getty 38400 tty6
  
  T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100

root@debian:/# passwd root (nixpw)

  Enter new UNIX password: 
  Retype new UNIX password: 
  passwd: password updated successfully

root@debian:/# aptitude install rsyslog sudo

root@debian:/# tasksel install standard

root@debian:/# tasksel install ssh-server

root@debian:/# aptitude clean

root@debian:/# umount /dev/pts

root@debian:/# exit

  exit

debian:/# umount /mnt/cf/proc/

debian:/# umount /mnt/cf/sys

debian:/# umount /mnt/cf/dev

debian:/# umount /mnt/cf

debian:/mnt# df -h

  Filesystem            Size  Used Avail Use% Mounted on
  /dev/sdb1             3.7G  547M  3.0G  16% /mnt/cf
  
operating_systems/linux/debian/flash_card.1342441627.txt.gz · Last modified: 2012/07/16 12:27 by tret