Linux for pogoplug pro 安装指导手册

本文档详细介绍了如何在Pogoplug Pro或Video/V3上安装Linux,包括硬件参数、区分不同型号、设置Netconsole、升级Debian内核、手动创建Ramdisk以及通过U盘或硬盘启动系统的步骤。通过这篇指南,用户可以学会如何从零开始搭建Linux系统,并进行系统维护和升级。
摘要由CSDN通过智能技术生成
  • 硬件说明

第一种:pogoplug pro/video/v3 (据说熊老板出的货是video版的)

基本参数如下:

架构:ARM v6l

处理器:PLX NAS-7820 700MHz 双核

内存: DDR2 128MB

FLASH: NAND 128MB

接口:USB x4 , SATA x1 , 千兆 x 1, mini PCI-e x 1

产品编号:

POGO-P01 - Pro

POGO-P21 - V3

POGO-P24 - V3

POGO-P25 - V3

POGO-B01 - Classic

POGO-B02 - Classic

POGO-B03 - Classic

POGO-B04 - Classic

————————————————————————————————————

第二种:pogoplug v2 (pink/gray)

基本参数如下:

架构:ARM v5te

处理器:Marvell Kirkwood 1.2GHz (88f6281这个大家很熟了吧)

内存:256MB

FLASH: NAND 128MB

接口:接口:USB x4 , 千兆 x 1,

产品编号:

POGO-E02

POGO-E02G

 

———————————————————————————————————

Marvell的这个芯片在很多产品都用了,国外也有大量相关的改机资料,

所以很多资料都是针对第二个型号写的,尽管都是基于ARM的,而且事实上编译好

的文件也绝大多数能通用,但还是有区别的。所以大家在引用资料的时候,最好

先区分一下。

pogoplug pro/video/v3内核为ARM11 MPCore

编译-march=armv6k -mtune=mpcore -mfloat-abi=softfp

或者-mcpu=mpcore -mfloat-abi=softfp

  • 系统安装
  • 通过板载u-boot启动

参考http://blog.qnology.com/2015/04/hacking-pogoplug-v3oxnas-proclassic.html?showComment=1464198116974#c7190902143829429000

https://forum.doozan.com/read.php?3,16017

Use Putty or your favorite SSH client to connect to your Pogoplug前提是Pogoplug上有linux系统

Verify Pogoplug is expected version (Oxnas)

# cat /proc/cpuinfo | grep Hardware                                

Hardware        : PLXTECH NAS782X SoC (Flattened Device Tree)

#Stop here if not expected output.
#Expected output
#Hardware : PLXTECH NAS782X
#stop my.pogoplug.com service
killall hbwd
#download firmware utilities
cd /tmp
wget http://download.qnology.com/pogoplug/v4/nanddump
wget http://download.qnology.com/pogoplug/v4/nandwrite
wget http://download.qnology.com/pogoplug/v4/flash_erase
wget http://download.qnology.com/pogoplug/v4/fw_printenv
wget http://download.qnology.com/pogoplug/v4/fw_setenv

#make executable
chmod +x flash_erase fw_printenv fw_setenv nanddump nandwrite 

或者也可以用apt-get install systemd u-boot-tools mtd-util安装相关工具
#remount '/' as read/write
#by default the Pogoplug OS (internal flash) is read only
mount -o remount,rw /
#setup fw_env.config for oxnas
echo "/dev/mtd0 0x00100000 0x20000 0x20000">/etc/fw_env.config
#save original envs
/usr/local/cloudengines/bin/blparam > /blparam.txt
#Download and flash new uBoot
wget http://download.qnology.com/pogoplug/oxnas/uboot.2013.10-tld-4.ox820.bodhi.tar
wget http://download.qnology.com/pogoplug/oxnas/uboot.2013.10-tld-4.ox820.bodhi.tar.md5
#check md5sum
md5sum -c uboot.2013.10-tld-4.ox820.bodhi.tar.md5
我下的版本是uboot.2015.10-tld-2.ox820.bodhi.tar
#extract uBoot files
tar -xf uboot.2013.10-tld-4.ox820.bodhi.tar

建议先# cat /proc/mtd查看分区

# dmesg | grep -i 'bad'查看坏块
#BE EXTRA CAREFUL WITH THE THESE COMMANDS.
#NO TYPOS! CUT AND PASTE.
#Erase and flash uboot on mtd0
#Flash encoded spl stage1 to 0x0
/tmp/flash_erase /dev/mtd0 0x0 6
/tmp/nandwrite /dev/mtd0 uboot.spl.2013.10.ox820.850mhz.mtd0.img
#Flash uboot to 0x40000
/tmp/nandwrite -s 262144 /dev/mtd0 uboot.2013.10-tld-4.ox820.mtd0.img
#Flash uboot environment
#Erase 1 block starting 0x00100000
/tmp/flash_erase /dev/mtd0 0x00100000 1
/tmp/nandwrite -s 1048576 /dev/mtd0 pogopro_uboot_env.img

#default to pogoplug pro dtb
/tmp/fw_setenv fdt_file '/boot/dts/ox820-pogoplug-pro.dtb'
/tmp/fw_setenv dt_load_dtb 'ext2load usb 0:1 $dtb_addr $fdt_file'

#Set MAC Address
/tmp/fw_setenv ethaddr "$(cat /sys/class/net/eth0/address)"

这条我自己改的如下

root@PogoPlug-Pro:/tmp# fw_printenv ethaddr '00:30:e0:00:00:01'                                        

root@PogoPlug-Pro:/tmp# fw_setenv cesvcid '10944208800246860E20UM11A01'

Setup Netconsole

#Update IP Addresses as appropriate
#ipaddr = Pogoplug IP
/tmp/fw_setenv preboot 'run preboot_nc'
/tmp/fw_setenv ipaddr '172.31.0.128'
/tmp/fw_setenv serverip '172.31.0.100'         
#print out all uboot environment parameters
#make sure there are no errors
/tmp/fw_printenv > /fw_printenv.txt
/tmp/fw_printenv

目前已经把最新的u-boot刷入板载flash以及设置好了环境变量,可以从U盘启动或者硬盘启动

  1. 制作启动硬盘/U盘

确定需制作的硬盘所在/dev/sdX

清空32M扇区,这一步会导致硬盘分区表丢失dd if=/dev/zero of=/dev/sdb bs=1M count=32

格式化U盘&硬盘

 

fdisk -c=dos /dev/sdX

t/1/c

创建第一个启动分区内建boot文件夹放uImage、uInitrd、dtb

n/p/1/+100M

a貌似这个在u-boot引导下启动标志没用,具体不清楚

创建第二个主分区放系统文件rootfs

n/p/2/+40G

创建第三个主分区swap

n/p/3/+2G

t/3/82

创建第四个主分区放其他内容

n/p/4

使用默认参数,回车2次

写进分区表(注意检查设置是否正确)

w

#Format USB Flash Drive
cd /tmp
wget http://archlinuxarm.org/os/pogoplug/mke2fs
chmod 755 mke2fs

者也可以用apt-get install systemd u-boot-tools mtd-util安装相关工具

#format as ext3 and label partition as 'rootfs'

mke2fs -t ext3 -O ^has_journal /dev/sda2(大容量U盘只能用这个命令格)

tune2fs -L "rootfs" /dev/sda2

mount
mkdir /tmp/usb
mount /dev/sda2 /tmp/usb
cd /tmp/usb
#Download Debian rootfs
wget http://download.qnology.com/pogoplug/oxnas/Debian-3.17.0-oxnas-tld-1-rootfs-bodhi.tar.bz2
wget http://download.qnology.com/pogoplug/oxnas/Debian-3.17.0-oxnas-tld-1-rootfs-bodhi.tar.bz2.md5
#check md5sum
md5sum -c Debian-3.17.0-oxnas-tld-1-rootfs-bodhi.tar.bz2.md5

我下的版本是Debian-4.4.54-oxnas-tld-1-rootfs-bodhi.tar.bz2
#extract
tar -xvjf Debian-3.17.0-oxnas-tld-1-rootfs-bodhi.tar.bz2
#cleanup
rm Debian-3.17.0-oxnas-tld-1-rootfs-bodhi.tar.bz2*

#Set etc/fstab

LABEL=rootfs    /               ext3   noatime,errors=remount-ro 0 1

/dev/sda3        swap           swap  defaults                      0  0
#Sync and reboot, cross your fingers
sync
cd ..
umount /tmp/usb
reboot

注意如果是硬盘此时重启后可能u-boot无法加载uImage和uInirtd需要在重启前

mke2fs -t ext3 -O ^has_journal /dev/sda1

mkdir /tmp/sata
mount /dev/sda1 /tmp/sata
mount /dev/sda2 /tmp/usb

将rootfs内boot文件夹复制到sda1分区内,boot文件夹内只保留uImage和uInirtd和dts

Initial Debian Setup

#Change password
passwd
#Generate New OpenSSH Keys
rm /etc/ssh/ssh_host*
ssh-keygen -A
#Initial update
apt-get update
apt-get upgrade
#Set hostname to DebianPlug or whatever you like
echo DebianPlug>/etc/hostname
#Set Time Zone
tzselect
reboot

  1. 制作启动kernel

Upgrade Debian  kernel

#backup original kernel files
cd /boot
mkdir backup
mv *3.17* backup
mv uImage backup/uImage3.17
mv uInitrd backup/uInitrd3.17
#download from bodhi's dropbox
wget --no-check-certificate https://www.dropbox.com/s/o9fp0xg8b6aajg6/linux-3.18.5-oxnas-tld-1.bodhi.tar.bz2
#check md5
echo "df386f09cf7323472d40432d3da382d5 linux-3.18.5-oxnas-tld-1.bodhi.tar.bz2" |md5sum -c
我下的版本是linux-4.4.133-oxnas-tld-1.bodhi.tar.bz2
#extract
tar -xvjf linux-3.18.5-oxnas-tld-1.bodhi.tar.bz2
#install kernel and headers
dpkg -i linux-image-3.18.5-oxnas-tld-1_1_armel.deb
dpkg -i linux-headers-3.18.5-oxnas-tld-1_1_armel.deb

#Create uImage and uInitrd manually

(前担是已有vmlinuz-3.18.5-oxnas-tld-1initrd.img-3.18.5-oxnas-tld-1)
mkimage -A arm -O linux -T kernel -C none -a 0x60008000 -e 0x60008000 -n Linux-3.18.5-oxnas-tld-1 -d /boot/vmlinuz-3.18.5-oxnas-tld-1 /boot/uImage
mkimage -A arm -O linux -T ramdisk -C gzip -a 0x60000000 -e 0x60000000 -n initramfs-3.18.5-oxnas-tld-1 -d /boot/initrd.img-3.18.5-oxnas-tld-1 /boot/uInitrd
#clean up
rm linux-3.18.5-oxnas-tld-1.bodhi.tar.bz2
rm *.dtb
#reboot and verify
reboot
uname -a

另一种是自己编译kernel和initrd.img(后面讲)

编译出来的结果通过tftpboot来加载测试正确性

tftpboot  60500000  /boot/uImage

tftpboot  60e00000  /boot/uInitrd

tftpboot  62c00000  /boot/dts/ox820-pogoplug-pro.dtb

bootm 60500000 60e00000 62c00000

  • 通过SATA硬盘启动

参考https://archlinuxarm.org/forum/viewtopic.php?f=55&t=2146&sid=f4dc4863e3a93822a4f9e925b3cbda45

https://forum.doozan.com/read.php?2,16044

因刷到硬盘启动扇区上的u-boot为2013.10之前旧版只能用内核3.18.5或更早版本

工具在oxnas_sata_boot.tgz(oxnasboottarball.zip中)或者u-boot-hdd.tar中,下载地址在我网盘

第一步是编辑`disk_create`脚本/ dev / sdX,以确保它将stage(MBR)/u-boot/kernel写入我们想要的磁盘

注意此步骤会破坏分区表

第二步修改链接stage1.wrapped,u-boot.wrapped和uImage使用需要及匹配的,如850Mhz超频stage1Pogoplug ProPCI总线uImage.pci

注意可以编辑`disk_create`脚本只刷stage1.wrapped,u-boot.wrapped,内核uImage放到主分区内,没测试过

第三步硬盘分区创建“rootfs”(参考制作启动硬盘/U盘)

最后安装内核

将重新运行disk_create脚本,将内核放入/ dev / sdz1(最好是拷贝到启动分区的/boot/文件夹下)

 

 

 

  • 软件安装
  1. 基础设置

确保能上网,设置/etc/network/interface

# mkswap /dev/sda3

# swapon /dev/sda3

# free -m

更新源nano /etc/apt/sources.list

deb http://mirrors.ustc.edu.cn/debian stretch main contrib non-free

deb-src http://mirrors.ustc.edu.cn/debian stretch main contrib non-free

deb http://mirrors.ustc.edu.cn/debian stretch-backports main contrib non-free

deb-src http://mirrors.ustc.edu.cn/debian stretch-backports main contrib non-free

deb http://mirrors.ustc.edu.cn/debian stretch-proposed-updates main contrib non-free

deb-src http://mirrors.ustc.edu.cn/debian stretch-proposed-updates main contrib non-free

deb http://mirrors.ustc.edu.cn/debian stretch-updates main contrib non-free

deb-src http://mirrors.ustc.edu.cn/debian stretch-updates main contrib non-free

deb http://mirrors.ustc.edu.cn/debian-security/ stretch/updates main non-free contrib

deb-src http://mirrors.ustc.edu.cn/debian-security/ stretch/updates main non-free contrib

apt-get update

2.安装必备软件

apt-get install screen  kernel-package libncurses5-dev fakeroot build-essential bc libssl-dev

  1. 去除中文乱码

从windows的字体目录中找到simsun.ttc文件,通过WinSCP工具连接上debian系统,把该文件传送到该系统中的/usr/share/fonts/truetype目录下

或者apt-get install ttf-wqy-microhei

对终端乱码配置 Local

apt install locales

dpkg-reconfigure locales

en_US.UTF-8 UTF-8

zh_CN.GBK GBK

zh_CN.GB2312

zh_CN.UTF-8 UTF-8

默认语言选择 en_US.UTF-8

编辑 locale 文件

nano /etc/default/locale

检查 lang 是否设置为 en_US.UTF-8 没有则修改

或者apt install zhcon

  1. 系统时间

联网更新

service ntpd stop

ntpdate ntp.api.bz

查看系统时间

date

取消开机启动

chkconfig ntpd off

或者

# apt install sysv-rc-conf

# sysv-rc-conf

 sysv-rc-conf 会读取 /etc/init.d 里的文件以及 rcx.d (x为运行级别)下的软连接等信息

系统运行级别:

*0:关机级别 

*1:单用户运行级别,运行rc.sysinit和rc1.d目录下的脚本 

*2:多用户,但系统不会启动NFS,字符模式,在有些linux系统中,级别2为默认模式,具有网络功能,如ubuntu.debian 

*3:多用户,字符模式,系统启动具有网络功能,redhat常用运行级别 

*4:用户自定义级别 

*5:图形界面模式,redhat常用运行级别 

*6:重启级别 

*S:单用户运行级别,只运行rc.sysinit文件

或者

update-rc.d -f ntpd remove

时区设置

dpkg-reconfigure tzdata

  1. 编译内核

Screen -S kernel

cd /usr/src/

(1)下载对应版本的源码</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值