1.
Upon power on the board will search for the boot media. It will perform the following:
This blob is the first thing that CPU will call, we don't have much information on it since its provided by Samsung. Position on SD: 1
This is the SPL, part of the U-Boot, upon building U-Boot you'll have the mkspl program what will extract it from the u-boot.bin Position on SD: 31
This is the U-Boot itself built. For more information about U-Boot please check their website:http://www.denx.de/wiki/U-BootPosition on SD: 63
This is the blob done by Samsung/ARM to support Trustzone platform. Position on SD: 719
The default env provided in U-Boot will attempt the following:
Area Name | Size in bytes | From(sector #) | To(Sector #) | Partition Name |
---|---|---|---|---|
FAT32 for Storage | Up to 4GB | 6979920 | remaining blocks | mmcblk0p1 |
EXT4 for Android cache | 256MB | 6446520 | 6979919 | mmcblk0p4 |
EXT4 for Android userdata | 2GB | 2240280 | 6446519 | mmcblk0p3 |
EXT4 for Android system | 1GB | 137160 | 2240179 | mmcblk0p2 |
Reserved | 58MB | 17647 | 137159 | |
Kernel | 8MB | 1263 | 17646 | |
u-boot environment | 16KB | 1231 | 1262 | |
TrustZone SW | 256KB | 719 | 1230 | |
u-boot | 328KB | 63 | 718 | |
bl2 | 16KB | 31 | 62 | |
fwbl1 | 15KB | 1 | 30 | |
Partition table / MBR | 512 | 0 | 0 |
* “Sector number - 1” in SD map is used in the eMMC map.
http://odroid.in/ubuntu_14.04lts/
OS Image flashing tool for
Download and unzip this file.
http://dn.odroid.com/DiskImager_ODROID/Win32DiskImager-odroid-v1.3.zip
download 后烧录成功
SD 卡的安装和扩容
扩充前
root@odroid-desktop:~# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/mmcblk0p2 3150076 2132236 857792 72% / none 4 0 4 0% /sys/fs/cgroup udev 892784 4 892780 1% /dev tmpfs 178812 1000 177812 1% /run none 5120 8 5112 1% /run/lock none 894060 72 893988 1% /run/shm none 102400 12 102388 1% /run/user /dev/mmcblk0p1 102182 7714 94468 8% /media/boot
默认的镜像剩余大小固定,如使用8/16G SD card时需要对没有分配的空间进行扩容
1. 先把烧录上述image的 SD card 通过USB card reader插入到一个Linux host,然后 fdisk 删除并创建分区
Disk /dev/sdb: 7948 MB, 7948206080 bytes 245 heads, 62 sectors/track, 1021 cylinders, total 15523840 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x0003f9f7 Device Boot Start End Blocks Id System /dev/sdb1 4096 208895 102400 c W95 FAT32 (LBA) /dev/sdb2 208896 6610943 3201024 83 Linux root@odroid-desktop:~# fdisk /dev/sdb 208896 为First sector
sudo fdisk /dev/mmcblk0 p (see starting block of p2, e.g. 266240) d (delete) 2 (partition 2) n (new) p (primary) 2 (partition 2) 266240 (starting block) <enter> (it will take ending block as end partition, so you have entire space) w (write partitions)
2. 使用该SD卡启动并做resize2fs
oot@odroid-desktop:~# resize2fs /dev/mmcblk0p2 resize2fs 1.42.9 (4-Feb-2014) Filesystem at /dev/mmcblk0p2 is mounted on /; on-line resizing required old_desc_blocks = 1, new_desc_blocks = 1 The filesystem on /dev/mmcblk0p2 is now 3863424 blocks long. root@odroid-desktop:~# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/mmcblk0p2 15213368 2139708 12426548 15% / none 4 0 4 0% /sys/fs/cgroup udev 892784 4 892780 1% /dev tmpfs 178812 1012 177800 1% /run none 5120 0 5120 0% /run/lock none 894060 72 893988 1% /run/shm none 102400 12 102388 1% /run/user /dev/mmcblk0p1 102182 7714 94468 8% /media/boot root@odroid-desktop:~# fdisk -l
VNC Server 安装
安装之前需要设置代理如:
export http_proxy=http://172.16.2.187:8080
参考http://forum.odroid.com/viewtopic.php?f=52&t=4489
http://www.linuxidc.com/Linux/2014-09/106805.htm
apt-get install x11vnc
x11vnc -storepasswd 12345 /etc/x11vnc.pass 设置密码为12345
命令运行或者让自动启动
x11vnc -display :0 -auth /var/run/lightdm/root/:0 -forever -bg -rfbauth /etc/x11vnc.pass -rfbport 5900
或 vi /etc/init/x11vnc.conf
start on login-session-start
script
x11vnc -display :0 -auth /var/run/lightdm/root/:0 -forever -bg -o /var/log/x11vnc.log -rfbauth /etc/x11vnc.pass -rfbport 5900
end script
reboot
[ http://dn.odroid.com/ODROID-XU/compiler/arm-eabi-4.6.tar.gz ]
If the '/opt/toolchains' directory does not exist in host pc, then create the directory.
# sudo mkdir /opt/toolchains # sudo cp arm-eabi-4.6.tar.gz /opt/toolchains # cd /opt/toolchains # sudo tar zxvf arm-eabi-4.6.tar.gz
# cd /opt/toolchains # sudo tar xvfz arm-eabi-4.6.tar.gz
Modify your ~/.bashrc file to add a new path with editor (gedit or vi)
export ARCH=arm export PATH=${PATH}:/opt/toolchains/arm-eabi-4.6/bin export CROSS_COMPILE=arm-eabi-
To apply this change, login again or restart the .bashrc
# source ~/.bashrc
# arm-eabi-gcc -v Using built-in specs. COLLECT_GCC=arm-eabi-gcc COLLECT_LTO_WRAPPER=/opt/toolchain/arm-eabi-4.6/bin/../libexec/gcc/arm-eabi/4.6.x-google/lto-wrapper Target: arm-eabi Configured with: /tmp/android-15472/src/build/../gcc/gcc-4.6/configure --prefix=/usr/local --target=arm-eabi --host=x86_64-linux-gnu --build=x86_64-linux-gnu --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --with-gmp=/tmp/android-15472/obj/temp-install --with- mpfr=/tmp/android-15472/obj/temp-install --with-mpc=/tmp/android-15472/obj/temp-install --without-ppl --without-cloog --disable-libs sp --enable-threads --disable-nls --disable-libmudflap --disable-libgomp --disable-libstdc__-v3 --disable-sjlj-exceptions --disable- shared --disable-tls --disable-libitm --with-float=soft --with-fpu=vfp --with-arch=armv5te --enable-target-optspace --with-abi=aapcs --with-gcc-version=4.6 --with-binutils-version=2.21 --with-gmp-version=4.2.4 --with-mpfr-version=2.4.1 --with-gdb-version=7.3.x --w ith-arch=armv5te --with-sysroot=/tmp/android-15472/install/sysroot --with-prefix=/tmp/android-15472/install --with-gold-version=2.21 --enable-gold --disable-gold --disable-multilib --program-transform-name='s&^&arm-eabi-&' Thread model: single gcc version 4.6.x-google 20120106 (prerelease) (GCC)
参考
http://odroid.com/dokuwiki/doku.php?id=en:odroid-xu