海运的博客

linux下查看N1盒子mmc分区信息

发布时间:October 14, 2018 // 分类:N1 // No Comments

在x86电脑上使用fdisk就能查看所有硬盘的信息,n1为android mmc分区,通过u盘引导linux后查看分区方法如下
查看mmc存储的设置号:

cat /proc/devices |grep mmc
179 mmc

查看对应的分区信息:

cat /proc/partitions |grep 179
 179        0    7634944 mmcblk0
 179        1       4096 mmcblk0p1
 179        2      65536 mmcblk0p2
 179        3     524288 mmcblk0p3
 179        4       8192 mmcblk0p4
 179        5      32768 mmcblk0p5
 179        6      32768 mmcblk0p6
 179        7       8192 mmcblk0p7
 179        8       8192 mmcblk0p8
 179        9      32768 mmcblk0p9
 179       10      32768 mmcblk0p10
 179       11      32768 mmcblk0p11
 179       12    1310720 mmcblk0p12
 179       13    5419008 mmcblk0p13
 179       96        512 mmcblk0rpmb
 179       64       4096 mmcblk0boot1
 179       32       4096 mmcblk0boot0

查看分区映射:

ls -al /dev/block/179*        
lrwxrwxrwx 1 root root 10 Jul 29 09:08 /dev/block/179:0 -> ../mmcblk0
lrwxrwxrwx 1 root root 13 Jul 29 09:08 /dev/block/179:1 -> ../bootloader
lrwxrwxrwx 1 root root  7 Jul 29 09:08 /dev/block/179:10 -> ../misc
lrwxrwxrwx 1 root root  7 Jul 29 09:08 /dev/block/179:11 -> ../boot
lrwxrwxrwx 1 root root  9 Jul 29 09:08 /dev/block/179:12 -> ../system
lrwxrwxrwx 1 root root  7 Jul 29 09:08 /dev/block/179:13 -> ../data
lrwxrwxrwx 1 root root 11 Jul 29 09:08 /dev/block/179:2 -> ../reserved
lrwxrwxrwx 1 root root  8 Jul 29 09:08 /dev/block/179:3 -> ../cache
lrwxrwxrwx 1 root root 15 Jul 29 09:08 /dev/block/179:32 -> ../mmcblk0boot0
lrwxrwxrwx 1 root root  6 Jul 29 09:08 /dev/block/179:4 -> ../env
lrwxrwxrwx 1 root root  7 Jul 29 09:08 /dev/block/179:5 -> ../logo
lrwxrwxrwx 1 root root 11 Jul 29 09:08 /dev/block/179:6 -> ../recovery
lrwxrwxrwx 1 root root 15 Jul 29 09:08 /dev/block/179:64 -> ../mmcblk0boot1
lrwxrwxrwx 1 root root  6 Jul 29 09:08 /dev/block/179:7 -> ../rsv
lrwxrwxrwx 1 root root  6 Jul 29 09:08 /dev/block/179:8 -> ../tee
lrwxrwxrwx 1 root root  8 Jul 29 09:08 /dev/block/179:9 -> ../crypt
lrwxrwxrwx 1 root root 14 Jul 29 09:08 /dev/block/179:96 -> ../mmcblk0rpmb

然后可以使用fdisk查看特定分区信息了,如查看mmcblk0p13:

fdisk -l /dev/data

linux扩充标准分区大小

发布时间:October 13, 2018 // 分类: // No Comments

先查看要扩充的分区信息:

fdisk -l /dev/loop2

2018-10-13_173100.png

要扩充的第2个分区起始扇区为65537,记住这个位置,然后将这个分区给删除,再新建分区起始位置为之前删除分区的起始位置,扇区大小视要扩充的空间大小而定,本例使用剩余全部空间。

2018-10-13_173154.png
然后检查分区并扩充大小:

partprobe 
e2fsck -f /dev/loop2p2 
resize2fs /dev/loop2p2

2018-10-13_173239.png

参考:
https://blog.csdn.net/azure190/article/details/51044743
https://github.com/yangxuan8282/gen-rpi_os/blob/master/gen-alpine_n1.sh

嵌入式平台软件仓库Entware

发布时间:October 13, 2018 // 分类:N1 // No Comments

Entware的包管理器是opkg,类似于apt-get和yum,只不过Entware独立于操作系统之外,不使用系统本身的依赖,现仓库提供的软件基于GCC 7.3和glibc 2.27构建,安装的软件根目录位于/opt目录,相当于一个chroot环境。
aarch64安装:

wget http://bin.entware.net/aarch64-k3.10/installer/generic.sh
sh generic.sh

将Entware安装软件的目录添加到系统PATH变量:

export PATH="$PATH:/opt/bin/:/opt/sbin/"
echo 'export PATH="$PATH:/opt/bin/:/opt/sbin/"' >> /root/.bashrc

使用opkg安装软件:

opkg find vim
opkg install vim

ubuntu下交叉编译arm64/armbian内核模块

发布时间:October 13, 2018 // 分类:N1 // 5 Comments

安装编译环境及下载交叉编译工具:

apt update
apt -y install gcc make pkg-config git bison flex libelf-dev libssl-dev libncurses5-dev bc
wget https://releases.linaro.org/components/toolchain/binaries/latest-7/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz
tar -Jxf gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz 
export ARCH=arm64 
export CROSS_COMPILE=`pwd`/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-

查看内核版本:

uname -r
4.18.7-aml-s9xxx

下载内核源码:

#git clone https://github.com/150balbes/Amlogic_s905-kernel.git
#使用4.18.7内核
#git checkout 20181012
git clone -b 20181012 --depth 1 https://github.com/w22gb8/Amlogic_s905-kernel.git
cd Amlogic_s905-kernel

初始化配置,不做这步直接编译模块会提示错误: fatal error: include/generated/autoconf.h: No such file or directory。

cp config_5.60 .config
make prepare
make scripts

编译指定模块:

make M=net/ipv4/ CONFIG_TCP_CONG_BBR=m modules
make M=drivers/usb/class CONFIG_USB_PRINTER=m modules

编译所有模块:

make modules 
make modules_install INSTALL_MOD_PATH=/

复制模块到目标机器对应目录并加载:

cp tcp_bbr.ko /lib/modules/`uname -r`/kernel/net/ipv4
#echo 'kernel/net/ipv4/tcp_bbr.ko:' >> /lib/modules/`uname -r`/modules.dep
depmod 
modprobe tcp_bbr

加载模块时出现invalid module format的错误,是version magic版本不一致或crc校验不通过,可通过modinfo查看本机模块和新编译模块version magic版本信息,通过dmesg查看log出现以下错误:

sch_fq: version magic '4.18.7 SMP preempt mod_unload aarch64' should be '4.18.7-aml-s9xxx SMP preempt mod_unload aarch64'

可见内核版本后缀不一样,在编译时添加版本后缀:

make LOCALVERSION="-aml-s9xxx"

编译模块时添加版本后缀无效?那就在初始时添加,后续编译时不要再次添加。

make LOCALVERSION="-aml-s9xxx" modules_prepare

参考:
https://serverfault.com/questions/568395/what-is-creating-the-generated-autoconf-h
https://wiki.archlinux.org/index.php/Compile_kernel_module

此内容被密码保护

发布时间:October 11, 2018 // 分类:PT // No Comments

请输入密码访问

分类
最新文章
最近回复
  • opnfense: 谢谢博主!!!解决问题了!!!我之前一直以为内置的odhcp6就是唯一管理ipv6的方式
  • liyk: 这个方法获取的IPv6大概20分钟之后就会失效,默认路由先消失,然后Global IPV6再消失
  • 海运: 不好意思,没有。
  • zongboa: 您好,請問一下有immortalwrt設定guest Wi-Fi的GUI教學嗎?感謝您。
  • 海运: 恩山有很多。
  • swsend: 大佬可以分享一下固件吗,谢谢。
  • Jimmy: 方法一 nghtp3步骤需要改成如下才能编译成功: git clone https://git...
  • 海运: 地址格式和udpxy一样,udpxy和msd_lite能用这个就能用。
  • 1: 怎么用 编译后的程序在家里路由器内任意一台设备上运行就可以吗?比如笔记本电脑 m参数是笔记本的...
  • 孤狼: ups_status_set: seems that UPS [BK650M2-CH] is ...