From: Daniel Mack <daniel@caiaq.de>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 2/2] Add target support for MXC based devices
Date: Mon, 8 Jun 2009 16:58:00 +0200 [thread overview]
Message-ID: <1244473080-8195-2-git-send-email-daniel@caiaq.de> (raw)
In-Reply-To: <1244473080-8195-1-git-send-email-daniel@caiaq.de>
Devices based on Freescale's MXC SoCs need some extra attention to start
the gettys from init. In particular, the /dev/ttymxc0 inode needs to be
created and added to inittab and securetty.
Signed-off-by: Daniel Mack <daniel@caiaq.de>
---
target/device/ARMLTD/Config.in | 4 +
target/device/ARMLTD/Makefile.in | 3 +
target/device/ARMLTD/mxc/Makefile.in | 4 +
target/device/ARMLTD/mxc/device_table.txt | 176 ++++++++++++++++++++
.../device/ARMLTD/mxc/target_skeleton/etc/inittab | 45 +++++
.../ARMLTD/mxc/target_skeleton/etc/securetty | 14 ++
6 files changed, 246 insertions(+), 0 deletions(-)
create mode 100644 target/device/ARMLTD/mxc/Makefile.in
create mode 100644 target/device/ARMLTD/mxc/device_table.txt
create mode 100644 target/device/ARMLTD/mxc/target_skeleton/etc/inittab
create mode 100644 target/device/ARMLTD/mxc/target_skeleton/etc/securetty
diff --git a/target/device/ARMLTD/Config.in b/target/device/ARMLTD/Config.in
index 66f031c..51d5069 100644
--- a/target/device/ARMLTD/Config.in
+++ b/target/device/ARMLTD/Config.in
@@ -22,12 +22,16 @@ config BR2_TARGET_ARM_INTEGRATOR_926
config BR2_TARGET_ARM_INTEGRATOR_926_HUGE
bool "Integrator arm926 (Huge)"
+config BR2_TARGET_ARM_MXC
+ bool "Freescale MX2/MX3 based modules"
+
endchoice
config BR2_BOARD_NAME
string
default "integrator926" if BR2_TARGET_ARM_INTEGRATOR_926
default "integrator926_huge" if BR2_TARGET_ARM_INTEGRATOR_926_HUGE
+ default "freescale-mxc" if BR2_TARGET_ARM_MXC
config BR2_BOARD_PATH
string "Board Path"
diff --git a/target/device/ARMLTD/Makefile.in b/target/device/ARMLTD/Makefile.in
index a846ba6..23be956 100644
--- a/target/device/ARMLTD/Makefile.in
+++ b/target/device/ARMLTD/Makefile.in
@@ -4,6 +4,9 @@ BOARD_NAME=$(strip $(subst ",,$(BR2_BOARD_NAME)))
BOARD_PATH=$(strip $(subst ",,$(BR2_BOARD_PATH)))
#"))
+ifeq ($(BR2_TARGET_ARM_MXC),y)
+include target/device/ARMLTD/mxc/Makefile.in
+endif
# pin some settings
BR2_GNU_TARGET_SUFFIX:="linux-uclibcgnueabi"
diff --git a/target/device/ARMLTD/mxc/Makefile.in b/target/device/ARMLTD/mxc/Makefile.in
new file mode 100644
index 0000000..4f3d3c8
--- /dev/null
+++ b/target/device/ARMLTD/mxc/Makefile.in
@@ -0,0 +1,4 @@
+# Default target skeleton stuff, may be overridden
+TARGET_SKELETON=target/generic/target_skeleton target/device/ARMLTD/mxc/target_skeleton
+TARGET_DEVICE_TABLE=target/device/ARMLTD/mxc/device_table.txt
+
diff --git a/target/device/ARMLTD/mxc/device_table.txt b/target/device/ARMLTD/mxc/device_table.txt
new file mode 100644
index 0000000..fbc766e
--- /dev/null
+++ b/target/device/ARMLTD/mxc/device_table.txt
@@ -0,0 +1,176 @@
+# When building a target filesystem, it is desirable to not have to
+# become root and then run 'mknod' a thousand times. Using a device
+# table you can create device nodes and directories "on the fly".
+#
+# This is a sample device table file for use with genext2fs. You can
+# do all sorts of interesting things with a device table file. For
+# example, if you want to adjust the permissions on a particular file
+# you can just add an entry like:
+# /sbin/foobar f 2755 0 0 - - - - -
+# and (assuming the file /sbin/foobar exists) it will be made setuid
+# root (regardless of what its permissions are on the host filesystem.
+# Furthermore, you can use a single table entry to create a many device
+# minors. For example, if I wanted to create /dev/hda and /dev/hda[0-15]
+# I could just use the following two table entries:
+# /dev/hda b 640 0 0 3 0 0 0 -
+# /dev/hda b 640 0 0 3 1 1 1 15
+#
+# Device table entries take the form of:
+# <name> <type> <mode> <uid> <gid> <major> <minor> <start> <inc> <count>
+# where name is the file name, type can be one of:
+# f A regular file
+# d Directory
+# c Character special device file
+# b Block special device file
+# p Fifo (named pipe)
+# uid is the user id for the target file, gid is the group id for the
+# target file. The rest of the entries (major, minor, etc) apply only
+# to device special files.
+
+# Have fun
+# -Erik Andersen <andersen@codepoet.org>
+#
+
+#<name> <type> <mode> <uid> <gid> <major> <minor> <start> <inc> <count>
+/dev d 755 0 0 - - - - -
+/dev/pts d 755 0 0 - - - - -
+/dev/shm d 755 0 0 - - - - -
+/tmp d 1777 0 0 - - - - -
+/etc d 755 0 0 - - - - -
+/home/default d 2755 1000 1000 - - - - -
+#<name> <type> <mode> <uid> <gid> <major> <minor> <start> <inc> <count>
+/bin/busybox f 4755 0 0 - - - - -
+/etc/shadow f 600 0 0 - - - - -
+/etc/passwd f 644 0 0 - - - - -
+/etc/network/if-up.d d 755 0 0 - - - - -
+/etc/network/if-pre-up.d d 755 0 0 - - - - -
+/etc/network/if-down.d d 755 0 0 - - - - -
+/etc/network/if-post-down.d d 755 0 0 - - - - -
+/usr/share/udhcpc/default.script f 755 0 0 - - - - -
+# uncomment this to allow starting x as non-root
+#/usr/X11R6/bin/Xfbdev f 4755 0 0 - - - - -
+# Normal system devices
+/dev/mem c 640 0 0 1 1 0 0 -
+/dev/kmem c 640 0 0 1 2 0 0 -
+/dev/null c 666 0 0 1 3 0 0 -
+/dev/zero c 666 0 0 1 5 0 0 -
+/dev/random c 666 0 0 1 8 0 0 -
+/dev/urandom c 666 0 0 1 9 0 0 -
+/dev/ram b 640 0 0 1 1 0 0 -
+/dev/ram b 640 0 0 1 0 0 1 4
+/dev/loop b 640 0 0 7 0 0 1 2
+/dev/rtc c 640 0 0 10 135 - - -
+/dev/console c 666 0 0 5 1 - - -
+/dev/tty c 666 0 0 5 0 - - -
+/dev/tty c 666 0 0 4 0 0 1 8
+/dev/ttyp c 666 0 0 3 0 0 1 10
+/dev/ptyp c 666 0 0 2 0 0 1 10
+/dev/ptmx c 666 0 0 5 2 - - -
+/dev/ttyP c 666 0 0 57 0 0 1 4
+/dev/ttyS c 666 0 0 4 64 0 1 4
+/dev/fb c 640 0 5 29 0 0 1 4
+#/dev/ttySA c 666 0 0 204 5 0 1 3
+/dev/psaux c 666 0 0 10 1 0 0 -
+#/dev/ppp c 666 0 0 108 0 - - -
+/dev/ttyCPM c 666 0 0 204 46 0 1 4
+/dev/ttyAMA c 666 0 0 204 64 0 1 4
+/dev/ttyPSC c 666 0 0 204 148 0 1 4
+/dev/ttyUL c 666 0 0 204 187 0 1 4
+/dev/ttymxc c 660 0 0 207 16 0 0 1
+
+# Input stuff
+/dev/input d 755 0 0 - - - - -
+/dev/input/mice c 640 0 0 13 63 0 0 -
+/dev/input/mouse c 660 0 0 13 32 0 1 4
+/dev/input/event c 660 0 0 13 64 0 1 4
+#/dev/input/js c 660 0 0 13 0 0 1 4
+
+
+# MTD stuff
+/dev/mtd c 640 0 0 90 0 0 2 4
+/dev/mtdblock b 640 0 0 31 0 0 1 4
+
+#Tun/tap driver
+/dev/net d 755 0 0 - - - - -
+/dev/net/tun c 660 0 0 10 200 - - -
+
+# Audio stuff
+#/dev/audio c 666 0 29 14 4 - - -
+#/dev/audio1 c 666 0 29 14 20 - - -
+#/dev/dsp c 666 0 29 14 3 - - -
+#/dev/dsp1 c 666 0 29 14 19 - - -
+#/dev/sndstat c 666 0 29 14 6 - - -
+
+# User-mode Linux stuff
+#/dev/ubda b 640 0 0 98 0 0 0 -
+#/dev/ubda b 640 0 0 98 1 1 1 15
+
+# IDE Devices
+/dev/hda b 640 0 0 3 0 0 0 -
+/dev/hda b 640 0 0 3 1 1 1 15
+/dev/hdb b 640 0 0 3 64 0 0 -
+/dev/hdb b 640 0 0 3 65 1 1 15
+#/dev/hdc b 640 0 0 22 0 0 0 -
+#/dev/hdc b 640 0 0 22 1 1 1 15
+#/dev/hdd b 640 0 0 22 64 0 0 -
+#/dev/hdd b 640 0 0 22 65 1 1 15
+#/dev/hde b 640 0 0 33 0 0 0 -
+#/dev/hde b 640 0 0 33 1 1 1 15
+#/dev/hdf b 640 0 0 33 64 0 0 -
+#/dev/hdf b 640 0 0 33 65 1 1 15
+#/dev/hdg b 640 0 0 34 0 0 0 -
+#/dev/hdg b 640 0 0 34 1 1 1 15
+#/dev/hdh b 640 0 0 34 64 0 0 -
+#/dev/hdh b 640 0 0 34 65 1 1 15
+
+# SCSI Devices
+#/dev/sda b 640 0 0 8 0 0 0 -
+#/dev/sda b 640 0 0 8 1 1 1 15
+#/dev/sdb b 640 0 0 8 16 0 0 -
+#/dev/sdb b 640 0 0 8 17 1 1 15
+#/dev/sdc b 640 0 0 8 32 0 0 -
+#/dev/sdc b 640 0 0 8 33 1 1 15
+#/dev/sdd b 640 0 0 8 48 0 0 -
+#/dev/sdd b 640 0 0 8 49 1 1 15
+#/dev/sde b 640 0 0 8 64 0 0 -
+#/dev/sde b 640 0 0 8 65 1 1 15
+#/dev/sdf b 640 0 0 8 80 0 0 -
+#/dev/sdf b 640 0 0 8 81 1 1 15
+#/dev/sdg b 640 0 0 8 96 0 0 -
+#/dev/sdg b 640 0 0 8 97 1 1 15
+#/dev/sdh b 640 0 0 8 112 0 0 -
+#/dev/sdh b 640 0 0 8 113 1 1 15
+#/dev/sg c 640 0 0 21 0 0 1 15
+#/dev/scd b 640 0 0 11 0 0 1 15
+#/dev/st c 640 0 0 9 0 0 1 8
+#/dev/nst c 640 0 0 9 128 0 1 8
+#/dev/st c 640 0 0 9 32 1 1 4
+#/dev/st c 640 0 0 9 64 1 1 4
+#/dev/st c 640 0 0 9 96 1 1 4
+
+# Floppy disk devices
+#/dev/fd b 640 0 0 2 0 0 1 2
+#/dev/fd0d360 b 640 0 0 2 4 0 0 -
+#/dev/fd1d360 b 640 0 0 2 5 0 0 -
+#/dev/fd0h1200 b 640 0 0 2 8 0 0 -
+#/dev/fd1h1200 b 640 0 0 2 9 0 0 -
+#/dev/fd0u1440 b 640 0 0 2 28 0 0 -
+#/dev/fd1u1440 b 640 0 0 2 29 0 0 -
+#/dev/fd0u2880 b 640 0 0 2 32 0 0 -
+#/dev/fd1u2880 b 640 0 0 2 33 0 0 -
+
+# All the proprietary cdrom devices in the world
+#/dev/aztcd b 640 0 0 29 0 0 0 -
+#/dev/bpcd b 640 0 0 41 0 0 0 -
+#/dev/capi20 c 640 0 0 68 0 0 1 2
+#/dev/cdu31a b 640 0 0 15 0 0 0 -
+#/dev/cdu535 b 640 0 0 24 0 0 0 -
+#/dev/cm206cd b 640 0 0 32 0 0 0 -
+#/dev/sjcd b 640 0 0 18 0 0 0 -
+#/dev/sonycd b 640 0 0 15 0 0 0 -
+#/dev/gscd b 640 0 0 16 0 0 0 -
+#/dev/sbpcd b 640 0 0 25 0 0 0 -
+#/dev/sbpcd b 640 0 0 25 0 0 1 4
+#/dev/mcd b 640 0 0 23 0 0 0 -
+#/dev/optcd b 640 0 0 17 0 0 0 -
+
diff --git a/target/device/ARMLTD/mxc/target_skeleton/etc/inittab b/target/device/ARMLTD/mxc/target_skeleton/etc/inittab
new file mode 100644
index 0000000..e3540fa
--- /dev/null
+++ b/target/device/ARMLTD/mxc/target_skeleton/etc/inittab
@@ -0,0 +1,45 @@
+# /etc/inittab
+#
+# Copyright (C) 2001 Erik Andersen <andersen@codepoet.org>
+#
+# Note: BusyBox init doesn't support runlevels. The runlevels field is
+# completely ignored by BusyBox init. If you want runlevels, use
+# sysvinit.
+#
+# Format for each entry: <id>:<runlevels>:<action>:<process>
+#
+# id == tty to run on, or empty for /dev/console
+# runlevels == ignored
+# action == one of sysinit, respawn, askfirst, wait, and once
+# process == program to run
+
+# Startup the system
+null::sysinit:/bin/mount -o remount,rw /
+null::sysinit:/bin/mount -t proc proc /proc
+null::sysinit:/bin/mount -a
+null::sysinit:/bin/hostname -F /etc/hostname
+null::sysinit:/sbin/ifconfig lo 127.0.0.1 up
+null::sysinit:/sbin/route add -net 127.0.0.0 netmask 255.0.0.0 lo
+# now run any rc scripts
+::sysinit:/etc/init.d/rcS
+
+# Set up a couple of getty's
+ttymxc0::respawn:/sbin/getty 115200 ttymxc0 vt100
+
+# Put a getty on the serial port
+#ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100
+
+# Logging junk
+null::sysinit:/bin/touch /var/log/messages
+null::respawn:/sbin/syslogd -n -m 0
+null::respawn:/sbin/klogd -n
+
+# Stuff to do for the 3-finger salute
+::ctrlaltdel:/sbin/reboot
+
+# Stuff to do before rebooting
+null::shutdown:/usr/bin/killall klogd
+null::shutdown:/usr/bin/killall syslogd
+null::shutdown:/bin/umount -a -r
+null::shutdown:/sbin/swapoff -a
+
diff --git a/target/device/ARMLTD/mxc/target_skeleton/etc/securetty b/target/device/ARMLTD/mxc/target_skeleton/etc/securetty
new file mode 100644
index 0000000..b7aaea4
--- /dev/null
+++ b/target/device/ARMLTD/mxc/target_skeleton/etc/securetty
@@ -0,0 +1,14 @@
+tty1
+tty2
+tty3
+tty4
+tty5
+tty6
+tty7
+tty8
+ttyS0
+ttyS1
+ttyS2
+ttyS3
+ttymxc0
+
--
1.6.3.1
next prev parent reply other threads:[~2009-06-08 14:58 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-08 14:57 [Buildroot] [PATCH 1/2] Makefile: allow multiple values for TARGET_SKELETON Daniel Mack
2009-06-08 14:58 ` Daniel Mack [this message]
2009-06-08 15:07 ` [Buildroot] [PATCH 2/2] Add target support for MXC based devices Peter Korsgaard
2009-06-08 15:26 ` Daniel Mack
2009-06-08 18:07 ` Peter Korsgaard
2009-06-10 7:59 ` Daniel Mack
2009-06-10 18:01 ` Peter Korsgaard
2009-06-08 15:20 ` Bernhard Reutner-Fischer
2009-06-08 18:05 ` Peter Korsgaard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1244473080-8195-2-git-send-email-daniel@caiaq.de \
--to=daniel@caiaq.de \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox