海运的博客

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

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

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

apt-get install gcc make pkg-config git bison flex libelf-dev libssl-dev libncurses5-dev
wget https://releases.linaro.org/components/toolchain/binaries/latest-7/aarch64-linux-gnu/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz
tar -Jxvf gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz 
export ARCH=arm64 
export CROSS_COMPILE=/root/gcc-linaro-7.3.1-2018.05-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
cd Amlogic_s905-kernel
#使用4.18.7内核
git checkout 20181012

初始化配置,不做这步直接编译模块会提示错误: 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"

参考:https://serverfault.com/questions/568395/what-is-creating-the-generated-autoconf-h

此内容被密码保护

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

请输入密码访问

php使用deluge

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

使用https://github.com/kaysond/deluge-php 提供的类,简单使用:

$host = "192.168.168.5:8112";
$password = "deluge";
$d = new deluge($host, $password);
//返回只包含当前状态Downloading中的
$filter = array('state' => "Downloading");
//返回指定的这此参数的值
$params = array('name', 'hash', 'max_upload_speed', 'eta');
$list = $d->getTorrentsStatus($filter, $params, '');
var_dump($list);
$url = 'http://www.haiyun.me/deluge.torrent';
$options = array('max_upload_speed' => 100, 'max_download_speed' => 100);
$res = $d->addTorrentUrl($url, $options, '');
var_dump($res);

参考:
https://media.readthedocs.org/pdf/deluge/develop/deluge.pdf

ubuntu18.04编译安装deluge

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

安装编译环境及libtorrent依赖:

apt-get install build-essential checkinstall pkg-config automake libtool git
apt-get install libboost-system-dev libboost-python-dev libboost-chrono-dev libboost-random-dev libssl-dev

使用最新版libtorrent:

wget https://github.com/arvidn/libtorrent/releases/download/libtorrent-1_1_10/libtorrent-rasterbar-1.1.10.tar.gz
tar zxvf libtorrent-rasterbar-1.1.10.tar.gz 
cd libtorrent-rasterbar-1.1.10/
./configure --prefix=/usr/local/libtorrent --enable-python-binding --with-libiconv
make clean && make -j$(nproc) && make install
echo '/usr/local/libtorrent/lib' > /etc/ld.so.conf.d/libtorrent-x86_64.conf 
ldconfig
export PYTHONPATH=$PYTHONPATH:/usr/local/libtorrent/lib/python2.7/site-packages/
echo 'export PYTHONPATH=$PYTHONPATH:/usr/local/libtorrent/lib/python2.7/site-packages/' >> ~/.bashrc

查看python能否调用libtorrent:

python -c "import libtorrent; print libtorrent.version"

安装deluge依赖:

apt-get install python python-twisted python-openssl python-setuptools intltool python-xdg python-chardet geoip-database python-libtorrent python-notify python-pygame python-glade2 librsvg2-common xdg-utils python-mako 

安装deluge:

wget http://download.deluge-torrent.org/source/deluge-1.3.15.tar.gz
tar -xzvf deluge-1.3.15.tar.gz
cd deluge-1.3.15
mkdir -p /usr/local/deluge/lib/python2.7/site-packages/
export PYTHONPATH=$PYTHONPATH:/usr/local/deluge/lib/python2.7/site-packages/
echo 'export PYTHONPATH=$PYTHONPATH:/usr/local/deluge/lib/python2.7/site-packages/' >> ~/.bashrc
python setup.py build
python setup.py install --prefix /usr/local/deluge
export PATH=$PATH:/usr/local/deluge/bin/
echo 'export PATH=$PATH:/usr/local/deluge/bin/' >> ~/.bashrc

使用libtorrent1.0.11版本:

git clone https://github.com/arvidn/libtorrent.git
cd libtorrent
git checkout origin/RC_1_0
./autotool.sh
./configure --prefix=/usr/local/libtorrent --enable-python-binding --with-libiconv
make clean && make -j$(nproc) && make install

ubuntu编译安装qbittorrent:https://www.haiyun.me/archives/1253.html
centos7编译安装deluge:https://www.haiyun.me/archives/1240.html
参考:
https://dev.deluge-torrent.org/wiki/Building/libtorrent
https://dev.deluge-torrent.org/wiki/Installing/Source

Linux挂载多分区img文件

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

制作个1G大小的img文件并分区:

fallocate -l $(( 1024 * 1024 *1024 )) file.img

如果util-linux版本>=2.21可直接挂载为多分区loop设置,然后挂载到目录:

#自动选择设备名
losetup -f --show -P file.img 
#指定设置名
losetup -P /dev/loop100 file.img    
mount /dev/loop100p1 /mnt/
umount /mnt
losetup -d /dev/loop100   

否则指定起始分区位置和大小挂载指定分区,先查看各分区起始位置和大小:

fdisk -l file.img  
Device     Boot  Start     End Sectors  Size Id Type
file.img1         2048  206847  204800  100M 83 Linux
file.img2       206848 2097151 1890304  923M 83 Linux

如果挂载第一个分区,起始为第2048个扇区,204800个扇区大小,每个扇区512 byte,挂载时设置起始位置2048512,大小204800512:

losetup -f --show -o 1048576 --sizelimit 104857600 file.img 

也可安装kpartx挂载:

kpartx -v -a file.img
kpartx -d /dev/loop100   
mount /dev/mapper/loop0p1 /mnt/
分类
最新文章
最近回复
  • 海运: 可以试试删除~/.goodsync/accounts-bookmarks.tic,再不行就是配...
  • k: hi 請問一下我也遇到No Server Account at Key file://@ 問題...
  • 404NTF: 交叉编译的作用是?
  • 404NTF: 请教一下 CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go ...
  • 小智: 安利个PHP开发以太坊区块链的教程: http://xc.hubwiz.com/course/...
  • 陈浩南: 您好,您教程中的 dev.openwrt.org.cn 现在似乎不可用了。请问现在应该在哪里下...
  • 斑马斑马: 怎么查看虚拟机CPU 内存使用情况
  • zzg: http://downloads.openwrt.org.cn/PandoraBox/rali...
  • xiongrui: 看图
  • 傻狍子: filebrowser好像和这功能一样? https://github.com/filebro...
归档
页面执行耗时:0.0403秒。-->