如何定制自已的armbian文件系统. 1)uboot 2)  kernel 3)  rootfs 针对linux 系统开发人员来说,真正有用的只是其armbian文件系统, 将其制作成所需的文件系统格式,如ubifs ext4等,并烧录在存储介质上面,就可以使用armbian文件系统.        当然文件系统的制作,一般会使用loop device来制作. loop device制作,可参考: create rootfs.img using loop device https://www.…
从compile.sh开始入手: SRC="$(dirname "$(realpath "${BASH_SOURCE}")")" # fallback for Trusty [[ -z "${SRC}" ]] && SRC="$(pwd)" # check for whitespace in $SRC and exit for safety reasons grep -q ; exit ;…
第一问: armbian是什么? Armbian是轻量级的Debian系统和为ARM开发板专门发行并重新编译的Ubuntu系统. 第二问:  什么场景下会用到armbian系统? 一个带有arm编译器及apt安装工具的arm linux文件系统显得非常的有用. 为快速开发,为快速验证,提供了便利,比如在arm linxu上运行arm docker. 省去了很多交叉编译的工作量在里面. 直接在arm板子上面开发,安装svn工具.     当然armbian也是支持制作带桌面系统的arm linux…
基于learning armbian step(4) 的总结,我们来实践一下,接下来的会把整个构建的log都贴出来: vmuser@vmuser-virtual-machine:~/qemu-arm$ sudo apt-get install qemu-user-static [sudo] password for vmuser: Reading package lists... Done Building dependency tree Reading state information...…
为了深入学习armbian,前面已经学习了如何手动构建arm ubuntu rootfs. 由于armbian官方的文档比较的匮乏,所以最终还是决定通过其编译的过程来深入地学习. 为了快速度深入地学习armbian 决定通过compile.sh来抓取完整的编译过程,来了解其大体的编译过程. 然后再来阅读其compile.sh脚本. 通过对编译过程的分析, 总结如下: 1) 编译时,需要超级用户权限. 2) 提示是否只编译uboot kernel 或者uboot kernel rootfs. 3)…
参考:https://docs.armbian.com/Developer-Guide_Build-Preparation/ 通过如下指令进行编译: apt-get -y -qq install gitgit clone --depth 1 https://github.com/armbian/buildcd build./compile.sh 本人选中的是rk3399. 最终最关心的是:uboot kernel rootfs的生成路径: 它们分别在: cache/source/u-boot-r…
在学习新的框架之前,肯定有一个原型机,通过最普通的指令来实现其功能. 做到这一点之后,所有的东西都不在是秘密,缺的时间进行系统深入的学习. 其实可以自已先来手动构建一个原生的arm 文件系统,基于qemu-user-static debootstrap chroot命令就可以实现 1. 通过qemu-debootstrap可以构建原生的arm 文件系统. 2. 通过qemu-aarch64-static  及chroot, 可以在X86主机上对arm 文件系统进行挂载. 3. 通过apt命令工具…
在lib/main.sh当中 ) == main.sh ]]; then echo "Please use compile.sh to start the build process" exit - fi # so parent directories won't be group writeable without this # this is used instead of making the chmod in prepare_host() recursive umask # d…
在上一节的分析当中,我们知道是通过对话框来选择到底编译的是哪块板子,基于什么样的配置. 接下来我们来拿一个实例来分析一下具体的案例,我们会选中如下所示的版本 iotx-3 AM335X 1Gb SoC eMMC相当于BOARD=iotx-3 BOARD_TYPE=conf接下来还是回到lib/main.sh当中 source $SRC/config/boards/${BOARD}.${BOARD_TYPE} LINUXFAMILY="${BOARDFAMILY}" 169行 相当于获取…
接下来我们来分析一下uboot的编写过程: 从 lib/compilation.sh  89开始阅读: compile_uboot() { # not optimal, but extra cleaning before overlayfs_wrapper should keep sources directory clean if [[ $CLEAN_LEVEL == *make* ]]; then display_alert "Cleaning" "$BOOTSOURCE…
在上一节的分析当中,已经知道了uboot kernel的源代码路径及编译选项,以及rootfs的版本,相关信息如下所示: ## BUILD CONFIGURATION Build target: Board: iotx-3 Branch: default Desktop: Kernel configuration: Repository: git://git.ti.com/processor-sdk/processor-sdk-linux.git Branch: branch:processor…
参考:https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-docker-ce-1 想要在arm linux上安装docker 很多的思路都是基于挂载标准的arm linux ubuntu rootfs,然后通过apt-get install 安装相应的软件: 本人也是基于arm linux ubuntu rootfs来测试的. 指定其storage-driver  : overlay root@IoTP:~# cat /…
参考: docker network 主要是介绍了docker 容器之间的组网模式, 一般来说实像组网主要是依赖于bridge iptalbes vlan来实现,但是附带的如端口转发会降低效率. 新型的组网方式:如link就是通过环境变量和/etc/hosts文件的设置提供了从别名到具体通讯地址的发现,适合于各组件之件的通讯, 更加的安全,更加的高效. 如下是docker network学习时的一些指令: docker network create -d bridge my_bridge doc…
参考: https://docs.docker.com/engine/reference/builder/ https://hub.docker.com/_/registry/ https://www.cnblogs.com/vikings-blog/p/3972370.html https://docs.docker.com/registry/deploying/#customize-the-published-port 针对registry的理解,我们可以类比github.com,网站. 在…
http://www.docker-cn.com/registry-mirror 通过 Docker 官方镜像加速,中国区用户能够快速访问最流行的 Docker 镜像.该镜像托管于中国大陆,本地用户现在将会享受到更快的下载速度和更强的稳定性,从而能够更敏捷地开发和交付 Docker 化应用. Docker 中国官方镜像加速可通过 registry.docker-cn.com 访问.该镜像库只包含流行的公有镜像.私有镜像仍需要从美国镜像库中拉取. 您可以使用以下命令直接从该镜像加速地址进行拉取:…
参考:https://docs.docker.com/get-started/part5/ stack 技术栈.技术栈是一组相关的服务,它们共享依赖项并且可以一起进行编排和扩展.单个技术栈能够定义和协调整个应用的功能(虽然很复杂的应用程序可能需要使用多个技术栈). 按我的理解就是docker的最终的目标是为了提供服务:比如我们访问网站,计算网站被请求访问次数也是需求,要实现需求的话,就需要提供相关的服务,用什么实现呢,就是docker stack来实现. 在今后的学习当中我们如何学习到k8s的话…
参考:https://docs.docker.com/get-started/part4/ 了解 swarm 集群 swarm 是一组运行 Docker 并且已加入集群中的机器.执行此操作后,您可以继续运行已使用的 Docker 命令,但现在它们在集群上由 swarm 管理节点执行. swarm 中的机器可以为物理或虚拟机.加入 swarm 后,可以将它们称为节点. swarm 管理节点可以使用多项策略来运行容器,例如“最空的节点”– 这将使用容器填充使用最少的机器.或“全局”,这将确保每台机器…
参考:https://docs.docker.com/get-started/part3/#docker-composeyml docker 的 service样例, 我们可以理解成是一个本地负载均衡的样例,一次性创建5个容器,处理请求http请求,并返回处理请求的主机. 1. docker swarm 服务初始化: 进入集群模式root@vmuser-virtual-machine:/home/vmuser/workdir/services# docker swarm initSwarm in…
参考:https://docs.docker-cn.com/get-started/part2/ Dockerfile的内容如下所示: # 将官方 Python 运行时用作父镜像 FROM python:2.7-slim # 将工作目录设置为 /app WORKDIR /app # 将当前目录内容复制到位于 /app 中的容器中 ADD . /app # 安装 requirements.txt 中指定的任何所需软件包 RUN pip install -r requirements.txt # 使…
docker 安装 参考:https://docs.docker.com/install/linux/docker-ce/ubuntu/ 按如下指令可安装: $ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common Add Docker’s official GPG key: $ curl -fsSL https://download.docker.com/…
https://www.quora.com/How-do-I-learn-machine-learning-1?redirected_qid=6578644   How Can I Learn X? Learning Machine Learning Learning About Computer Science Educational Resources Advice Artificial Intelligence How-to Question Learning New Things Lea…
Jump Game II Given an array of non-negative integers, you are initially positioned at the first index of the array. Each element in the array represents your maximum jump length at that position. Your goal is to reach the last index in the minimum nu…
目录 1.工具包 TensorFlow 张量 (Tensor) 图 (graph) TensorBoard 2.tf.estimator API Estimator 预创建的 Estimator (pre-made Estimator) 自定义 Estimator(custom Estimator) 3.编程练习 1)Pandas 简介 2)使用 TensorFlow 的起始步骤 一.设置 1.加载库 2.加载数据集 二.检查数据 三.构建第一个模型 3.定义特征.配置特征列 4.定义目标 5.…
Dictionary Learning Tools for Matlab. 1. 简介 字典 D∈RN×K(其中 K>N),共有 k 个原子,x∈RN×1 在字典 D 下的表示为 w,则获取较为稀疏的 w 的稀疏逼近问题如下表示: wopt=argminw∥w∥p+γ∥x−Dw∥22p∈{0,1} γ 越大,得到的解越稠密(dense). p=0,通过 MP(matching pursuit)匹配追踪算法求解,比如 ORMP(order recursive matching pursuit):…
前言 上一篇文章<Unity3D中常用的数据结构总结与分析>简单总结了一下小匹夫工作中经常遇到的一些数据结构.不过小匹夫一直有种观点,就是光说的热闹实际啥也不做真的没啥意思.光说不练假把式,那么这篇文章不如记录一下小匹夫自己动手实现一个有类似功能的数据结构的过程吧. 模仿List<T> 寻思半天,写代码是为了啥?不是为了写以致用嘛?那么小匹夫工作中用的最多的数据结构是啥?思来想去还就是List<T>了,而且平时使用的时候的确也觉得有自己定制的空间.作为一个类,重要的无非…
不知不觉自学ios已经四个月了,从OC语法到app开发,过程虽然枯燥无味,但是结果还是挺有成就感的,在此分享我的ios开发之路中的小小心得~废话不多说,先上我们今天要实现的效果图: 有过一点做APP经验的都知道,提示框和等待加载框一直是APP首当其中的效果,ios不像android一样,自带toast和progressbarDialog,所以在做ios开发的时候,我首先想到了先封装这两个基础控件~当然网上的资源数不胜数,但是博主抱着一颗自主研究的精神,做出的效果也不错,也已适配了所有iphone…
Jump Game (middle) Given an array of non-negative integers, you are initially positioned at the first index of the array. Each element in the array represents your maximum jump length at that position. Determine if you are able to reach the last inde…
Jump Game Given an array of non-negative integers, you are initially positioned at the first index of the array. Each element in the array represents your maximum jump length at that position. Determine if you are able to reach the last index. For ex…
Title : Given an array of non-negative integers, you are initially positioned at the first index of the array. Each element in the array represents your maximum jump length at that position. Determine if you are able to reach the last index. For exam…
最近耗时多天,成功的将RT3070驱动.并解决了socket的网络编程,成功的在BA9G10上面实现了USB wif.连上家里的无线路由器,通过ubuntu下面建立的服务端程序,将BA9G10中的数据成功读取到PC机上面了.其过程的艰辛和曲折说起来是满眼血泪史啊.下面将记录其中解决问题的大致过程.     最开始设计方案时,为了整体的方便.我借用了外面开发板的文件系统.本来是为了偷懒的,不知道最后我为这件事情付出了沉重的代价.开始在编译RT3070驱动时,我直接将别人的文件系统加载到BA9G10…