1

[root @ bsd /root] # uname -a FreeBSD bsd.localdomain 7.4-RELEASE FreeBSD 7.4-RELEASE # 0: четверг, 17 февраля 03:51:56 UTC 2011 root@walker.cse.buffalo.edu: /usr /obj /usr /src /sys /GENERIC i386

Когда я бегу, я получаю следующее:

[root@bsd /usr/src/tools/tools/nanobsd]# sh -x nanobsd.sh -c custom.conf
+ set -e
+ NANO_NAME=full
+ NANO_SRC=/usr/src
+ NANO_TOOLS=tools/tools/nanobsd
+ NANO_PACKAGE_DIR=/usr/src/tools/tools/nanobsd/Pkg
+ NANO_PACKAGE_LIST=*
+ NANO_PMAKE=make -j 3
+ NANO_IMGNAME=_.disk.full
+ CONF_BUILD=
+ CONF_INSTALL=
+ CONF_WORLD=
+ NANO_KERNEL=GENERIC
+ NANO_CUSTOMIZE=
+ NANO_LATE_CUSTOMIZE=
+ NANO_NEWFS=-b 4096 -f 512 -i 8192 -O1 -U
+ NANO_DRIVE=ad0
+ NANO_MEDIASIZE=1200000
+ NANO_IMAGES=2
+ NANO_INIT_IMG2=1
+ NANO_CODESIZE=0
+ NANO_CONFSIZE=2048
+ NANO_DATASIZE=0
+ NANO_RAM_ETCSIZE=10240
+ NANO_RAM_TMPVARSIZE=10240
+ NANO_SECTS=63
+ NANO_HEADS=16
+ NANO_BOOT0CFG=-o packet -s 1 -m 3
+ NANO_BOOTLOADER=boot/boot0sio
+ NANO_MD_BACKING=file
+ PPLEVEL=4
+ NANO_ARCH=i386
+ do_clean=true
+ do_kernel=true
+ do_world=true
+ do_image=true
+ set +e
+ getopt bc:hiknqvw -c custom.conf
+ args= -c custom.conf --
+ [ 0 -ne 0 ]
+ set -e
+ set -- -c custom.conf --
+ . custom.conf
+ NANO_NAME=CUSTOM
+ NANO_KERNEL=CUSTOM
+ NANO_PMAKE=make -j 12
+
: not found

Файл CUSTOM находится в /usr /src /sys /i386 /conf /

Это работает, когда я запускаю только # sh nanobsd.sh.

Мой custom.conf

NANO_NAME=CUSTOM
NANO_KERNEL=CUSTOM
#NANO_MD_BACKING=swap
NANO_PMAKE="make -j 12"

#NANO_PACKAGE_LIST='. -name *.tbz'
CONF_BUILD='
'

CONF_INSTALL='
WITHOUT_TOOLCHAIN=YES
WITHOUT_CPP=YES
WITHOUT_INSTALLLIB=YES
'

CONF_WORLD='
NO_MODULES=YES
WITHOUT_ACPI=YES
WITHOUT_ASSERT_DEBUG=YES
WITHOUT_ATM=YES
WITHOUT_AUDIT=YES
WITHOUT_AUTHPF=YES
WITHOUT_BIND=YES
WITHOUT_BLUETOOTH=YES
WITHOUT_CALENDAR=YES
WITHOUT_CDDL=YES
WITHOUT_CVS=YES
WITHOUT_DICT=YES
WITHOUT_DYNAMICROOT=YES
WITHOUT_EXAMPLES=YES
WITHOUT_FORTRAN=YES
WITHOUT_GAMES=YES
WITHOUT_GCOV=YES
WITHOUT_GDB=YES
WITHOUT_GPIB=YES
WITHOUT_GROFF=YES
WITHOUT_HTML=YES
WITHOUT_I4B=YES
WITHOUT_INFO=YES
WITHOUT_IPFILTER=YES
WITHOUT_IPX=YES
WITHOUT_KERBEROS=YES
WITHOUT_LPR=YES
WITHOUT_MAILWRAPPER=YES
WITHOUT_MAN=YES
WITHOUT_NCP=YES
WITHOUT_NETCAT=YES
WITHOUT_NIS=YES
WITHOUT_NS_CACHING=YES
WITHOUT_OBJC=YES
WITHOUT_PF=YES
WITHOUT_PROFILE=YES
WITHOUT_RCMDS=YES
WITHOUT_RCS=YES
WITHOUT_RESCUE=YES
WITHOUT_SENDMAIL=YES
WITHOUT_SHAREDOCS=YES
WITHOUT_SSP=YES
WITHOUT_SYSCONS=YES
WITHOUT_USB=YES
WITHOUT_ZFS=YES
WITHOUT_ZONEINFO=YES
'


BAR='
WITHOUT_NLS=YES
WITHOUT_NLS_CATALOGS=YES
WITHOUT_NETGRAPH=YES
'
FlashDevice sandisk 1g

cust_nobeastie() (
    touch ${NANO_WORLDDIR}/boot/loader.conf
    echo "beastie_disable=\"YES\"" >> ${NANO_WORLDDIR}/boot/loader.conf
)


customize_cmd cust_comconsole
#customize_cmd cust_pkg
customize_cmd cust_allow_ssh_root
customize_cmd cust_install_files
customize_cmd cust_nobeastie

Пожалуйста, отметьте nanobsd по этому вопросу.

1 ответ1

2

Похоже, что есть ошибка в явно пустой строке после NANO_PMAKE="make -j 12" . Объяснение, которое приходит на ум, заключается в том, что в этом файле есть окончания строк Windows. Windows использует двухсимвольную последовательность \015\012 (\r\n) для хранения окончания строки, в то время как Unix использует один символ \012 (\n), поэтому строка в текстовом файле Windows имеет ложный символ \r в конце, когда читается под Unix. Это вызывает проблему без вывода сообщений в первых нескольких строках, где \r становится частью значения переменной, и видимую проблему в пустой строке, где оболочка пытается интерпретировать \r как имя команды.

Запустите dos2unix custom.conf (IIRC dos2unix находится в порту на FreeBSD) или perl -i -pe 's/\r$//' custom.conf . В будущем, будьте внимательны при редактировании файла Unix под Windows - обязательно используйте окончания строк Unix, или конвертируйте при копировании файла, или просто отредактируйте файл непосредственно под Unix.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .