jetson tx1 配置SSD固态硬盘

转载自:http://blog.csdn.net/hit2015spring/article/details/62217289

配置外置SSD

这里用的是三星 EVO 250G的SSD,支持SATA接口,ssd插上去开机是不能用的,TX1是没有识别的,需要的格式化为Linux支持的文件系统ext4.一系列配置之后可以把ssd设置为外置的存储,然后再把文件系统拷贝到SSD中,设置为从SSD启动系统。和PC机从BIOS启动不一样的是,TX1可以用好几种方式启动它。只要配置exlinux.conf就OK了。仔细看视频就可以配置好

  1. 断电,插ssd,上电
  2. 通过gui界面来设置,搜索DISKS,如图

     

  3. 格式化新建一个分区

     

 

 

新建:

name输入名字jetsonssd-256

Ok完成。

这里新建分区的时候是要输入盘的大小,输入250G,这个三星的ssd不能全部新建。

配置swapfile

这一步配置交换空间,TX1的内存只有4G,用来配置tensorflow是不够用的,在配置tensorflow之前要给它加一个交换空间,这个空间的功能是当物理内存不够时,将某些内存当中所占的程序暂时移动到swap当中,让物理内存可以被需要的程序来使用。另外,如果你的主机支持电源管理模式,也就是说,你的linux主机系统可以进入休眠状态的话,娜美运行当中的程序状态则会被记录到swap当中去,以作为唤醒主机状态的依据。

命令行:


[cpp]  view plain  copy
  1. git clone https://github.com/jetsonhacks/postFlashTX1.git  
  2. cd postFlashTX1\  
  3. ls  
  4. $ sudo ./createSwapfile.sh -d [directory location] -s[size in gigabytes] –a  


[directory location]:这里填写你的ssd路径地址

[size in gigabytes]:这里填写你要设置的swap的大小,以G为单位。

-a:是默认开机自启动swap,在/etc/fstab中自己设置

我设置了20G,默认是8G,一般的swap设置为内存的两倍。

 

下面这段话是该文章里头提到的一点问题,这里我们用不到,但是可以帮助以后找问题。

在SSD或其他闪存类型内存上设置交换文件可能会导致设备磨损。大多数当前闪存具有可以执行的读取和写入的生存期数量,繁忙的交换文件可以消耗大量的那些。请注意,硬盘驱动器也是如此。较新的SSD已经建立了帮助分发"写磨损"的机制。一如往常,备份您的驱动器,并将其存储。在视频中,交换文件在计算机引导时自动安装。这是伟大的开发,但之后,你可能要禁用该功能。为此:

[cpp]  view plain  copy
  1. $ sudo gedit /etc/fstab  

并注释掉执行"swapon"的行。确保保存文件,重新启动并检查以确保交换已关闭。

此外,你可能想要有一个更硬的核心关于你的交换区。您可以留出"交换分区",并使用它而不是交换文件。这种方法可能更快,因为交换区域连续放置。此路由类似于设置交换文件,但超出了本文的范围。

运行完后开始在disks里头设置

按照图中正确选择

然后重启系统。

设置从SSD启动系统:

开发板自带的emmc存储只有16G,第一步安装系统后只有4.4G,本次搭建tensorflow环境需要很多存储,所以需要扩展存储,但是不能就单单加个SSD就可以,这样把文件放在SSD是不好用的,需要将系统运行在SSD上才行,按视频教程后半部分将系统文件复制到SSD中,修改启动配置文件,使之从SSD内启动:


[cpp]  view plain  copy
  1. $ sudo cp -ax / '/media/ubuntu/jetsonssd'  


修改配置文件

The last setup step is to modify the file extlinux.conf file on the eMMC. The system will boot from the internal eMMC, then the kernel will set the root directory to point to the SATA drive


[cpp]  view plain  copy
  1. $ cd /boot/extlinux  
  2. $ sudo cp extlinux.conf extlinux.conf.original  
  3. $ sudo gedit /boot/extlinux/extlinux.conf  


这里主要修改几个地方

 

 

 

其实整个文件如下:

TIMEOUT 30
DEFAULT satassd

MENU TITLE p2371-2180 eMMC boot options

LABEL satassd
MENU LABEL primary SATA SSD
LINUX /boot/Image
INITRD /boot/initrd
FDT /boot/tegra210-jetson-tx1-p2597-2180-a01-devkit.dtb
APPEND fbcon=map:0 console=tty0 console=ttyS0,115200n8 androidboot.modem=none androidboot.serialno=P2180A00P00940c003fd androidboot.security=non-secure tegraid=21.1.2.0.0 [email protected] [email protected] section=256M memtype=0 vpr_resize usb_port_owner_info=0 lane_owner_info=0 emc_max_dvfs=0 [email protected] video=tegrafb no_console_suspend=1 debug_uartport=lsport,0 earlyprintk=uart8250-32bit,0x70006000 maxcpus=4 usbcore.old_scheme_first=1 lp0_vec=${lp0_vec} nvdumper_reserved=${nvdumper_reserved} core_edp_mv=1125 core_edp_ma=4000 gpt Android.kerneltype=normal androidboot.touch_vendor_id=0 androidboot.touch_panel_id=63 androidboot.touch_feature=0 androidboot.bootreason=pmc:software_reset,pmic:0x0 net.ifnames=0root=/dev/sda1 rw rootwait

LABEL emmc
MENU LABEL Internal eMMC
LINUX /boot/Image
INITRD /boot/initrd
FDT /boot/tegra210-jetson-tx1-p2597-2180-a01-devkit.dtb
APPEND fbcon=map:0 console=tty0 console=ttyS0,115200n8 androidboot.modem=none androidboot.serialno=P2180A00P00940c003fd androidboot.security=non-secure tegraid=21.1.2.0.0 [email protected] [email protected] section=256M memtype=0 vpr_resize usb_port_owner_info=0 lane_owner_info=0 emc_max_dvfs=0 [email protected] video=tegrafb no_console_suspend=1 debug_uartport=lsport,0 earlyprintk=uart8250-32bit,0x70006000 maxcpus=4 usbcore.old_scheme_first=1 lp0_vec=${lp0_vec} nvdumper_reserved=${nvdumper_reserved} core_edp_mv=1125 core_edp_ma=4000 gpt android.kerneltype=normal androidboot.touch_vendor_id=0 androidboot.touch_panel_id=63 androidboot.touch_feature=0 androidboot.bootreason=pmc:software_reset,pmic:0x0 net.ifnames=0 root=/dev/mmcblk0p1 rw rootwait

标红的地方是修改的

重启ok

如果要从emmc启动,则改一下这里的配置就OK了。Label那个位置该一下。