LTSI Kernel Porting Information: Debian Wheezy

From eLinux.org
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)

Updated 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. If we boot using this kenrel, we need to use Ether or USB.

Checked arm architecture in Debian

Debian is preparing armel and armhf as the 32bit arm architecture. I checked operation in both.

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:~#