source: trunk/Apps/Devel/Sources/scripts/targets/NetBSD @ 459

Last change on this file since 459 was 459, checked in by Pierre Pronchery, 11 years ago

Create devices up to tty5 (for Xynth)

File size: 4.3 KB
Line 
1#$Id: NetBSD,v 1.10 2009/05/01 20:52:19 khorben Exp $
2#Copyright (c) 2009 Pierre Pronchery <khorben@defora.org>
3
4
5
6#variables
7[ -z "$BOOT" ]          && BOOT="/usr/mdec/boot"
8[ -z "$FDISK" ]         && FDISK="fdisk"
9[ -z "$INSTALLBOOT" ]   && INSTALLBOOT="installboot"
10[ -z "$LDSO" ]          && LDSO="/libexec/ld.elf_so"
11[ -z "$MBRLABEL" ]      && MBRLABEL="mbrlabel"
12[ -z "$MKFS" ]          && MKFS="newfs"
13[ -z "$MKISOFS" ]       && MKISOFS="makefs -t cd9660"
14[ -z "$MOUNT" ]         && MOUNT="mount"
15[ -z "$UMOUNT" ]        && UMOUNT="umount"
16[ -z "$VNCONFIG" ]      && VNCONFIG="vnconfig"
17[ -z "$VND" ]           && VND="vnd0"
18
19
20#functions
21#private
22#image_image
23_image_image()
24{
25        USAGE="Options for $IMAGE_TYPE on $TARGET:
26  BOOT          Path to the bootloader
27  IMAGE_FILE    Where to write the filesystem image
28  IMAGE_KERNEL  Path to the kernel
29  IMAGE_SIZE    Size of the filesystem image in kilobytes
30  IMAGE_TYPE    The type of image to generate
31  LDSO          Path to the dynamic loader
32  MKFS          Command used to format the filesystem"
33
34        #sanity check
35        check "$USAGE" CHOWN DD DESTDIR DEVZERO FDISK IMAGE_FILE IMAGE_KERNEL \
36                IMAGE_SIZE INSTALL INSTALLBOOT LDSO LN MBRLABEL MKDIR MKFS \
37                MKNOD MOUNT MV UMOUNT VNCONFIG VND
38
39        $MKDIR "$DESTDIR"                                       || exit 2
40        $SUDO $UMOUNT "$DESTDIR"
41        $SUDO $VNCONFIG -u "$VND"
42        $DD if="$DEVZERO" of="$IMAGE_FILE" count="$IMAGE_SIZE" &&
43        $FDISK -Ffi "$IMAGE_FILE"                               || exit 2
44        SIZE=$((IMAGE_SIZE * 2 - 63))
45        $FDISK -Ffu0s "169/63/$SIZE" "$IMAGE_FILE"              || exit 2
46        $FDISK -Ffa0 "$IMAGE_FILE"                              || exit 2
47        $SUDO $VNCONFIG -c "$VND" "$IMAGE_FILE"                 || exit 2
48        $SUDO $MBRLABEL -frw "$VND"                             &&
49        $SUDO $MKFS "${VND}e"                                   &&
50        $SUDO $MOUNT "/dev/${VND}e" "$DESTDIR"                  &&
51        $SUDO $MKDIR "$DESTDIR$PREFIX"                          &&
52        $SUDO $CHOWN "$UID:$GID" "$DESTDIR$PREFIX"              &&
53        target "install"                                        &&
54        $SUDO $CHOWN -R "0:0" "$DESTDIR$PREFIX"                 &&
55        $SUDO $MKDIR "$DESTDIR/bin"                             &&
56        $SUDO $MV "$DESTDIR$PREFIX/bin/sh" "$DESTDIR/bin/sh"    &&
57        $SUDO $MKDIR "$DESTDIR/dev"                             &&
58        $SUDO $MKNOD -m 600 "$DESTDIR/dev/console" c 0 0        &&
59        $SUDO $MKNOD -m 600 "$DESTDIR/dev/fb0" c 47 0           &&
60        $SUDO $MKNOD -m 600 "$DESTDIR/dev/tty0" c 47 0          &&
61        $SUDO $MKNOD -m 600 "$DESTDIR/dev/tty1" c 47 1          &&
62        $SUDO $MKNOD -m 600 "$DESTDIR/dev/tty2" c 47 2          &&
63        $SUDO $MKNOD -m 600 "$DESTDIR/dev/tty3" c 47 3          &&
64        $SUDO $MKNOD -m 600 "$DESTDIR/dev/tty4" c 47 4          &&
65        $SUDO $MKNOD -m 600 "$DESTDIR/dev/tty5" c 47 5          &&
66        $SUDO $MKDIR "$DESTDIR/libexec" "$DESTDIR/usr/libexec"  &&
67        $SUDO $INSTALL -m 555 "$LDSO" \
68                        "$DESTDIR/libexec/ld.elf_so"            &&
69        $SUDO $LN -s "/libexec/ld.elf_so" "$DESTDIR/usr/libexec"&&
70        $SUDO $MKDIR "$DESTDIR/sbin"                            &&
71        SUBDIRS="Apps/Unix/Sources/others/tools" target oinit   &&
72        $SUDO $INSTALL -m 755 "Apps/Unix/Sources/others/tools/oinit" \
73                        "$DESTDIR/sbin/init"                    &&
74        $SUDO $MKDIR "$DESTDIR/tmp"                             &&
75        $SUDO $CHMOD "1777" "$DESTDIR/tmp"                      &&
76        $SUDO $INSTALL -m 644 "$BOOT" "$DESTDIR/boot"           &&
77        $SUDO sh -c "echo 'menu=Boot RunningBear:vesa 640x480;boot netbsd' \
78                        > $DESTDIR/boot.cfg"                    &&
79        $SUDO $INSTALL -m 755 "$IMAGE_KERNEL" "$DESTDIR/netbsd" &&
80        $SUDO $INSTALLBOOT -m "$ARCH" -o "console=pc" "/dev/r${VND}e" \
81                        "/usr/mdec/bootxx_ffsv1"
82        RET=$?
83        $SUDO $UMOUNT "$DESTDIR"
84        $SUDO $VNCONFIG -u "$VND"
85        return $RET
86}
87
88
89#image_iso
90_image_iso()
91{
92        USAGE="Options for $IMAGE_TYPE on $TARGET:
93  BOOT          Path to the bootloader
94  IMAGE_FILE    Where to write the filesystem image
95  IMAGE_KERNEL  Path to the kernel
96  IMAGE_TYPE    The type of image to generate
97  LDSO          Path to the dynamic loader
98  MKISOFS       Command used to format the filesystem"
99        MKISOFS_ARGS="-o bootimage=i386;bootxx,no-emul-boot,rockridge"
100
101        #sanity check
102        check "$USAGE" IMAGE_FILE IMAGE_KERNEL MKISOFS
103        target "install"                                        || exit 2
104        $MKDIR "$DESTDIR/dev"                                   || exit 2
105        $SUDO $MKNOD -m 600 "$DESTDIR/dev/console" c 0 0        || exit 2
106        $MKDIR "$DESTDIR/libexec" "$DESTDIR/usr/libexec"        || exit 2
107        $INSTALL -m 555 "$LDSO" "$DESTDIR/libexec/ld.elf_so"    || exit 2
108        $LN -s "/libexec/ld.elf_so" "$DESTDIR/usr/libexec"      || exit 2
109        $MKDIR "$DESTDIR/sbin"                                  || exit 2
110        SUBDIRS="Apps/Unix/src/others/tools" target oinit       || exit 2
111        $INSTALL -m 755 "Apps/Unix/src/others/tools/oinit"      \
112                        "$DESTDIR/sbin/init"                    || exit 2
113        $INSTALL -m 755 "$IMAGE_KERNEL" "$DESTDIR/netbsd"       || exit 2
114        $INSTALL -m 644 "$BOOT" "$DESTDIR/boot"                 || exit 2
115        $INSTALL -m 644 "/usr/mdec/bootxx_cd9660" "bootxx"      || exit 2
116        $INSTALLBOOT -m "$ARCH" -o "console=pc" -e bootxx       || exit 2
117        $MKISOFS $MKISOFS_ARGS "$IMAGE_FILE" "$DESTDIR"         || exit 2
118}
Note: See TracBrowser for help on using the repository browser.