LTSI Kernel Porting Information: Debian Wheezy

From eLinux.org
Revision as of 14:47, 2 September 2013 by Iwamatsu (talk | contribs)
Jump to: navigation, search

LTSI Kernel Porting Information: Debian GNU/Linux 7.0 (Wheezy), Jessie(Debian next version's codename) and Sid

The following shows the information of the result of porting LTSI Kernel to Debian GNU/Linux 7.0 (Wheezy), Jessie (Debian next version's codename) and sid . Anyone is more than well come to add information here in the following format

What had been done:

(Please describe your changes for LTSI to work for the target distribution)

  1. Update linux kernel

I supported CuBox to LTSI 3.4.46. This kernel does not support CuBox, I needed to backports patches from latest kernel. I supported SATA, USB, Ether, serial and SPI. SDHI does not support.

Changes:

(Please describe summary of your changes and suggestions for others)

Change etc/inittab

I added a line to etc/inittab following:

T0:23:respawn:/sbin/getty -L ttyS0 115200 vt100

Usually, serial console is not enabled Debian. First, because we need to login CuBox from serial console, you need to add this line.

Add etc/fstab

When Debian does not use an installer, etc/fstab is usually empty. Therefore, a user needs to change. I added the device used as rootfs after boot to etc/fstab following:

# <file system> <mount> <type>  <options>                       <dump>  <pass>
proc            /proc   proc    defaults                        0       0
/dev/sda1       /       ext2    defaults,errors=remount-ro      0       1

Patches:

(link to your patches for LTSI if you have any)

Linux kernel

I am managing patches in https://github.com/iwamatsu/linux/tree/3.4.46-ltsi-cubox
Most patches were cherry-picked from linux upstream kernel.

Notes:

How to boot from USB (This is really my note...):

CuBox>> usb start ; ext2load usb 0 2000000 uImage ; bootm 2000000

Boot log (Wheezy)

CuBox>> usb start
(Re)start USB...
USB:   Register 10011 NbrPorts 1
USB EHCI 1.00
scanning bus for devices... 2 USB Device(s) found
Waiting for storage device(s) to settle before scanning...
       scanning bus for storage devices... 1 Storage Device(s) found
CuBox>> ext2load usb 0 2000000 uImage
Loading file "uImage" from usb device 0:1 (usbda1)
....
..............................................................................................................................................................................................
2339168 bytes read
CuBox>> bootm 2000000
## Booting kernel from Legacy Image at 02000000 ...
   Image Name:   Linux-3.4.46-ltsi-00806-g5181caf
   Created:      2013-08-30   8:39:14 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2339104 Bytes =  2.2 MB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
Booting Linux on physical CPU 0
Linux version 3.4.46-ltsi-00806-g5181caf (iwamatsu@chimagu) (gcc version 4.7.2 (GCC) ) #72 Fri Aug 30 17:38:55 JST 2013
CPU: ARMv7 Processor [560f5815] revision 5 (ARMv7), cr=10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
Machine: Marvell DB-MV88AP510-BP Development Board
Ignoring unrecognised tag 0x41000403
Ignoring unrecognised tag 0x41000404
Truncating RAM at 00000000-3fffffff to -2f7fffff (vmalloc region overlap).
Ignoring RAM at 40000000-7fffffff (vmalloc region overlap).
Memory policy: ECC disabled, Data cache writeback
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 193040
Kernel command line: console=ttyS0,115200n8 root=/dev/sda1 rootdelay=20
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 760MB = 760MB total
Memory: 766760k/766760k available, 11480k reserved, 0K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
    lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
    modules : 0xbf000000 - 0xc0000000   (  16 MB)
      .text : 0xc0008000 - 0xc04084f0   (4098 kB)
      .init : 0xc0409000 - 0xc042b000   ( 136 kB)
      .data : 0xc042c000 - 0xc0456320   ( 169 kB)
       .bss : 0xc0456344 - 0xc0474d80   ( 123 kB)
NR_IRQS:135
gpiochip_add: registered GPIOs 0 to 31 on device: orion_gpio0
gpiochip_add: registered GPIOs 32 to 63 on device: orion_gpio1
sched_clock: 32 bits at 166MHz, resolution 5ns, wraps every 25769ms
Console: colour dummy device 80x30
Calibrating delay loop... 789.70 BogoMIPS (lpj=3948544)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
Setting up static identity map for 0x307290 - 0x3072e8
devtmpfs: initialized
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
Dove 88AP510 SoC, TCLK = 167 MHz.
Tauros2: Enabling L2 cache.
Tauros2: L2 cache support initialised in ARMv7 mode.
Dove PCIe port 0: 
link down, ignoring
Dove PCIe port 1: 
link down, ignoring
bio: create slab <bio-0> at 0
vgaarb: loaded
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Switching to clocksource orion_clocksource
NET: Registered protocol family 2
IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
TCP bind hash table entries: 65536 (order: 6, 262144 bytes)
TCP: Hash tables configured (established 131072 bind 65536)
TCP: reno registered
UDP hash table entries: 512 (order: 1, 8192 bytes)
UDP-Lite hash table entries: 512 (order: 1, 8192 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
NFS: Registering the id_resolver key type
nfs4filelayout_init: NFSv4 File Layout Driver Registering...
jffs2: version 2.2. (NAND) �� 2001-2006 Red Hat, Inc.
msgmni has been set to 1497
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
mv_xor_shared mv_xor_shared.0: Marvell shared XOR driver
mv_xor_shared mv_xor_shared.1: Marvell shared XOR driver
mv_xor mv_xor.0: Marvell XOR: ( xor cpy )
mv_xor mv_xor.1: Marvell XOR: ( xor fill cpy )
mv_xor mv_xor.2: Marvell XOR: ( xor cpy )
mv_xor mv_xor.3: Marvell XOR: ( xor fill cpy )
Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0xf1012000 (irq = 7) is a 16550A
console [ttyS0] enabled
serial8250.1: ttyS1 at MMIO 0xf1012100 (irq = 8) is a 16550A
brd: module loaded
loop: module loaded
sata_mv sata_mv.0: cannot get optional clkdev
sata_mv sata_mv.0: slots 32 ports 1
scsi0 : sata_mv
ata1: SATA max UDMA/133 irq 62
orion_spi orion_spi.0: master is unqueued, this is deprecated
m25p80 spi0.0: found w25q32, expected m25p64
m25p80 spi0.0: w25q32 (4096 Kbytes)
orion_spi orion_spi.1: master is unqueued, this is deprecated
mv643xx_eth: MV-643xx 10/100/1000 ethernet driver version 1.4
mv643xx_eth smi: probed
mv643xx_eth_port mv643xx_eth_port.0: eth0: port 0 with MAC address 00:50:43:2e:2e:01
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
orion-ehci orion-ehci.0: Marvell Orion EHCI
orion-ehci orion-ehci.0: new USB bus registered, assigned bus number 1
orion-ehci orion-ehci.0: irq 24, io mem 0xf1050000
orion-ehci orion-ehci.0: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
orion-ehci orion-ehci.1: Marvell Orion EHCI
orion-ehci orion-ehci.1: new USB bus registered, assigned bus number 2
orion-ehci orion-ehci.1: irq 25, io mem 0xf1051000
orion-ehci orion-ehci.1: USB 2.0 started, EHCI 1.00
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
rtc-mv rtc-mv: rtc core: registered rtc-mv as rtc0
i2c /dev entries driver
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
TCP: cubic registered
NET: Registered protocol family 17
Registering the dns_resolver key type
VFP support v0.3: implementor 56 architecture 2 part 20 variant 9 rev 5
rtc-mv rtc-mv: setting system clock to 2013-09-02 07:49:38 UTC (1378108178)
Waiting 20sec before mounting root device...
ata1: SATA link down (SStatus 0 SControl F300)
usb 1-1: new high-speed USB device number 2 using orion-ehci
scsi1 : usb-storage 1-1:1.0
scsi 1:0:0:0: Direct-Access     I-O DATA USB Flash Disk   A0A  PQ: 0 ANSI: 2
sd 1:0:0:0: [sda] 3948544 512-byte logical blocks: (2.02 GB/1.88 GiB)
sd 1:0:0:0: [sda] Write Protect is off
sd 1:0:0:0: [sda] Asking for cache data failed
sd 1:0:0:0: [sda] Assuming drive cache: write through
sd 1:0:0:0: [sda] Asking for cache data failed
sd 1:0:0:0: [sda] Assuming drive cache: write through
 sda: sda1
sd 1:0:0:0: [sda] Asking for cache data failed
sd 1:0:0:0: [sda] Assuming drive cache: write through
sd 1:0:0:0: [sda] Attached SCSI removable disk
kjournald starting.  Commit interval 5 seconds
EXT3-fs (sda1): using internal journal
EXT3-fs (sda1): recovery complete
EXT3-fs (sda1): mounted filesystem with ordered data mode
VFS: Mounted root (ext3 filesystem) on device 8:1.
devtmpfs: mounted
Freeing init memory: 136K
INIT: version 2.88 booting
[info] Using makefile-style concurrent boot in runlevel S.
[....] Starting the hotplug events dispatcher: udevdudevd[539]: starting version 175
. ok 
[....] Synthesizing the initial hotplug events...done.
[....] Waiting for /dev to be fully populated...done.
[....] Activating swap...done.
[....] Checking root file system...fsck from util-linux 2.20.1
/dev/sda1: clean, 9581/123392 files, 63370/493312 blocks
done.
EXT3-fs (sda1): using internal journal
[....] Cleaning up temporary files... /tmp. ok 
[....] Activating lvm and md swap...done.
[....] Checking file systems...fsck from util-linux 2.20.1
done.
[....] Mounting local filesystems...done.
[....] Activating swapfile swap...done.
[....] Cleaning up temporary files.... ok 
[....] Setting kernel variables ...done.
[....] Configuring network interfaces...done.
[....] Cleaning up temporary files.... ok 
INIT: Entering runlevel: 2
[info] Using makefile-style concurrent boot in runlevel 2.
[....] Starting enhanced syslogd: rsyslogd. ok 
[....] Starting periodic command scheduler: cron. ok 

Debian GNU/Linux 7.0 debian ttyS0

debian login: root
Password: 
Linux debian 3.4.46-ltsi-00806-g5181caf #72 Fri Aug 30 17:38:55 JST 2013 armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
root@debian:~#