Line 155: | Line 155: | ||
dd if=/dev/sdc3 of=f20-minimal-rootfs.ext4-ORIG & while ps -p $! ; do kill -USR1 $! ; sleep 5 ; done | dd if=/dev/sdc3 of=f20-minimal-rootfs.ext4-ORIG & while ps -p $! ; do kill -USR1 $! ; sleep 5 ; done | ||
</pre> | </pre> | ||
This signals the DD process to spew progress info every five seconds. | |||
Especially useful on very slow sdcard, or large data transfers. | |||
---- | |||
Use fsync with DD to avoid potentially dangerous filesystem buffer cache issues. | Use fsync with DD to avoid potentially dangerous filesystem buffer cache issues. | ||
Line 168: | Line 171: | ||
conv=[fsync|fdatasync] | conv=[fsync|fdatasync] | ||
</pre> | </pre> | ||
---- | ---- |
Revision as of 03:20, 14 July 2014
OMAP5 uEVM notes
Fedora 20 uENV.txt:
setenv bootm_size 0x20000000 setenv bootargs console=${console} vram=${vram} root=LABEL=_/ ro rootwait rhgb ext4load mmc 0:3 0x82000000 /boot/vmlinuz-3.14.0-0.rc6.git4.1.fc21.armv7hl ext4load mmc 0:3 0x88080000 /boot/uInitrd-3.14.0-0.rc6.git4.1.fc21.armv7hl ext4load mmc 0:3 0x88000000 /boot/dtb-3.14.0-0.rc6.git4.1.fc21.armv7hl/omap5-uevm.dtb bootz 0x82000000 0x88080000 0x88000000
Fedora 21/rawhide notes
Install MLO and u-boot on non-vfat image: WARNING: BETA NOTES
sudo dd if=MLO \ of=/dev/sdz \ conv=fsync,notrunc \ seek=128k sudo dd if=u-boot.img \ of=/dev/sdz \ count=2 \ seek=1 \ conv=notrunc,fsync \ bs=384k
F20 notes
- download the f20 minimal image
wget http://download.fedoraproject.org/pub/fedora/linux/releases/20/Images/armhfp/Fedora-Minimal-VFAT-armhfp-20-1-sda.raw.xz
- Decompress
unxz -v Fedora-Minimal-VFAT-armhfp-20-1-sda.raw.xz
- Map the partitions
kpartx -avp _fedora_ Fedora-Minimal-VFAT-armhfp-20-1-sda.raw
- Extract the rootfs
dd if=/dev/mapper/loop0_fedora_3 \ of=f20-minimal-rootfs.ext4 \ conv=fsync
- Unmap the partitions
kpartx -dvp _fedora_ Fedora-Minimal-VFAT-armhfp-20-1-sda.raw
- Optionally discard the official Fedora minimal image, we now have the essential rootfs.
- Shrink the rootfs image file
e2fsck -f f20-minimal-rootfs.ext4 &> /dev/null resize2fs -M f20-minimal-rootfs.ext4
- Create a new f20 disk image file
truncate -s 4G f20-minimal.disk
- Partition the newly created disk image
parted -a optimal -s -- f20-minimal.disk \ unit MiB \ mklabel msdos \ mkpart primary 4 24 \ mkpart primary 24 152 \ mkpart primary 152 -1 \ print
- Map the partitions to loop devices
kpartx -avp _remix_ f20-minimal.disk
- Format the partitions accordingly to the output of the previous kpartx cmd.
mkfs.vfat -n uboot -F 16 /dev/mapper/loop0_remix_1 mkswap -L swap -U $(uuidgen) /dev/mapper/loop0_remix_2 #mkfs.ext4 -L rootfs -U $(uuidgen) -m0 /dev/mapper/loop0_remix_3
- Copy the Fedora-20 minimal rootfs to the appropriate partition
dd if=f20-minimal-rootfs.ext4 \ of=/dev/mapper/loop0_remix_3 \ bs=4M conv=fsync
- Inflate the rootfs on the partition
resize2fs -fp /dev/mapper/loop0_remix_3
- Unmap the partition loops devs
kpartx -dvp _remix_ f20-minimal.disk
Tips & Tricks
You can monitor the DD command in an easy one liner.
dd if=/dev/sdc3 of=f20-minimal-rootfs.ext4-ORIG & while ps -p $! ; do kill -USR1 $! ; sleep 5 ; done
This signals the DD process to spew progress info every five seconds. Especially useful on very slow sdcard, or large data transfers.
Use fsync with DD to avoid potentially dangerous filesystem buffer cache issues. My computers have large amounts of memory, and it is possible an entire file would be buffered into filesystem cache. The effect is the DD write operation appearing to finish very fast, but the filesystem empty the buffer/cache in the background asynchronously. This is like typing "sync" after the DD command, but instead happens during writes.
dd if=/dev/foo of=/dev/bar conv=[fsync|fdatasync]