回答

收藏

千呼万唤始出来:ArchLinux for Espressobin

其他 其他 3746 人阅读 | 0 人回复 | 2017-05-26

前言
原创文章,转载引用务必注明链接,水平有限,如有疏漏,欢迎指正。
本文使用Markdown写成,为获得更好的阅读体验和正常的链接、图片显示,请访问我的博客原文:
http://www.cnblogs.com/sjqlwy/p/me_archlinux.html
前文刚吐槽完官方没有一个友好的操作系统镜像,连第一次开机上电都这么折腾,虽然陆续提供了buildroot、Yocto、OpenWrt的预编译镜像,但是基本上不包含必要的软件包,需要自己设置,体验并不好。而这次,终于有了开箱即用(out of the box)的ArchLinux,并且archlinuxarm官网支持,可以方便地升级。
0. ArchLinux
估计大家用的最多的就是Debian系、Arch系和RedHat系的Linux发行版,前两者用得较多,但还是期待基于Debian的专为嵌入式设备优化的Armbian系统早日正式适配espressobin。
1. Archlinux简介及其优点
  • 小、快、可定制,安装完默认没有图形环境,可以根据自己的喜好进行配置,也因此对新手不甚友好。
  • 相对于Debian的稳定,Arch使用滚动升级,拥有较新的内核与软件版本,虽然操作不慎也会滚死。
  • ArchWiki知识库太强大了!
  • 拥有aur包,有很多热心网友打包各种软件包

2. 为Espressobin 安装ArchLinux
ArchLinuxARM页面可以下载到最新的镜像,并查看安装指南,国内可能有地方访问该网站打开速度较慢,移步Espressobin相关页面也一样。
  • 软件需求:alarm镜像;Linux主机系统(虚拟机或者其他装有linux的开发板都行)
  • 硬件需求:MicroSD存储卡+读卡器 或者 U盘

2.1 在SD卡上创建文件系统
插入MicroSD卡后,使用lsblk命令查看存储设备的名称,比如sdb,务必不能选错,否则可能会破坏宿主机上的数据:
  • 清空SD卡:dd if=/dev/zero of=/dev/sdX bs=1M count=8
  • 创建新分区:(echo n; echo p; echo 1; echo ''; echo ''; echo w) | sudo fdisk /dev/sdb
  • 格式化新分区为EXT4文件系统:(e2fsprogs < 1.43)sudo mkfs.ext4 /dev/sdb1; (e2fsprogs >= 1.43)mkfs.ext4 -O ^metadata_csum,^64bit /dev/sdX1,和官方指南不同,推荐后者。
  • 创建目录并挂载新分区:sudo mkdir -p /mnt/sdcard && sudo mount /dev/sdb1 /mnt/sdcard
  • 解压预下载的ArchLinuxARM镜像root文件系统(使用root而非sudo):
        cd /mnt/sdcard  sudo su  bsdtar -xpf /PATH/TO/ArchLinuxARM-espressobin-latest.tar.gz -C .  # tar -xzf /PATH/TO/ArchLinuxARM-espressobin-latest.tar.gz -C .  sync # 由于多达上万个文件,为避免缓存没有完全写入SD卡,可以强制同步一次,否则有可能启动失败。
    注意,espresso使用tar,解压时会有错误提示,虽然不影响最后使用?但这里推荐bsdtar。
    进阶阅读:What are the differences between bsdtar and GNU tar?
  • 弹出SD卡:umount /mnt/sdcard

2.2 更改U-boot设置
  参考官方关于串口的设置,DC供电,MicroUSB线接电脑USB口,使用minicom(Linux)或XShell(Windows)打开串口,稍等片刻回车可以看到Marvell>>界面。
输入以下命令:
    mmc dev 0  ext4load mmc 0 $loadaddr /boot/uEnv.txt  env import -t $loadaddr $filesize  saveenv  boot
即可启动,并且自动记住设置,不用像Yocto或者buildroot那样手动输入run bootmmc。
2.3 默认系统设置
  • 默认账户密码:alarm:alarm,root:root。alarm是ArchLinuxARM的意思吗,不过也有警告的意思~默认SSH无法以root用户登录,Serial可以。没有自带sudo,可以用su切换。
  • 所有网卡由systemd-networkd进行管理,配置文件位于/etc/systemd/network
  • USB 3.0接口旁的网口是WAN口(带红点的),用来配置为连接网络。通过wan.network进行配置。The eth0.network file is required to bring up the link on the eth0 interface to bring up all three ports.
  • 余下两个以太网接口是lan0和lan1,合并为br0接口,使用静态IP 10.0.0.1,通过lan.network、br0.network和br0.netdev进行配置。
  • br0用于与WAN接口进行网络地址转换,默认启用IP地址转发。
  • 开机自动启动dnsmasq服务,可以为br0接口提供DHCP服务,分配IP地址范围:10.0.0.5-10.0.0.250。


分享到:
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条