查看: 3096|回复: 0

千呼万唤始出来:ArchLinux for Espressobin

[复制链接]
  • TA的每日心情
    开心
    2018-8-25 16:46
  • 签到天数: 28 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    发表于 2017-5-26 21:11:13 | 显示全部楼层 |阅读模式
    分享到:
    前言
    原创文章,转载引用务必注明链接,水平有限,如有疏漏,欢迎指正。
    本文使用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。


    回复

    使用道具 举报

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

    本版积分规则

    关闭

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

    手机版|小黑屋|与非网

    GMT+8, 2024-4-19 17:44 , Processed in 0.111892 second(s), 15 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.