在 Banana Pi 中安装 Linux

前言 买来的 Banana PI 闲置的有些久了,打算用来建立内网服务。 结果硬盘供电问题一直没有解决。 最后发现硬盘供电是直连 DC 电源的,于是乎买了 USB-DC 转换线,一切就绪。 按照“策略”里的需求,用 Banana Pi 构建服务是个不错的选择。 磁盘分区和引导 本部分基本参考自 https://github.com/BPI-SINOVOIP/BPI-M2U-bsp 自带的说明文档。 $ fdisk -l [device] > o # 建立 DOS 分区 > n p 1 204800 +256M > t 1 c > a 1 # 先建立 vfat32 格式 BOOT 分区,在分区前空出 204800 磁柱,留给 U-Boot。并且开启 boot flag。 > n p 2 729088 (default) > t 2 83 # 建立 ROOT 分区,ext4 格式。剩余空间都用上好了。 > w # 保存退出 gentoo /mnt/MPI-M2U/BPI-M2U-bsp # fdisk -l /dev/sde Disk /dev/sde: 14....

September 2, 2018 · 1 min · lyincc

Linux 内核裁剪和编译

自编译内核 大多数发行版都有默认的编译好的内核,并且这种内核模块较全,通用性还是很高的。 这些发行版内核往往会比Linux内核主线慢上一些(例如Debian稳定分支)。 需要用一些特别新的内核API依赖或者内核裁剪爱好者才会自己编译内核。 但是Gentoo作为一个全编译的发行版,并不提供二进制内核。 学习内核编译对理解Linux内核工作方式还是很有帮助的。 选择Kernel分支 一般不推荐Kernel的主线分支,它往往不够稳定。 我使用了Gentoo推荐的gentoo-sources的稳定版本。 另一个选项是带有pax补丁的hardened-sources硬化内核。 但是由于pax开发者闭源了该项目,gentoo已经停止支持了。 但是仍然有爱好者对Kernel主线进行pax移植。 https://github.com/copperhead/linux-hardened 配置内核 make menuconfig 通过该命令进入控制台菜单对内核进行配置。 主要可以参考金步国先生的内核配置文档翻译和文末的配置。 http://www.jinbuguo.com/kernel/longterm-linux-kernel-options.html 编译内核 make mrproper # 清理编译文件 make vmlinux modules # 编译内核镜像 make install modules_install # 安装内核 注意安装内核前要挂载好/boot分区。 使用genkernel工具 genkernel可以快速编译安装内核和内核初始系统。 使用前可修改配置文件/etc/genkernel.conf。 OLDCONFIG="yes" # 加载旧内配置文件 MENUCONFIG="yes" # 编译前手动修改 CLEAN="no" # 关闭自动清理,可以加快二次编译速度 MRPROPER="no" SAVE_CONFIG="yes" # 开启自动备份 LVM="yes" # 开启内核lvm支持 LUKS="yes" # 开启内核Luks加密支持 之后genkernel将自动加载配置 genkernel --kernel-config=<config.file> --install all 启动内核 现在主流的主板都支持EFI启动模式。 在这种模式下Linux一般通过grub或者内核直接启动。 但是内核直接启动需要将内核启动参数直接编译进内核,所以一般还是以grub为主。...

September 16, 2017 · 2 min · lyincc