|
|
(4 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
| |
− |
| |
− | === Old 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
| + | |