2015-6-20
https://wiki.archlinux.org/
Pre-installation
fdisk
mkfs.ext4 -j /dev/sda1
mount /dev/sda1 /mnt
wifi-menu #connect to internet
Installation
# cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup
# sed -i 's/^#Server/Server/' /etc/pacman.d/mirrorlist.backup
# rankmirrors -n 6 /etc/pacman.d/mirrorlist.backup > /etc/pacman.d/mirrorlist
pacstrap /mnt base
Configure the system
genfstab -p /mnt >> /mnt/etc/fstab
arch-chroot /mnt
echo computer_name > /etc/hostname
ln -sf /usr/share/zoneinfo/Asia/Chongqing /etc/localtime
vi /etc/locale.gen # uncomment en_US.UTF-8
locale-gen
echo "LANG=en_US.UTF-8" > /etc/locale.conf
mkinitcpio -p linux
pacman -S grub
grub-install --target=i386-pc --recheck --debug /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg
passwd
pacman -S openssh
pacman -S wpa_actiond ifplugd wpa_supplicant dhcpcd dialog ppp #wifi-menu need
exit
umount -R /mnt
shutdown -r now
Configure after Arch install
systemctl enable sshd
wifi-menu -o #setup wifi after reboot
systemctl enable netctl
pacman -S net-tools #ifconfig netstat
systemctl enable systemd-timesyncd
Audio
pacman -S alsa-utils
useradd -m jejer
usermod -aG audio jejer
#alsamixer
X
pacman -S xorg-server # reinstall if you add user after xorg-server install
pacman -S ttf-droid # Chinese font
pacman -S tigervnc # for VNC server
vi ~/.vnc/xstartup
#!/bin/sh
export XKL_XMODMAP_DISABLE=1
exec startxfce4
xfce
pacman -S xfce4
startxfce4 #start X with xfce window manager manually
fcitx pinyin
pacman -S fcitx-im
pacman -S fcitx-configtool #configure for GTK
pacman -S fcitx-googlepinyin
PS:
setup proxy for some applications:
export ALL_PROXY="socks5://192.168.88.3:8080"
FIX Problem with pacman update - Signature is unknown trust
rm -R /etc/pacman.d/gnupg
pacman-key --init
pacman-key --populate archlinux
SyntaxHighlighter
2015年6月5日星期五
Enable UTF-8 support for linkstation
Add LANG=en_US.UTF-8 in /root/.bashrc
-------------------
proftpd fix
1. create /root/ftpd.sh according to /etc/init.d/ftpd.sh
add function
force_utf8()
{
if [ -f /etc/proftpd/proftpd.conf ]; then
cp /etc/proftpd/proftpd.conf /etc/proftpd/proftpd.conf.original
sed -i -e 's/CP936/UTF-8/g' /etc/proftpd/proftpd.conf
fi
sync
sleep 1
}
add force_utf8 call in start()
2. create S99_fix_ftp.sh in /etc/rc.d/extensions.d
and chmod +x S99_fix_ftp.sh
root@ls-qvl:/etc/rc.d/extensions.d# cat S99_fix_ftp.sh
-------------------
proftpd fix
1. create /root/ftpd.sh according to /etc/init.d/ftpd.sh
add function
force_utf8()
{
if [ -f /etc/proftpd/proftpd.conf ]; then
cp /etc/proftpd/proftpd.conf /etc/proftpd/proftpd.conf.original
sed -i -e 's/CP936/UTF-8/g' /etc/proftpd/proftpd.conf
fi
sync
sleep 1
}
add force_utf8 call in start()
#! /bin/sh # KIND="FTPD" FTPDOPTIONS= RETVAL=0 if [ -f /etc/melco/info ]; then . /etc/melco/info fi configure() { if [ -f /etc/linkstation_release ]; then ## configure files from Buffalo parameters. echo "configure ftpd" /usr/local/sbin/nas_configgen -c proftpd if [ $? -ne 0 ]; then echo "$0 configure fail" exit 1 fi fi sync sleep 1 } force_utf8() { if [ -f /etc/proftpd/proftpd.conf ]; then cp /etc/proftpd/proftpd.conf /etc/proftpd/proftpd.conf.original sed -i -e 's/CP936/UTF-8/g' /etc/proftpd/proftpd.conf fi sync sleep 1 } start() { if [ "$ftp" != "on" ] ; then echo "ftp is OFF" exit 0 fi configure force_utf8 echo -n $"Starting $KIND services: " /usr/local/sbin/proftpd $FTPDOPTIONS RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/ftpd || \ RETVAL=1 return $RETVAL } stop() { echo -n $"Shutting down $KIND services: " killall proftpd RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/ftpd echo "" return $RETVAL } restart() { stop start } reload() { echo -n $"Reloading proftpd.conf file: " killall -HUP proftpd RETVAL=$? echo return $RETVAL } # # Usage statement. # case "$1" in start) start ;; stop) stop ;; restart) restart ;; reload) reload ;; *) echo "usage: $0 {start|stop|restart|reload}" exit 1 ;; esac
2. create S99_fix_ftp.sh in /etc/rc.d/extensions.d
and chmod +x S99_fix_ftp.sh
root@ls-qvl:/etc/rc.d/extensions.d# cat S99_fix_ftp.sh
#! /bin/sh # /bin/cp /root/ftpd.sh /etc/init.d/ftpd.sh /etc/init.d/ftpd.sh restart
2015年5月16日星期六
Custom Sleep for LS-QVL
1. Set linkstation to auto mode.
2. Add crontab to run this script every 2mins
*/2 * * * * /root/custom_sleep.sh
How to WOL:
1. Python2
3. dd-wrt router
2. Add crontab to run this script every 2mins
*/2 * * * * /root/custom_sleep.sh
root@ls-qvl:~# cat custom_sleep.sh #!/bin/bash ################################################################################ # # CUSTOM_SLEEP by brumi 2010-07-16 # ################################################################################ # NOTE: please run this script every 2mins by crontab # This cron-job is intended to be used as replacement for the provided standby- # mechanism from buffalo. It checks for open connections and only when there are # no open connections found for a certain period of time it will put the link- # station into standby. TIMEOUT=1800 # wait TIMEOUT seconds before going to standby CONN_FILE=/var/run/connected # file to store timestamp LOG_FILE=/var/log/custom_sleep # log-file ENABLE_LOG='yes' # enable logging [yes|no] # ip addresses to exclude from the connection-check (i.e., local ones) OWN_IPADDR=`/bin/ipaddr show eth0 | /bin/grep -o -e "inet [0-9]*\.[0-9]*\.[0-9]*\.[0-9]*" | /bin/sed s/"inet "//` EXCLUDE_IPADDR=(${OWN_IPADDR} 0.0.0.0 127.0.0.1 239.255.255.250 192.168.88.255) EXCLUDE_IPADDR_CT=5 # disable sleep in manual mode auto_pwr_stat=`cat /proc/buffalo/gpio/switch/auto_power` if [ "$auto_pwr_stat" != "on" ]; then if [ $ENABLE_LOG == 'yes' ]; then echo -n `date` >> $LOG_FILE echo ": custom_sleep: not in auto mode, exit" >> $LOG_FILE fi exit 0 fi # do nothing if already sleeping if [ -f /etc/linkstation_standby ]; then if [ $ENABLE_LOG == 'yes' ]; then echo -n `date` >> $LOG_FILE echo ": custom_sleep: already sleeping" >> $LOG_FILE fi exit 0 fi # function to check if any clients are connected connected () { CONN_IPADDR=`/bin/netstat -tna 2> /dev/null | /bin/sed s/"[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*"/"&\n"/ | /bin/grep -o -e "[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*"` for ip in $CONN_IPADDR do exclude=0 for ((i=0;i<$EXCLUDE_IPADDR_CT;i++)) do if [ ${EXCLUDE_IPADDR[$i]} == $ip ]; then exclude=1 fi done if [ $exclude -eq 0 ]; then if [ $ENABLE_LOG == 'yes' ]; then echo -n `date` >> $LOG_FILE echo ": custom_sleep: active ip $ip" >> $LOG_FILE fi return 1 fi done return 0 } # check for connections and update $CONN_FILE connected if [ $? -eq 1 ]; then if [ -f $CONN_FILE ]; then rm $CONN_FILE fi else if [ ! -f $CONN_FILE ]; then date +%s > $CONN_FILE fi fi # check when last connection was found if [ -f $CONN_FILE ]; then last_conn=`/bin/cat $CONN_FILE` comp_time=`/bin/date +%s` let "comp_time -= $TIMEOUT" if [ $last_conn -gt $comp_time ]; then /usr/local/sbin/pwrmgr -c localhost act if [ $ENABLE_LOG == 'yes' ]; then echo -n `date` >> $LOG_FILE echo ": custom_sleep: wait-after-connection prevented standby" >> $LOG_FILE fi exit 0 fi else /usr/local/sbin/pwrmgr -c localhost act if [ $ENABLE_LOG == 'yes' ]; then echo -n `date` >> $LOG_FILE echo ": custom_sleep: connections prevented standby" >> $LOG_FILE fi exit 0 fi # no one busy -> clear timestamp and STANDBY if [ $ENABLE_LOG == 'yes' ]; then echo -n `date` >> $LOG_FILE echo ": custom_sleep: going to standby" >> $LOG_FILE fi rm $CONN_FILE /usr/local/sbin/pwrmgr -u
How to WOL:
1. Python2
#!/usr/bin/env python2 import socket import time bcast_addr = '192.168.88.255' # broadcast address for you network target_mac = "4C:E6:76:E7:xx:xx" # colons are optional, case does not matter mac = target_mac.replace(':', "") mac_bytes = "".join([chr(int(mac[i:i+2], 16)) for i in range(0, len(mac), 2)]) WoL_packet = '\xff'*6 + mac_bytes * 16 s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1) while 1: s.sendto(WoL_packet, (bcast_addr, 9)) print "Sent paket!" time.sleep(180)2. ArchLinux
- pacman -S wol
3. dd-wrt router
- Administration -- WOL -- Manual WOL, with port 9
2015年5月15日星期五
My LS-QVL Disk Info
+-------+-------+-------+-------+--------+----------------+
| disk1 | disk2 | disk3 | disk4 | raid | purpose |
+-------+-------+-------+-------+--------+----------------+
| sda1 | sdb1 | sdc1 | sdd1 | md0 | /boot |
| sda2 | sdb2 | sdc2 | sdd2 | md1 | / |
| sda3 | sdb3 | sdc3 | sdd3 | unused | unused |
| sda4 | sdb4 | sdc4 | sdd4 | unused | unused |
| sda5 | sdb5 | sdc5 | sdd5 | md10 | swap |
| sda6 | sdb6 | sdc6 | sdd6 | mdx | nas user space |
+-------+-------+-------+-------+--------+----------------+
http://ozh.github.io/ascii-tables/
| disk1 | disk2 | disk3 | disk4 | raid | purpose |
+-------+-------+-------+-------+--------+----------------+
| sda1 | sdb1 | sdc1 | sdd1 | md0 | /boot |
| sda2 | sdb2 | sdc2 | sdd2 | md1 | / |
| sda3 | sdb3 | sdc3 | sdd3 | unused | unused |
| sda4 | sdb4 | sdc4 | sdd4 | unused | unused |
| sda5 | sdb5 | sdc5 | sdd5 | md10 | swap |
| sda6 | sdb6 | sdc6 | sdd6 | mdx | nas user space |
+-------+-------+-------+-------+--------+----------------+
http://ozh.github.io/ascii-tables/
root@ls-qvl:/etc# cat /proc/partitions major minor #blocks name 31 0 512 mtdblock0 8 16 488386584 sdb 8 17 1000448 sdb1 8 18 5000192 sdb2 8 19 1024 sdb3 8 20 1024 sdb4 8 21 1000448 sdb5 8 22 473468928 sdb6 8 0 31266648 sda 8 1 1000448 sda1 8 2 5000192 sda2 8 3 1024 sda3 8 4 1024 sda4 8 5 1000448 sda5 8 6 14485504 sda6 8 48 244198584 sdd 8 49 1000448 sdd1 8 50 5000192 sdd2 8 51 1024 sdd3 8 52 1024 sdd4 8 53 1000448 sdd5 8 54 229328896 sdd6 8 32 244198584 sdc 8 33 1000448 sdc1 8 34 5000192 sdc2 8 35 1024 sdc3 8 36 1024 sdc4 8 37 1000448 sdc5 8 38 229328896 sdc6 9 0 1000384 md0 9 10 1000436 md10 9 1 4999156 md1 9 22 473467768 md22 9 21 14484408 md21 9 2 229327736 md2 root@ls-qvl:/etc# cat /proc/mdstat Personalities : [linear] [raid0] [raid1] [raid6] [raid5] [raid4] md2 : active raid1 sdc6[0] sdd6[1] 229327736 blocks super 1.2 [2/2] [UU] --> raid nas user space md21 : active raid1 sda6[0] 14484408 blocks super 1.2 [2/1] [U_] --> use raid1 but one drive as normal mode nas user space md22 : active raid1 sdb6[0] 473467768 blocks super 1.2 [2/1] [U_] --> use raid1 but one drive as normal mode nas user space md1 : active raid1 sda2[7] sdb2[6] sdc2[5] sdd2[4] 4999156 blocks super 1.2 [4/4] [UUUU] --> / md10 : active raid1 sda5[7] sdb5[6] sdc5[5] sdd5[4] 1000436 blocks super 1.2 [4/4] [UUUU] --> swap md0 : active raid1 sda1[0] sdb1[3] sdc1[2] sdd1[1] 1000384 blocks [4/4] [UUUU] --> /boot unused devices:root@ls-qvl:/usr/local/bin# parted /dev/sda GNU Parted 2.3 Using /dev/sda Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) print Model: SSD32S l @ P>$ = (scsi) Disk /dev/sda: 32.0GB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 1049kB 1026MB 1024MB ext3 primary --> /boot [ext3] 2 1026MB 6146MB 5120MB primary --> / [ext3] 3 6146MB 6147MB 1049kB primary --> unused 4 6147MB 6148MB 1049kB primary --> unused 5 6148MB 7172MB 1024MB primary --> swap [swap] 6 7172MB 22.0GB 14.8GB primary --> user_spaces [xfs] root@ls-qvl:/usr/local/bin# mount rootfs on / type rootfs (rw) /dev/root on / type ext3 (rw,relatime,errors=continue,barrier=0,data=writeback) proc on /proc type proc (rw,relatime) sysfs on /sys type sysfs (rw,relatime) udev on /dev type tmpfs (rw,nosuid,relatime,size=10240k,mode=755) devpts on /dev/pts type devpts (rw,relatime,gid=4,mode=620) /dev/ram1 on /mnt/ram type tmpfs (rw,relatime,size=15360k) /dev/md0 on /boot type ext3 (rw,relatime,errors=continue,barrier=1,data=writeback) usbfs on /proc/bus/usb type usbfs (rw,relatime) /dev/md2 on /mnt/array1 type xfs (rw,noatime,attr2,usrquota,grpquota) /dev/md21 on /mnt/disk1 type xfs (rw,noatime,attr2,usrquota,grpquota) /dev/md22 on /mnt/disk2 type xfs (rw,noatime,attr2,usrquota,grpquota) root@ls-qvl:/usr/local/bin# ls -al /dev/root lrwxrwxrwx 1 root root 3 May 15 04:27 /dev/root -> md1 root@ls-qvl:/# blkid /dev/sdb1: UUID="ae515ae8-a75a-5c1a-7611-9a37b19c2cdb" TYPE="mdraid" /dev/sdb5: TYPE="swap" /dev/sdc1: UUID="ae515ae8-a75a-5c1a-7611-9a37b19c2cdb" TYPE="mdraid" /dev/sdc5: TYPE="swap" /dev/sda1: UUID="ae515ae8-a75a-5c1a-7611-9a37b19c2cdb" TYPE="mdraid" /dev/sda5: TYPE="swap" /dev/md0: UUID="89f47586-b419-4ba5-af45-680c13d03442" TYPE="ext3" /dev/md10: TYPE="swap" /dev/md1: UUID="a068025a-a07d-4901-8a67-e702c0ae7427" TYPE="ext3" /dev/md21: UUID="dc3a01d0-38d0-4ac7-94c8-6cd19d4b3909" TYPE="xfs" /dev/md2: UUID="2b0d1f94-b8b1-40ab-bb4a-a0a638d70b3f" TYPE="xfs" /dev/sdd1: UUID="ae515ae8-a75a-5c1a-7611-9a37b19c2cdb" TYPE="mdraid" /dev/sdd5: TYPE="swap" /dev/md22: UUID="50bde03e-5983-4ddf-a97f-74b70c7aadd4" TYPE="xfs" root@ls-qvl:/# mdadm --detail /dev/md0 /dev/md0: Version : 0.90 Creation Time : Fri Dec 31 23:49:39 1999 Raid Level : raid1 Array Size : 1000384 (977.10 MiB 1024.39 MB) Used Dev Size : 1000384 (977.10 MiB 1024.39 MB) Raid Devices : 4 Total Devices : 4 Preferred Minor : 0 Persistence : Superblock is persistent Update Time : Thu May 14 20:27:40 2015 State : clean Active Devices : 4 Working Devices : 4 Failed Devices : 0 Spare Devices : 0 UUID : e85a51ae:1a5c5aa7:379a1176:db2c9cb1 Events : 0.546 Number Major Minor RaidDevice State 0 8 1 0 active sync /dev/sda1 1 8 49 1 active sync /dev/sdd1 2 8 33 2 active sync /dev/sdc1 3 8 17 3 active sync /dev/sdb1 root@ls-qvl:/# smartctl -A -i -d marvell /dev/sda smartctl version 5.37 [arm-none-linux-gnueabi] Copyright (C) 2002-6 Bruce Allen Home page is http://smartmontools.sourceforge.net/ === START OF INFORMATION SECTION === Device Model: SSD32S Serial Number: 2013013000000016 Firmware Version: 120202 User Capacity: 32,017,047,552 bytes Device is: Not in smartctl database [for details use: -P showall] ATA Version is: 8 ATA Standard is: Exact ATA specification draft version not indicated Local Time is: Fri May 15 16:48:10 2015 CST SMART support is: Available - device has SMART capability. SMART support is: Enabled === START OF READ SMART DATA SECTION === SMART Attributes Data Structure revision number: 16 Vendor Specific SMART Attributes with Thresholds: ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 1 Raw_Read_Error_Rate 0x000b 100 100 050 Pre-fail Always - 16777215 2 Throughput_Performance 0x0005 100 100 050 Pre-fail Offline - 0 3 Spin_Up_Time 0x0007 100 100 050 Pre-fail Always - 0 5 Reallocated_Sector_Ct 0x0013 100 100 050 Pre-fail Always - 0 7 Seek_Error_Rate 0x000b 100 100 050 Pre-fail Always - 0 8 Seek_Time_Performance 0x0005 100 100 050 Pre-fail Offline - 0 9 Power_On_Hours 0x0012 100 100 000 Old_age Always - 2160 10 Spin_Retry_Count 0x0013 100 100 050 Pre-fail Always - 0 12 Power_Cycle_Count 0x0012 100 100 000 Old_age Always - 169 168 Unknown_Attribute 0x0012 100 100 000 Old_age Always - 0 175 Unknown_Attribute 0x0003 100 100 010 Pre-fail Always - 0 192 Power-Off_Retract_Count 0x0012 100 100 000 Old_age Always - 0 194 Temperature_Celsius 0x0022 040 100 000 Old_age Always - 40 (Lifetime Min/Max 30/60) 197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 0 240 Head_Flying_Hours 0x0013 100 100 050 Pre-fail Always - 0 170 Unknown_Attribute 0x0003 100 100 010 Pre-fail Always - 262144 173 Unknown_Attribute 0x0012 100 100 000 Old_age Always - 38339072 root@ls-qvl:/# df -h Filesystem Size Used Available Use% Mounted on /dev/md1 4.7G 861.0M 3.6G 19% / udev 10.0M 192.0k 9.8M 2% /dev /dev/ram1 15.0M 140.0k 14.9M 1% /mnt/ram /dev/md0 969.2M 29.4M 939.8M 3% /boot /dev/md2 218.6G 128.7G 89.9G 59% /mnt/array1 /dev/md21 13.8G 33.1M 13.8G 0% /mnt/disk1 /dev/md22 451.3G 117.2G 334.1G 26% /mnt/disk2
2015年5月13日星期三
Flash/Upgrade Palm M500 M505 ROM in windows7
Palmm500_eng4_1_FlashNew.exe and Palmm505_eng4_1_FlashNew.exe doesn't work well in windows OS after XP, software can not detect debug mode handhold.
But the ROM imager in ROM Crafter from Brayder Technologies can be used for backup and flash/upgrade the OS.
4.1OS can be extracted from Palmm500_eng4_1_FlashNew.exe and Palmm505_eng4_1_FlashNew.exe.
Firstly install Palmm500_eng4_1_FlashNew.exe and Palmm505_eng4_1_FlashNew.exe.
Then decompress ROMIMAGE10000 from C:\Program Files (x86)\Handspring\Palmm500_ENG_FlashTool.exe\.rsrc\BINARY_DATA\
ROMIMAGE10000 is ROM file can be flashed by ROM imager.
Related files can be downloaded from internet or contact me.
FYI, if flash fail or report "handheld memory locked", use jackflash to release flash memory firstly.
But the ROM imager in ROM Crafter from Brayder Technologies can be used for backup and flash/upgrade the OS.
4.1OS can be extracted from Palmm500_eng4_1_FlashNew.exe and Palmm505_eng4_1_FlashNew.exe.
Firstly install Palmm500_eng4_1_FlashNew.exe and Palmm505_eng4_1_FlashNew.exe.
Then decompress ROMIMAGE10000 from C:\Program Files (x86)\Handspring\Palmm500_ENG_FlashTool.exe\.rsrc\BINARY_DATA\
ROMIMAGE10000 is ROM file can be flashed by ROM imager.
Related files can be downloaded from internet or contact me.
FYI, if flash fail or report "handheld memory locked", use jackflash to release flash memory firstly.
2015年5月9日星期六
Fix/Debug Pogoplug v4 arch linux boot failure
Recently, after upgrade archlinux on Pogo, system failed to boot up.
Even fresh install can't fix this problem.
required:
netconsole uboot installed on pogoplug v4.
Debug:
1. setup netconsole and monitor uboot :
xterm1: nc -l -u -p 6666
xterm2: nc -u 192.168.1.10 6666
looks like kernel booted successfully.
2. printenv in uboot
Pogov4> printenv
arcNumber=3960
baudrate=115200
bootcmd=run bootcmd_usb; run bootcmd_mmc; run bootcmd_sata; run bootcmd_pogo; reset
bootcmd_mmc=run mmc_init; run set_bootargs_mmc; run mmc_boot
bootcmd_pogo=if ubi part root 2048 && ubifsmount ubi:rootfs && ubifsload 0x800000 uboot.mtd0.dockstar.original.kwb ; then go 0x800200; fi
bootcmd_sata=run sata_init; run set_bootargs_sata; run sata_boot;
bootcmd_usb=run usb_init; run set_bootargs_usb; run usb_boot;
bootdelay=10
console=ttyS0,115200
device=0:1
ethact=egiga0
ethaddr=00:25:31:05:08:2e
if_netconsole=ping $serverip
ipaddr=192.168.1.10
led_error=orange blinking
led_exit=green off
led_init=green blinking
machid=F78
mainlineLinux=yes
mmc_boot=mw 0x800000 0 1; run mmc_load_uimage; if run mmc_load_uinitrd; then bootm 0x800000 0x1100000; else bootm 0x800000; fi
mmc_init=mmc rescan
mmc_load_uimage=ext2load mmc $device 0x800000 /boot/uImage
mmc_load_uinitrd=ext2load mmc $device 0x1100000 /boot/uInitrd
mmc_root=/dev/mmcblk0p1
mtdids=nand0=orion_nand
mtdparts=mtdparts=orion_nand:2M(u-boot),3M(uImage),3M(uImage2),8M(failsafe),112M(root)
ncip=192.168.1.100
partition=nand0,2
preboot=run if_netconsole start_netconsole
preboot_nc=run if_netconsole start_netconsole
rootdelay=10
rootfstype=ext3
sata_boot=mw 0x800000 0 1; run sata_load_uimage; if run sata_load_uinitrd; then bootm 0x800000 0x1100000; else bootm 0x800000; fi
sata_init=ide reset
sata_load_uimage=ext2load ide $device 0x800000 /boot/uImage
sata_load_uinitrd=ext2load ide $device 0x1100000 /boot/uInitrd
sata_root=/dev/sda1
serverip=192.168.1.100
set_bootargs_mmc=setenv bootargs console=$console root=$mmc_root rootdelay=$rootdelay rootfstype=$rootfstype $mtdparts
set_bootargs_sata=setenv bootargs console=$console root=$sata_root rootdelay=$rootdelay rootfstype=$rootfstype $mtdparts
set_bootargs_usb=setenv bootargs console=$console root=$usb_root rootdelay=$rootdelay rootfstype=$rootfstype $mtdparts
start_netconsole=setenv ncip $serverip; setenv bootdelay 10; setenv stdin nc; setenv stdout nc; setenv stderr nc; version;
stderr=nc
stdin=nc
stdout=nc
usb_boot=mw 0x800000 0 1; run usb_load_uimage; if run usb_load_uinitrd; then bootm 0x800000 0x1100000; else bootm 0x800000; fi
usb_init=usb start
usb_load_uimage=ext2load usb $device 0x800000 /boot/uImage
usb_load_uinitrd=ext2load usb $device 0x1100000 /boot/uInitrd
usb_root=/dev/sda1
usb_rootfstype=ext3
Environment size: 2468/131068 bytes
Pogov4>
3. Enable netconsole for linux kernel
Pogov4> setenv set_bootargs_mmc 'setenv bootargs root=$mmc_root rootdelay=$rootdelay rootfstype=$rootfstype $mtdparts [email protected]/,[email protected]/'
Pogov4> saveenv
4. continue monitor linux kernel netconsole output
OUTPUT INDICATE NEW KERNEL NEED EXT4 ROOTFS!
5. fix pogo by format SD card with mkfs.ext4 -j /dev/sdb1, then fresh tar -xvzf Archlinux -C /mnt/alarm
6. retry and monitor kernel netconsole output
STILL REPORT NEED EXT4 ROOTFS
7. set uboot parameter:
Pogov4>setenv rootfstype ext4
Pogov4> saveenv
8. retry reboot
BOOT SUCCESS!
7. close kernel netconsole and change bootargs back to normal.
Pogov4> setenv set_bootargs_mmc 'setenv bootargs console=$console root=$mmc_root rootdelay=$rootdelay rootfstype=$rootfstype $mtdparts'
Pogov4> saveenv
NOW MY UBOOT ENV:
arcNumber=3960
baudrate=115200
bootcmd=run bootcmd_usb; run bootcmd_mmc; run bootcmd_sata; run bootcmd_pogo; reset
bootcmd_mmc=run mmc_init; run set_bootargs_mmc; run mmc_boot
bootcmd_pogo=if ubi part root 2048 && ubifsmount ubi:rootfs && ubifsload 0x800000 uboot.mtd0.dockstar.original.kwb ; then go 0x800200; fi
bootcmd_sata=run sata_init; run set_bootargs_sata; run sata_boot;
bootcmd_usb=run usb_init; run set_bootargs_usb; run usb_boot;
bootdelay=10
console=ttyS0,115200
device=0:1
ethact=egiga0
ethaddr=00:25:31:05:08:2e
if_netconsole=ping $serverip
ipaddr=192.168.1.10
led_error=orange blinking
led_exit=green off
led_init=green blinking
machid=F78
mainlineLinux=yes
mmc_boot=mw 0x800000 0 1; run mmc_load_uimage; if run mmc_load_uinitrd; then bootm 0x800000 0x1100000; else bootm 0x800000; fi
mmc_init=mmc rescan
mmc_load_uimage=ext2load mmc $device 0x800000 /boot/uImage
mmc_load_uinitrd=ext2load mmc $device 0x1100000 /boot/uInitrd
mmc_root=/dev/mmcblk0p1
mtdids=nand0=orion_nand
mtdparts=mtdparts=orion_nand:2M(u-boot),3M(uImage),3M(uImage2),8M(failsafe),112M(root)
ncip=192.168.1.100
partition=nand0,2
preboot=run if_netconsole start_netconsole
preboot_nc=run if_netconsole start_netconsole
rootdelay=10
rootfstype=ext3
sata_boot=mw 0x800000 0 1; run sata_load_uimage; if run sata_load_uinitrd; then bootm 0x800000 0x1100000; else bootm 0x800000; fi
sata_init=ide reset
sata_load_uimage=ext2load ide $device 0x800000 /boot/uImage
sata_load_uinitrd=ext2load ide $device 0x1100000 /boot/uInitrd
sata_root=/dev/sda1
serverip=192.168.1.100
set_bootargs_mmc=setenv bootargs console=$console root=$mmc_root rootdelay=$rootdelay rootfstype=$rootfstype $mtdparts
set_bootargs_sata=setenv bootargs console=$console root=$sata_root rootdelay=$rootdelay rootfstype=$rootfstype $mtdparts
set_bootargs_usb=setenv bootargs console=$console root=$usb_root rootdelay=$rootdelay rootfstype=$rootfstype $mtdparts
start_netconsole=setenv ncip $serverip; setenv bootdelay 10; setenv stdin nc; setenv stdout nc; setenv stderr nc; version;
stderr=nc
stdin=nc
stdout=nc
usb_boot=mw 0x800000 0 1; run usb_load_uimage; if run usb_load_uinitrd; then bootm 0x800000 0x1100000; else bootm 0x800000; fi
usb_init=usb start
usb_load_uimage=ext2load usb $device 0x800000 /boot/uImage
usb_load_uinitrd=ext2load usb $device 0x1100000 /boot/uInitrd
usb_root=/dev/sda1
usb_rootfstype=ext3
AND using ext4 -j for linux root.
Even fresh install can't fix this problem.
required:
netconsole uboot installed on pogoplug v4.
Debug:
1. setup netconsole and monitor uboot :
xterm1: nc -l -u -p 6666
xterm2: nc -u 192.168.1.10 6666
looks like kernel booted successfully.
2. printenv in uboot
Pogov4> printenv
arcNumber=3960
baudrate=115200
bootcmd=run bootcmd_usb; run bootcmd_mmc; run bootcmd_sata; run bootcmd_pogo; reset
bootcmd_mmc=run mmc_init; run set_bootargs_mmc; run mmc_boot
bootcmd_pogo=if ubi part root 2048 && ubifsmount ubi:rootfs && ubifsload 0x800000 uboot.mtd0.dockstar.original.kwb ; then go 0x800200; fi
bootcmd_sata=run sata_init; run set_bootargs_sata; run sata_boot;
bootcmd_usb=run usb_init; run set_bootargs_usb; run usb_boot;
bootdelay=10
console=ttyS0,115200
device=0:1
ethact=egiga0
ethaddr=00:25:31:05:08:2e
if_netconsole=ping $serverip
ipaddr=192.168.1.10
led_error=orange blinking
led_exit=green off
led_init=green blinking
machid=F78
mainlineLinux=yes
mmc_boot=mw 0x800000 0 1; run mmc_load_uimage; if run mmc_load_uinitrd; then bootm 0x800000 0x1100000; else bootm 0x800000; fi
mmc_init=mmc rescan
mmc_load_uimage=ext2load mmc $device 0x800000 /boot/uImage
mmc_load_uinitrd=ext2load mmc $device 0x1100000 /boot/uInitrd
mmc_root=/dev/mmcblk0p1
mtdids=nand0=orion_nand
mtdparts=mtdparts=orion_nand:2M(u-boot),3M(uImage),3M(uImage2),8M(failsafe),112M(root)
ncip=192.168.1.100
partition=nand0,2
preboot=run if_netconsole start_netconsole
preboot_nc=run if_netconsole start_netconsole
rootdelay=10
rootfstype=ext3
sata_boot=mw 0x800000 0 1; run sata_load_uimage; if run sata_load_uinitrd; then bootm 0x800000 0x1100000; else bootm 0x800000; fi
sata_init=ide reset
sata_load_uimage=ext2load ide $device 0x800000 /boot/uImage
sata_load_uinitrd=ext2load ide $device 0x1100000 /boot/uInitrd
sata_root=/dev/sda1
serverip=192.168.1.100
set_bootargs_mmc=setenv bootargs console=$console root=$mmc_root rootdelay=$rootdelay rootfstype=$rootfstype $mtdparts
set_bootargs_sata=setenv bootargs console=$console root=$sata_root rootdelay=$rootdelay rootfstype=$rootfstype $mtdparts
set_bootargs_usb=setenv bootargs console=$console root=$usb_root rootdelay=$rootdelay rootfstype=$rootfstype $mtdparts
start_netconsole=setenv ncip $serverip; setenv bootdelay 10; setenv stdin nc; setenv stdout nc; setenv stderr nc; version;
stderr=nc
stdin=nc
stdout=nc
usb_boot=mw 0x800000 0 1; run usb_load_uimage; if run usb_load_uinitrd; then bootm 0x800000 0x1100000; else bootm 0x800000; fi
usb_init=usb start
usb_load_uimage=ext2load usb $device 0x800000 /boot/uImage
usb_load_uinitrd=ext2load usb $device 0x1100000 /boot/uInitrd
usb_root=/dev/sda1
usb_rootfstype=ext3
Environment size: 2468/131068 bytes
Pogov4>
3. Enable netconsole for linux kernel
Pogov4> setenv set_bootargs_mmc 'setenv bootargs root=$mmc_root rootdelay=$rootdelay rootfstype=$rootfstype $mtdparts [email protected]/,[email protected]/'
Pogov4> saveenv
4. continue monitor linux kernel netconsole output
OUTPUT INDICATE NEW KERNEL NEED EXT4 ROOTFS!
5. fix pogo by format SD card with mkfs.ext4 -j /dev/sdb1, then fresh tar -xvzf Archlinux -C /mnt/alarm
6. retry and monitor kernel netconsole output
STILL REPORT NEED EXT4 ROOTFS
7. set uboot parameter:
Pogov4>setenv rootfstype ext4
Pogov4> saveenv
8. retry reboot
BOOT SUCCESS!
7. close kernel netconsole and change bootargs back to normal.
Pogov4> setenv set_bootargs_mmc 'setenv bootargs console=$console root=$mmc_root rootdelay=$rootdelay rootfstype=$rootfstype $mtdparts'
Pogov4> saveenv
NOW MY UBOOT ENV:
arcNumber=3960
baudrate=115200
bootcmd=run bootcmd_usb; run bootcmd_mmc; run bootcmd_sata; run bootcmd_pogo; reset
bootcmd_mmc=run mmc_init; run set_bootargs_mmc; run mmc_boot
bootcmd_pogo=if ubi part root 2048 && ubifsmount ubi:rootfs && ubifsload 0x800000 uboot.mtd0.dockstar.original.kwb ; then go 0x800200; fi
bootcmd_sata=run sata_init; run set_bootargs_sata; run sata_boot;
bootcmd_usb=run usb_init; run set_bootargs_usb; run usb_boot;
bootdelay=10
console=ttyS0,115200
device=0:1
ethact=egiga0
ethaddr=00:25:31:05:08:2e
if_netconsole=ping $serverip
ipaddr=192.168.1.10
led_error=orange blinking
led_exit=green off
led_init=green blinking
machid=F78
mainlineLinux=yes
mmc_boot=mw 0x800000 0 1; run mmc_load_uimage; if run mmc_load_uinitrd; then bootm 0x800000 0x1100000; else bootm 0x800000; fi
mmc_init=mmc rescan
mmc_load_uimage=ext2load mmc $device 0x800000 /boot/uImage
mmc_load_uinitrd=ext2load mmc $device 0x1100000 /boot/uInitrd
mmc_root=/dev/mmcblk0p1
mtdids=nand0=orion_nand
mtdparts=mtdparts=orion_nand:2M(u-boot),3M(uImage),3M(uImage2),8M(failsafe),112M(root)
ncip=192.168.1.100
partition=nand0,2
preboot=run if_netconsole start_netconsole
preboot_nc=run if_netconsole start_netconsole
rootdelay=10
rootfstype=ext3
sata_boot=mw 0x800000 0 1; run sata_load_uimage; if run sata_load_uinitrd; then bootm 0x800000 0x1100000; else bootm 0x800000; fi
sata_init=ide reset
sata_load_uimage=ext2load ide $device 0x800000 /boot/uImage
sata_load_uinitrd=ext2load ide $device 0x1100000 /boot/uInitrd
sata_root=/dev/sda1
serverip=192.168.1.100
set_bootargs_mmc=setenv bootargs console=$console root=$mmc_root rootdelay=$rootdelay rootfstype=$rootfstype $mtdparts
set_bootargs_sata=setenv bootargs console=$console root=$sata_root rootdelay=$rootdelay rootfstype=$rootfstype $mtdparts
set_bootargs_usb=setenv bootargs console=$console root=$usb_root rootdelay=$rootdelay rootfstype=$rootfstype $mtdparts
start_netconsole=setenv ncip $serverip; setenv bootdelay 10; setenv stdin nc; setenv stdout nc; setenv stderr nc; version;
stderr=nc
stdin=nc
stdout=nc
usb_boot=mw 0x800000 0 1; run usb_load_uimage; if run usb_load_uinitrd; then bootm 0x800000 0x1100000; else bootm 0x800000; fi
usb_init=usb start
usb_load_uimage=ext2load usb $device 0x800000 /boot/uImage
usb_load_uinitrd=ext2load usb $device 0x1100000 /boot/uInitrd
usb_root=/dev/sda1
usb_rootfstype=ext3
AND using ext4 -j for linux root.
订阅:
博文 (Atom)