nanobsd.sh outputs ': não encontrado'

1

[root @ bsd / root] # uname -a     FreeBSD bsd.localdomain 7.4-RELEASE FreeBSD 7.4-RELEASE # 0: Qui 17 de fevereiro 03:51:56 UTC 2011 [email protected]: /usr/obj/usr/src/sys/ GENERIC i386

Quando corro, recebo o seguinte:

[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

O arquivo CUSTOM está presente em / usr / src / sys / i386 / conf /

Funciona quando eu só executo # sh nanobsd.sh.

Meu 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

Por favor marque nanobsd nesta questão.

    
por CS01 24.05.2011 / 09:38

1 resposta

2

Parece que há um bug na linha aparentemente vazia após NANO_PMAKE="make -j 12" . A explicação que vem à mente é que você tem finais de linha do Windows nesse arquivo. O Windows usa a sequência de dois caracteres 52 ( \r\n ) para armazenar uma linha terminando, enquanto o unix usa o caractere único 2 ( \n ), portanto, uma linha em um arquivo de texto do Windows possui um \r espúrio personagem no final quando lido em unix. Isso causa um problema silencioso nas primeiras linhas, onde o \r se torna parte do valor da variável e um problema visível na linha vazia onde o shell tenta interpretar \r como um nome de comando.

Execute dos2unix custom.conf (IIRC dos2unix está em uma porta no FreeBSD) ou perl -i -pe 's/\r$//' custom.conf . No futuro, preste atenção ao editar um arquivo unix no Windows - certifique-se de usar finais de linha unix, ou converter ao copiar o arquivo, ou apenas edite o arquivo diretamente sob unix.

    
por 24.05.2011 / 10:08

Tags