Boot from USB using u-boot


From SamyGO
Revision as of 19:19, 6 September 2010 by Aquadran (talk | contribs)
Jump to: navigation, search

Note: This instruction apply and booting only to TV with firmwares listed below!

T-CHL5DEUC, T-CHL5DAUC, T-CHE6AUSC, T-CHE7AUSC, T-CHEAUSC, T-CHL7DAUC, T-CHL7DEUC, T-CHU7DAUC, T-CHU7DEUC

This is for advanced users and developers only.


Requirements:

  • Serial connection
  • Usb disk drive or pen drive (at least 256MB)
  • TFTP server outside TV on some host in case using pen drive or optionaly in case disk drive
  • Regular Linux based system to prepare usb disk/pen drive
  • Builded rootfs image

Follow steps:

Builded rootfs image is located in build-samygo/tmp/deploy/images directory. File name looks like externalboot-base-rootfs-ssdtv-xxxxxxx.tar.gz.

  • Partition usb disk/pen drive.

Partition drive using fdisk or other tool.

First parittion FAT type. It will be usefull or needed if you don't have network on tv. Second partition set as Linux type.

Format first partition with mtools or other tool as VFAT type filesystem. Format second partition with ext2fsprogs as ext3.

  • Unpack rootfs image to linux partition on usb disk/pen drive.

Unpack image to second partition with root rights.

  • Put kernel image to TFTP service directory.

Note: Do this only if you want faster kernel load image.

  • Find proper kernel image in build-samygo/tmp/deploy/images.

It's like: uImage-2.6.18.8-r0-ssdtv.mu~nfig-multi-config-bXXX.bin.

For firmwares:

T-CHE7AUSC, T-CHEAUSC, T-CHL7DAUC, T-CHL7DEUC, T-CHU7DAUC, T-CHU7DEUC - use b650

T-CHE6AUSC - use b6000

T-CHL5DEUC, T-CHL5DAUC - use b550

  • Copy and rename it to uImage into root directory of TFTP service or on FAT partition if you are not using TFTP way.
  • Set variables and execute commands in u-boot shell to boot linux kernel.

In case use TFTP set network variables first:

setenv ipaddr 192.168.1.100;setenv gatewayip 192.168.1.1;setenv serverip 192.168.1.2

where first IP is TV, second gateway is not important in this case, third is address of TFTP server.

Boot linux kernel (case TFTP):

setenv bootargs root=/dev/sda2 console=ttyS1;tftp;bootm

Boot linux kernel (case USB FAT partition):

setenv bootargs root=/dev/sda2 rootdelay=1 console=ttyS1;usb start;fatload usb 0 61000000 uImage;bootm

where /dev/sda2 is linux rootfs.

  • Install Samsung original software:

After boot system, login over serial console as root and execute followed command:

samsung-install.sh
  • Start Samsung original software:
samsung-start.sh