From 268b374f02d93a5df6f8f21e62a46c82e700cd92 Mon Sep 17 00:00:00 2001 From: Jonathan Maw Date: Tue, 26 Feb 2013 11:36:34 +0000 Subject: Use 'devices' in morphology to create device nodes Allowing arbitrary code to create device nodes is a bad idea, so it is preferred to build under linux-user-chroot. Since we need to create device nodes, a "devices" field is added to the chunk morphology, which describes which devices nodes are to be created, and how. This commit will not work without the corresponding changes to morph. Reviewed-by: Lars Wirzenius --- create-dev-nodes | 37 ------------------------------------- fhs-dirs.morph | 48 +++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 47 insertions(+), 38 deletions(-) delete mode 100755 create-dev-nodes diff --git a/create-dev-nodes b/create-dev-nodes deleted file mode 100755 index f84c98e..0000000 --- a/create-dev-nodes +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/sh -# -# Create FHS directories below a target directory. -# -# Copyright (C) 2011 Codethink Limited -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; version 2 of the License. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -set -e - -if [ "$#" != 1 ] -then - echo "Error: must give target root directory as argument." 1>&2 - exit 1 -fi - -DESTDIR=$1 -while read path mode type major minor; do - mknod -m "$mode" "$DESTDIR/$path" "$type" "$major" "$minor" -done < \"$DESTDIR\"/etc/hostname" + ], + "devices": [ + { + "filename": "/dev/console", + "uid": 0, + "gid": 0, + "type": "c", + "major": 5, + "minor": 1, + "permissions": "0600" + }, + { + "filename": "/dev/full", + "uid": 0, + "gid": 0, + "type": "c", + "major": 1, + "minor": 7, + "permissions": "0666" + }, + { + "filename": "/dev/null", + "uid": 0, + "gid": 0, + "type": "c", + "major": 1, + "minor": 3, + "permissions": "0666" + }, + { + "filename": "/dev/urandom", + "uid": 0, + "gid": 0, + "type": "c", + "major": 1, + "minor": 9, + "permissions": "0666" + }, + { + "filename": "/dev/zero", + "uid": 0, + "gid": 0, + "type": "c", + "major": 1, + "minor": 5, + "permissions": "0666" + } ] } -- cgit v1.2.1