Flash disk cloning

From Rsewiki
(Difference between revisions)
Jump to: navigation, search
(Clone image to (new) disk)
(Old description)
 
(5 intermediate revisions by one user not shown)
Line 3: Line 3:
 
=== 2012 version with Xubuntu 12.04===
 
=== 2012 version with Xubuntu 12.04===
  
NB! not finished yet, but:
+
====Clone image to (new) disk====
 +
 
 +
Make a new bootable disk from existing image:
 +
 
 +
Use '''clone-xubuntu''' and '''clone-databar''' on smr24 (room 011) as root in /root, where available images are in the ''images'' subdirectory.
  
 
====Make new boot image====
 
====Make new boot image====
Line 20: Line 24:
 
  umount disk
 
  umount disk
  
====Clone image to (new) disk====
 
 
Make a new bootable disk from existing image (this procedure is now in clone-xubuntu on smr24):
 
 
* put the destination disk on the system (if not already there), list disk devices:
 
ls /dev/sd*
 
/dev/sda  /dev/sda1  /dev/sdb  /dev/sdb1
 
 
* use df to which disks are mounted (e.g. /dev/sda1 is mounted at /) :
 
df
 
Filesystem    1K-blocks    Used Available Use% Mounted on
 
/dev/sda1      55805420 50781108  2228604  96% /
 
* Use fdisk -l /dev/sdb1 to see if it has the expected size.
 
* reformat the disk (using all space (the first '1,,' - except 1st sector that is needed by grub) for a linux partition (the L), and bootable (the*):
 
sudo bash
 
echo "1,,L,*" | sfdisk -L /dev/sdb
 
* make ext4 filesystem of the new partition
 
mkfs.ext4 /dev/sdb1
 
* mount the new partition
 
mount /dev/sdb1 disk
 
* now write the image to the partition (this takes several minutes)
 
cd disk
 
tar -xzf ../image/smrXubuntu20120715.tar.gz
 
 
* now to the boot sector part - this may be optimized
 
* as it should refer to the new system, then chroot is needed
 
* and maybe some remount of system file-systems is needed too:
 
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i
 
mount -B /dev dev
 
mount -B /dev/pts dev/pts
 
mount -B /proc proc
 
mount -B /sys sys
 
mount -B /run run
 
* then engage the new system as the root filesystem and install grub from here
 
chroot .
 
grub-install /dev/sdb
 
* then you may check the result
 
grub-install --recheck /dev/sdb
 
* you may now halt the system and remove the new disk
 
halt
 
 
=====problems observed=====
 
 
it seems like the first boot using the new disk fails to get wireless and nis (yp-bind) up and running, which results in that it is impossible to login.
 
 
A new reboot seems to solve the problem.
 
 
It maybe due to old data in /etc/mtab,
 
at the same time data in logfiles /var/log should maybe be removed from image
 
 
=== New in 2011 version ===
 
 
In order to support both VIA Nehemiah and Intel Atom based platforms two kernels must be included in the smr flash image.
 
* 2.6.32.20-rtai supports multicore systems and hyperthreading
 
* 2.6.32.20-rtai-up supports single core systems and is optimized to the Via processors
 
 
A new clone script called <tt>multiclone</tt> must be used when this image is flashed. The script is in the root folder of rt15.
 
 
==== Flash cloning procedure on rt15 ====
 
 
Via processors using CF-card flash-disks:
 
* Log in as root (If you don't know the password abort immediately)
 
* Insert the CF-card in the reader in the front of rt15.
 
* Check the device name the card is given: <tt>tail /var/log/messages</tt>. Usually it is <tt>/dev/sdb</tt>.
 
* Go to the image folder: <tt>cd image</tt>
 
* Locate the image you would like to burn (usually the newest one), for instance: <tt>flash-2011-01-01.tgz</tt>
 
* Start the procedure:
 
root@rt15:~# ../multiclone flash-2011-01-01.tgz /dev/sdb via
 
 
''NB: Note the two dots in front of multiclone''
 
 
The procedure for cloning Intel Atom images is the same, except <tt>atom</tt> must be stated last in stead of <tt>via</tt> as in:
 
root@rt15:~# ../multiclone flash-2011-01-01.tgz /dev/sdb atom
 
 
=== Old description ===
 
 
Some of the SMR's now have solid-state flash memory disks, instead of the laptop, 2.5" disks used on older models.
 
 
This wiki page contains some notes describing how to write a bootable flash disk image (Slackware Linux) to a memory card. It assumes a Linux PC with USB flash card reader/writer, available as /dev/sda.
 
 
The commands below is implemented in this script Clone script. Usage:
 
 
clone <from_file.tar.gz> <to device>
 
<to device> can be both the USB bus (/dev/sdx) or a IDE device (/dev/hdx)
 
 
The script will place a file .cloned-at on the Flash Disk with time information for the cloning.
 
 
If you put the Flash Disk on the IDE bus and the computer will not boot (LILO - Timestamp mismatch) then the MBR on the Flash Disk must be erased as follows:
 
 
dd if=/dev/zero of=/dev/hdx bs=1 count=512
 
Writing an image
 
 
Format the disk, with one large Linux partition:
 
 
sfdisk -L /dev/sda <<EOF
 
,,L,*
 
EOF
 
Create a filesystem:
 
 
mke2fs /dev/sda1 -L /
 
Mount the new, empty partition:
 
 
mkdir -p /tmp/u
 
mount /dev/sda1 /tmp/u
 
Write a previously created image from flash.tar.gz
 
 
zcat flash.tar.gz |
 
tar --extract --file - --directory /tmp/u --preserve-permissions
 
Create a patched lilo.conf, so that we can run LILO with the flash card mounted via USB. (This won't be necessary if the image written above already contains such a file.)
 
 
patch -o /tmp/u/etc/lilo_usb.conf /tmp/u/etc/lilo.conf <<EOF
 
*** /tmp/u/etc/lilo.conf        Tue Nov  4 21:34:44 2003
 
--- lilo_usb.conf      Thu Dec 11 11:50:55 2003
 
***************
 
*** 4,6 ****
 
  # Start LILO global section
 
! boot = /dev/hda
 
  message = /boot/boot_message.txt
 
--- 4,7 ----
 
  # Start LILO global section
 
! boot = /dev/sda
 
! disk = /dev/sda bios=0x80
 
  message = /boot/boot_message.txt
 
EOF
 
Run LILO:
 
 
chroot /tmp/u lilo -v -C /etc/lilo_usb.conf
 
All done:
 
 
umount /dev/sda1
 
eject /dev/sda
 
Reading an image
 
 
Mount as above:
 
 
mkdir -p /tmp/u
 
mount /dev/sda1 /tmp/u
 
Read the partition:
 
 
tar --create --file - --directory /tmp/u --one-file-system --exclude lost+found . |
 
gzip > flash.tar.gz
 
or
 
  
tar -zcf - -C /tmp/u --one-file-system --exclude lost+found . > flash.tar.gz
+
==Old description==
All done:
+
  
umount /dev/sda1
+
[[old disk cloning procedure]]
eject /dev/sda
+

Latest revision as of 10:33, 29 August 2012

Contents

[edit] SMR Flash Disk Cloning

[edit] 2012 version with Xubuntu 12.04

[edit] Clone image to (new) disk

Make a new bootable disk from existing image:

Use clone-xubuntu and clone-databar on smr24 (room 011) as root in /root, where available images are in the images subdirectory.

[edit] Make new boot image

Update image on one of the 4GB sticks, then make new imagefile

  • put 4GB stick on another linux (with GRUP installed)
  • mount the disk on a local directory as root, e.g.:
sudo bash
mkdir -p disk
mount /dev/sdb1 disk
  • copy everything on disk to an image file (it takes several minutes):
cd disk
tar -czf ../image/smrXubuntu20120715.tar.gz *
cd ..
umount disk


[edit] Old description

old disk cloning procedure

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox